401 lines
18 KiB
JSON
401 lines
18 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "AITokenRegistry",
|
|
"sourceName": "contracts/AITokenRegistry.sol",
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "admin",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "AccessControlBadConfirmation",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "neededRole",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "AccessControlUnauthorizedAccount",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "provider",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "collateral",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "ProviderRegistered",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "provider",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "active",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "collateral",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "ProviderUpdated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "previousAdminRole",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "newAdminRole",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "RoleAdminChanged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "RoleGranted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "RoleRevoked",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "COORDINATOR_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "DEFAULT_ADMIN_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getRoleAdmin",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "grantRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "hasRole",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "provider",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "providerInfo",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "active",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "collateral",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"internalType": "struct AITokenRegistry.ProviderInfo",
|
|
"name": "",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "providers",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "active",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "collateral",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "provider",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "collateral",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "registerProvider",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "callerConfirmation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "renounceRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "revokeRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "interfaceId",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"name": "supportsInterface",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "provider",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "active",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "collateral",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "updateProvider",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x608060405234801561001057600080fd5b506040516109d13803806109d183398101604081905261002f916100ed565b61003a600082610041565b505061011d565b6000828152602081815260408083206001600160a01b038516845290915281205460ff166100e3576000838152602081815260408083206001600160a01b03861684529091529020805460ff1916600117905561009b3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016100e7565b5060005b92915050565b6000602082840312156100ff57600080fd5b81516001600160a01b038116811461011657600080fd5b9392505050565b6108a58061012c6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80633ae25916116100715780633ae25916146101915780636b366cb51461020857806391d148541461022f578063a217fddf14610242578063d11905651461024a578063d547741f1461025d57600080fd5b806301ffc9a7146100b95780630787bc27146100e15780631af431a714610125578063248a9ca31461013a5780632f2ff15d1461016b57806336568abe1461017e575b600080fd5b6100cc6100c7366004610754565b610270565b60405190151581526020015b60405180910390f35b61010e6100ef3660046107a1565b6001602081905260009182526040909120805491015460ff9091169082565b6040805192151583526020830191909152016100d8565b6101386101333660046107bc565b6102a7565b005b61015d6101483660046107e6565b60009081526020819052604090206001015490565b6040519081526020016100d8565b6101386101793660046107ff565b6103f5565b61013861018c3660046107ff565b610420565b6101eb61019f3660046107a1565b6040805180820190915260008082526020820152506001600160a01b03166000908152600160208181526040928390208351808501909452805460ff1615158452909101549082015290565b6040805182511515815260209283015192810192909252016100d8565b61015d7f2e8b98eef02e8df3bd27d1270ded3bea3d14db99c5234c7b14001a7fff957bcc81565b6100cc61023d3660046107ff565b610458565b61015d600081565b61013861025836600461082b565b610481565b61013861026b3660046107ff565b6105e8565b60006001600160e01b03198216637965db0b60e01b14806102a157506301ffc9a760e01b6001600160e01b03198316145b92915050565b7f2e8b98eef02e8df3bd27d1270ded3bea3d14db99c5234c7b14001a7fff957bcc6102d18161060d565b6001600160a01b03831661031f5760405162461bcd60e51b815260206004820152601060248201526f34b73b30b634b210383937bb34b232b960811b60448201526064015b60405180910390fd5b6001600160a01b03831660009081526001602052604090205460ff161561037d5760405162461bcd60e51b8152602060048201526012602482015271185b1c9958591e481c9959da5cdd195c995960721b6044820152606401610316565b604080518082018252600180825260208083018681526001600160a01b03881660008181528484528690209451855460ff19169015151785559051939092019290925591518481527f90c9734131c1e4fb36cde2d71e6feb93fb258f71be8a85411c173d25e1516e80910160405180910390a2505050565b6000828152602081905260409020600101546104108161060d565b61041a838361061a565b50505050565b6001600160a01b03811633146104495760405163334bd91960e11b815260040160405180910390fd5b61045382826106ac565b505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b7f2e8b98eef02e8df3bd27d1270ded3bea3d14db99c5234c7b14001a7fff957bcc6104ab8161060d565b6001600160a01b0384166104f45760405162461bcd60e51b815260206004820152601060248201526f34b73b30b634b210383937bb34b232b960811b6044820152606401610316565b6001600160a01b03841660009081526001602052604090205460ff16806105185750825b6105645760405162461bcd60e51b815260206004820152601760248201527f70726f7669646572206e6f7420726567697374657265640000000000000000006044820152606401610316565b60408051808201825284151580825260208083018681526001600160a01b03891660008181526001808552908790209551865460ff1916901515178655915194909101939093558351918252810185905290917fe226f4be7d881611b5a3ddc83f2e771728014b8012359a29890cd3d670c43dc8910160405180910390a250505050565b6000828152602081905260409020600101546106038161060d565b61041a83836106ac565b6106178133610717565b50565b60006106268383610458565b6106a4576000838152602081815260408083206001600160a01b03861684529091529020805460ff1916600117905561065c3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016102a1565b5060006102a1565b60006106b88383610458565b156106a4576000838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016102a1565b6107218282610458565b6107505760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610316565b5050565b60006020828403121561076657600080fd5b81356001600160e01b03198116811461077e57600080fd5b9392505050565b80356001600160a01b038116811461079c57600080fd5b919050565b6000602082840312156107b357600080fd5b61077e82610785565b600080604083850312156107cf57600080fd5b6107d883610785565b946020939093013593505050565b6000602082840312156107f857600080fd5b5035919050565b6000806040838503121561081257600080fd5b8235915061082260208401610785565b90509250929050565b60008060006060848603121561084057600080fd5b61084984610785565b92506020840135801515811461085e57600080fd5b92959294505050604091909101359056fea2646970667358221220dcf376f102b1bc83ced9d7af3d5eb71077444d1080da7a114dd7fe4bff0ad28664736f6c63430008180033",
|
|
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80633ae25916116100715780633ae25916146101915780636b366cb51461020857806391d148541461022f578063a217fddf14610242578063d11905651461024a578063d547741f1461025d57600080fd5b806301ffc9a7146100b95780630787bc27146100e15780631af431a714610125578063248a9ca31461013a5780632f2ff15d1461016b57806336568abe1461017e575b600080fd5b6100cc6100c7366004610754565b610270565b60405190151581526020015b60405180910390f35b61010e6100ef3660046107a1565b6001602081905260009182526040909120805491015460ff9091169082565b6040805192151583526020830191909152016100d8565b6101386101333660046107bc565b6102a7565b005b61015d6101483660046107e6565b60009081526020819052604090206001015490565b6040519081526020016100d8565b6101386101793660046107ff565b6103f5565b61013861018c3660046107ff565b610420565b6101eb61019f3660046107a1565b6040805180820190915260008082526020820152506001600160a01b03166000908152600160208181526040928390208351808501909452805460ff1615158452909101549082015290565b6040805182511515815260209283015192810192909252016100d8565b61015d7f2e8b98eef02e8df3bd27d1270ded3bea3d14db99c5234c7b14001a7fff957bcc81565b6100cc61023d3660046107ff565b610458565b61015d600081565b61013861025836600461082b565b610481565b61013861026b3660046107ff565b6105e8565b60006001600160e01b03198216637965db0b60e01b14806102a157506301ffc9a760e01b6001600160e01b03198316145b92915050565b7f2e8b98eef02e8df3bd27d1270ded3bea3d14db99c5234c7b14001a7fff957bcc6102d18161060d565b6001600160a01b03831661031f5760405162461bcd60e51b815260206004820152601060248201526f34b73b30b634b210383937bb34b232b960811b60448201526064015b60405180910390fd5b6001600160a01b03831660009081526001602052604090205460ff161561037d5760405162461bcd60e51b8152602060048201526012602482015271185b1c9958591e481c9959da5cdd195c995960721b6044820152606401610316565b604080518082018252600180825260208083018681526001600160a01b03881660008181528484528690209451855460ff19169015151785559051939092019290925591518481527f90c9734131c1e4fb36cde2d71e6feb93fb258f71be8a85411c173d25e1516e80910160405180910390a2505050565b6000828152602081905260409020600101546104108161060d565b61041a838361061a565b50505050565b6001600160a01b03811633146104495760405163334bd91960e11b815260040160405180910390fd5b61045382826106ac565b505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b7f2e8b98eef02e8df3bd27d1270ded3bea3d14db99c5234c7b14001a7fff957bcc6104ab8161060d565b6001600160a01b0384166104f45760405162461bcd60e51b815260206004820152601060248201526f34b73b30b634b210383937bb34b232b960811b6044820152606401610316565b6001600160a01b03841660009081526001602052604090205460ff16806105185750825b6105645760405162461bcd60e51b815260206004820152601760248201527f70726f7669646572206e6f7420726567697374657265640000000000000000006044820152606401610316565b60408051808201825284151580825260208083018681526001600160a01b03891660008181526001808552908790209551865460ff1916901515178655915194909101939093558351918252810185905290917fe226f4be7d881611b5a3ddc83f2e771728014b8012359a29890cd3d670c43dc8910160405180910390a250505050565b6000828152602081905260409020600101546106038161060d565b61041a83836106ac565b6106178133610717565b50565b60006106268383610458565b6106a4576000838152602081815260408083206001600160a01b03861684529091529020805460ff1916600117905561065c3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016102a1565b5060006102a1565b60006106b88383610458565b156106a4576000838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016102a1565b6107218282610458565b6107505760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610316565b5050565b60006020828403121561076657600080fd5b81356001600160e01b03198116811461077e57600080fd5b9392505050565b80356001600160a01b038116811461079c57600080fd5b919050565b6000602082840312156107b357600080fd5b61077e82610785565b600080604083850312156107cf57600080fd5b6107d883610785565b946020939093013593505050565b6000602082840312156107f857600080fd5b5035919050565b6000806040838503121561081257600080fd5b8235915061082260208401610785565b90509250929050565b60008060006060848603121561084057600080fd5b61084984610785565b92506020840135801515811461085e57600080fd5b92959294505050604091909101359056fea2646970667358221220dcf376f102b1bc83ced9d7af3d5eb71077444d1080da7a114dd7fe4bff0ad28664736f6c63430008180033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|