0 txs
793 calls
constructor
constructor(address _aiOracle, address _randOracle)
functions
aiOracle
viewfunction aiOracle() view returns (address)
allowlist
viewfunction allowlist(address) view returns (bool)
operator
viewfunction operator() view returns (address)
owner
viewfunction owner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
randOracle
viewfunction randOracle() view returns (address)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
addToAllowlist
nonpayablefunction addToAllowlist(address _address)
initialize
nonpayablefunction initialize(address _owner)
renounceOwnership
nonpayablefunction renounceOwnership()
requestAIOracleBatchInference
payablefunction requestAIOracleBatchInference(uint256 batchSize, uint256 modelId, bytes input, address callbackContract, uint64 gasLimit, bytes callbackData, uint8 inputDA, uint8 outputDA) payable returns (uint256)
requestRandOracle
payablefunction requestRandOracle(uint256 modelId, bytes requestEntropy, address callbackAddr, uint64 gasLimit, bytes callbackData) payable returns (uint256)
setOperator
nonpayablefunction setOperator(address newOperator)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdrawETH
nonpayablefunction withdrawETH(address recipient, uint256 amount)
events
Initialized
event Initialized(uint64 version)
OperatorUpdate
event OperatorUpdate(address newOperator)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ReceivedETH
event ReceivedETH(address sender, uint256 amount)
TokenWithdrawal
event TokenWithdrawal(address recipient, uint256 amount)
Upgraded
event Upgraded(address indexed implementation)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedInnerCall
error FailedInnerCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UnauthorizedCaller
error UnauthorizedCaller()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
ZeroAddress
error ZeroAddress()
creation bytecode
0x60e060405230608052348015610013575f5ffd5b506040516119ba3803806119ba8339810160408190526100329161011a565b6001600160a01b0380831660a052811660c05261004d610054565b5050610152565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100a45760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146101035780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6001600160a01b0381168114610103575f5ffd5b5f5f6040838503121561012b575f5ffd5b825161013681610106565b602084015190925061014781610106565b809150509250929050565b60805160a05160c0516118066101b45f395f81816103390152818161049d015261051201525f818161014601528181610796015281816108220152818161089201526108ff01525f8181610b3901528181610b620152610ca101526118065ff3fe6080604052600436106100f2575f3560e01c8063a7cd52cb11610087578063d7f490be11610057578063d7f490be14610315578063e36298d714610328578063f2fde38b1461035b578063f8e86ece1461037a575f5ffd5b8063a7cd52cb1461025c578063ad3cb1cc1461029a578063b3ab15fb146102d7578063c4d66de8146102f6575f5ffd5b8063570ca735116100c2578063570ca735146101db578063715018a6146101f95780638da5cb5b1461020d5780639ed2228914610249575f5ffd5b806331b221cd146101355780634782f779146101855780634f1ef286146101a657806352d1902d146101b9575f5ffd5b3661013157604080513381523460208201527f4103257eaac983ca79a70d28f90dfc4fa16b619bb0c17ee7cab0d4034c279624910160405180910390a1005b5f5ffd5b348015610140575f5ffd5b506101687f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610190575f5ffd5b506101a461019f36600461127c565b610399565b005b6101a46101b4366004611343565b6103fa565b3480156101c4575f5ffd5b506101cd610419565b60405190815260200161017c565b3480156101e6575f5ffd5b505f54610168906001600160a01b031681565b348015610204575f5ffd5b506101a4610434565b348015610218575f5ffd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610168565b6101cd6102573660046113ee565b610447565b348015610267575f5ffd5b5061028a610276366004611487565b60016020525f908152604090205460ff1681565b604051901515815260200161017c565b3480156102a5575f5ffd5b506102ca604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161017c91906114d0565b3480156102e2575f5ffd5b506101a46102f1366004611487565b6105b7565b348015610301575f5ffd5b506101a4610310366004611487565b610639565b6101cd6103233660046114f0565b610745565b348015610333575f5ffd5b506101687f000000000000000000000000000000000000000000000000000000000000000081565b348015610366575f5ffd5b506101a4610375366004611487565b6109a9565b348015610385575f5ffd5b506101a4610394366004611487565b6109eb565b6103a1610a3b565b6103b46001600160a01b03831682610a96565b604080516001600160a01b0384168152602081018390527feddb53e10e60b3a2396b4222b3db092137bdbf7a6fecceaf2b0b438ff0ddc66e910160405180910390a15050565b610402610b2e565b61040b82610bd2565b6104158282610bda565b5050565b5f610422610c96565b505f5160206117b15f395f51905f5290565b61043c610a3b565b6104455f610cdf565b565b335f9081526001602052604081205460ff1661047657604051635c427cd960e01b815260040160405180910390fd5b604051631b3170cd60e31b8152600481018990526001600160401b03851660248201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d98b866890604401602060405180830381865afa1580156104ea573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050e91906115a8565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630cd883e6828b8b8b8b8b8b8b6040518963ffffffff1660e01b815260040161056997969594939291906115e7565b60206040518083038185885af1158015610585573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906105aa91906115a8565b9998505050505050505050565b6105bf610a3b565b6001600160a01b0381166105e65760405163d92e233d60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f8b9a92026195cd3d3f7179ff70a9547e5cbfa9dd600d55b62ab66f2003158a459060200160405180910390a150565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03165f8115801561067d5750825b90505f826001600160401b031660011480156106985750303b155b9050811580156106a6575080155b156106c45760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156106ee57845460ff60401b1916600160401b1785555b6106f786610d4f565b831561073d57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b335f9081526001602052604081205460ff1661077457604051635c427cd960e01b815260040160405180910390fd5b604051631b4d85a560e21b8152600481018990525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d3616949060240161010060405180830381865afa1580156107dc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610800919061164e565b5093975092955050506001600160a01b03841615925061085c9150505761085c7f000000000000000000000000000000000000000000000000000000000000000061084b8d856116ca565b6001600160a01b0384169190610d60565b604051635170b6af60e01b8152600481018b90526001600160401b0388166024820152604481018c90525f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635170b6af90606401602060405180830381865afa1580156108d7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fb91906115a8565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663409694fa828e8e8e8e8e8e8e8e6040518a63ffffffff1660e01b8152600401610958989796959493929190611701565b60206040518083038185885af1158015610974573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061099991906115a8565b9c9b505050505050505050505050565b6109b1610a3b565b6001600160a01b0381166109df57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6109e881610cdf565b50565b5f546001600160a01b03163314610a1557604051635c427cd960e01b815260040160405180910390fd5b6001600160a01b03165f908152600160208190526040909120805460ff19169091179055565b33610a6d7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104455760405163118cdaa760e01b81523360048201526024016109d6565b80471015610ab95760405163cd78605960e01b81523060048201526024016109d6565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610b02576040519150601f19603f3d011682016040523d82523d5f602084013e610b07565b606091505b5050905080610b2957604051630a12f52160e11b815260040160405180910390fd5b505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610bb457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ba85f5160206117b15f395f51905f52546001600160a01b031690565b6001600160a01b031614155b156104455760405163703e46dd60e11b815260040160405180910390fd5b6109e8610a3b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610c34575060408051601f3d908101601f19168201909252610c31918101906115a8565b60015b610c5c57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016109d6565b5f5160206117b15f395f51905f528114610c8c57604051632a87526960e21b8152600481018290526024016109d6565b610b298383610ded565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104455760405163703e46dd60e11b815260040160405180910390fd5b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b610d57610e42565b6109e881610e8b565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa158015610dad573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd191906115a8565b9050610de78484610de2858561176e565b610e93565b50505050565b610df682610f46565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115610e3a57610b298282610fa9565b61041561101d565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661044557604051631afcd79f60e31b815260040160405180910390fd5b6109b1610e42565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610ee4848261103c565b610de757604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610f3c9085906110d9565b610de784826110d9565b806001600160a01b03163b5f03610f7b57604051634c9c8ce360e01b81526001600160a01b03821660048201526024016109d6565b5f5160206117b15f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051610fc59190611781565b5f60405180830381855af49150503d805f8114610ffd576040519150601f19603f3d011682016040523d82523d5f602084013e611002565b606091505b509150915061101285838361113a565b925050505b92915050565b34156104455760405163b398979f60e01b815260040160405180910390fd5b5f5f5f846001600160a01b0316846040516110579190611781565b5f604051808303815f865af19150503d805f8114611090576040519150601f19603f3d011682016040523d82523d5f602084013e611095565b606091505b50915091508180156110bf5750805115806110bf5750808060200190518101906110bf9190611797565b80156110125750505050506001600160a01b03163b151590565b5f6110ed6001600160a01b03841683611199565b905080515f1415801561111157508080602001905181019061110f9190611797565b155b15610b2957604051635274afe760e01b81526001600160a01b03841660048201526024016109d6565b60608261114f5761114a826111a6565b611192565b815115801561116657506001600160a01b0384163b155b1561118f57604051639996b31560e01b81526001600160a01b03851660048201526024016109d6565b50805b9392505050565b606061119283835f6111cf565b8051156111b65780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6060814710156111f45760405163cd78605960e01b81523060048201526024016109d6565b5f5f856001600160a01b0316848660405161120f9190611781565b5f6040518083038185875af1925050503d805f8114611249576040519150601f19603f3d011682016040523d82523d5f602084013e61124e565b606091505b509150915061125e86838361113a565b9695505050505050565b6001600160a01b03811681146109e8575f5ffd5b5f5f6040838503121561128d575f5ffd5b823561129881611268565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126112c9575f5ffd5b81356001600160401b038111156112e2576112e26112a6565b604051601f8201601f19908116603f011681016001600160401b0381118282101715611310576113106112a6565b604052818152838201602001851015611327575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f60408385031215611354575f5ffd5b823561135f81611268565b915060208301356001600160401b03811115611379575f5ffd5b611385858286016112ba565b9150509250929050565b5f5f83601f84011261139f575f5ffd5b5081356001600160401b038111156113b5575f5ffd5b6020830191508360208285010111156113cc575f5ffd5b9250929050565b80356001600160401b03811681146113e9575f5ffd5b919050565b5f5f5f5f5f5f5f60a0888a031215611404575f5ffd5b8735965060208801356001600160401b03811115611420575f5ffd5b61142c8a828b0161138f565b909750955050604088013561144081611268565b935061144e606089016113d3565b925060808801356001600160401b03811115611468575f5ffd5b6114748a828b0161138f565b989b979a50959850939692959293505050565b5f60208284031215611497575f5ffd5b813561119281611268565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61119260208301846114a2565b8035600381106113e9575f5ffd5b5f5f5f5f5f5f5f5f610100898b031215611508575f5ffd5b883597506020890135965060408901356001600160401b0381111561152b575f5ffd5b6115378b828c016112ba565b965050606089013561154881611268565b945061155660808a016113d3565b935060a08901356001600160401b03811115611570575f5ffd5b61157c8b828c016112ba565b93505061158b60c08a016114e2565b915061159960e08a016114e2565b90509295985092959890939650565b5f602082840312156115b8575f5ffd5b5051919050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b87815260a060208201525f61160060a08301888a6115bf565b6001600160a01b03871660408401526001600160401b038616606084015282810360808401526116318185876115bf565b9a9950505050505050505050565b805180151581146113e9575f5ffd5b5f5f5f5f5f5f5f5f610100898b031215611666575f5ffd5b885160208a015160408b015160608c0151929a50909850965061168881611268565b60808a015160a08b015160c08c015192975090955093506116a881611268565b915061159960e08a0161163f565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417611017576110176116b6565b600381106116fd57634e487b7160e01b5f52602160045260245ffd5b9052565b88815287602082015261010060408201525f6117216101008301896114a2565b6001600160a01b03881660608401526001600160401b038716608084015282810360a084015261175181876114a2565b91505061176160c08301856116e1565b6105aa60e08301846116e1565b80820180821115611017576110176116b6565b5f82518060208501845e5f920191825250919050565b5f602082840312156117a7575f5ffd5b6111928261163f56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212207537e781bd8e508d56453ba4ce72829124b25ff226ffbcc21f4503376b92e51864736f6c634300081c00330000000000000000000000000a0f4321214bb6c7811dd8a71cf587bdaf03f0a0000000000000000000000000e9e31fb334210274ba5b9c69872c6fe9bb2b1200