7 txs
897 calls
constructor
constructor(address _brevisProof)
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
brevisProof
viewfunction brevisProof() view returns (address)
CAMPAIGN_ROLE
viewfunction CAMPAIGN_ROLE() view returns (bytes32)
getRoleAccounts
viewfunction getRoleAccounts(bytes32 role) view returns (address[] accounts)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
numRoleAccounts
viewfunction numRoleAccounts(bytes32 role) view returns (uint256)
owner
viewfunction owner() view returns (address)
roleAccounts
viewfunction roleAccounts(bytes32 role, uint256) view returns (address accounts)
roles
viewfunction roles(bytes32 role, address account) view returns (bool)
validateAggProofData
viewfunction validateAggProofData(uint64 _chainId, tuple[] _proofDataArray) view
validateProofAppData
viewfunction validateProofAppData(bytes32 _requestId, bytes32 _appCommitHash, bytes32 _appVkHash) view returns (bool)
addAdmin
nonpayablefunction addAdmin(address _admin)
addCampaigns
nonpayablefunction addCampaigns(address[] _campaigns)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
grantRoles
nonpayablefunction grantRoles(bytes32 role, address[] accounts)
removeAdmin
nonpayablefunction removeAdmin(address _admin)
removeCampaigns
nonpayablefunction removeCampaigns(address[] _campaigns)
renounceRole
nonpayablefunction renounceRole(bytes32 role)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
revokeRoles
nonpayablefunction revokeRoles(bytes32 role, address[] accounts)
setBrevisProof
nonpayablefunction setBrevisProof(address _brevisProof)
submitAggProof
nonpayablefunction submitAggProof(uint64 _chainId, bytes32[] _requestIds, bytes _proofWithPubInputs)
submitProof
nonpayablefunction submitProof(uint64 _chainId, bytes _proofWithPubInputs) returns (bytes32 requestId, bytes32 appCommitHash, bytes32 appVkHash)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
BrevisProofUpdated
event BrevisProofUpdated(address from, address to)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RoleGranted
event RoleGranted(bytes32 role, address account)
RoleRevoked
event RoleRevoked(bytes32 role, address account)
errors
No errors.
creation bytecode
0x60803460b557601f611f5638819003918201601f19168301916001600160401b0383118484101760b95780849260209460405283398101031260b557516001600160a01b0381169081900360b5575f8054336001600160a01b0319821681178355604051939290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3600380546001600160a01b031916919091179055611e8890816100ce8239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f5f3560e01c80630ec693ea1461124e5780631785f53c1461120b578063196f0f621461119d5780631d28e83414610f535780632f2ff15d14610f0d5780633bda38a314610dbc57806346cc03d814610d815780637048027514610b0a57806375b238fc14610acf5780638bb9c5bf14610ab15780638da5cb5b14610a7e57806390178370146109a357806391d1485414610972578063a1b5ff0814610948578063b4f7a72714610781578063bceec4e1146106b1578063c772c87f146105ec578063c7f5aaa0146105b8578063d547741f1461056e578063deb9a3a2146104f9578063e044095314610369578063e1ed0a8214610296578063f2fde38b1461017c5763f8fc08b914610122575f80fd5b346101795760406003193601126101795773ffffffffffffffffffffffffffffffffffffffff6040610152611310565b92600435815260016020522091165f52602052602060ff60405f2054166040519015158152f35b80fd5b5034610179576020600319360112610179576101966112ed565b81549073ffffffffffffffffffffffffffffffffffffffff808316916101bd338414611470565b16918215610212577fffffffffffffffffffffffff000000000000000000000000000000000000000016821783557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b5034610179576020600319360112610179576004358152600260205260408120604051908160208254918281520190819285526020852090855b81811061033d57505050826102e6910383611333565b604051928392602084019060208552518091526040840192915b81811061030e575050500390f35b825173ffffffffffffffffffffffffffffffffffffffff16845285945060209384019390920191600101610300565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016102d0565b50346101795760406003193601126101795761038361142b565b60243567ffffffffffffffff81116104f5576103a56060913690600401611442565b90927fc446372802fc3419d51d169d27b034f2f22c2f5650596653a4ac875e6ce55873855260016020526040852073ffffffffffffffffffffffffffffffffffffffff33165f526020526103ff60ff60405f2054166114e9565b67ffffffffffffffff8573ffffffffffffffffffffffffffffffffffffffff600354169261046a604051978896879586947fe044095300000000000000000000000000000000000000000000000000000000865216600485015260406024850152604484019161154e565b03925af180156104ea5782918380926104a5575b50506104a190604051938493846040919493926060820195825260208201520152565b0390f35b92509250506060823d6060116104e2575b816104c360609383611333565b810103126101795750805160208201516040909201516104a15f61047e565b3d91506104b6565b6040513d84823e3d90fd5b8280fd5b503461017957610508366113f8565b61052c73ffffffffffffffffffffffffffffffffffffffff84939454163314611470565b815b815181101561056a578061056473ffffffffffffffffffffffffffffffffffffffff61055c600194866114d5565b511686611d40565b0161052e565b8280f35b5034610179576040600319360112610179576105b561058b611310565b6105ad73ffffffffffffffffffffffffffffffffffffffff8454163314611470565b600435611b4b565b80f35b5034610179578060031936011261017957602073ffffffffffffffffffffffffffffffffffffffff60035416604051908152f35b5034610179576020600319360112610179577fddb7d4b45d521a6718ed9ccac62f1faa18b869772bca7e77ab6f392912a4ec1860406106296112ed565b61064b73ffffffffffffffffffffffffffffffffffffffff8554163314611470565b73ffffffffffffffffffffffffffffffffffffffff6003549116807fffffffffffffffffffffffff000000000000000000000000000000000000000083161760035573ffffffffffffffffffffffffffffffffffffffff8351921682526020820152a180f35b50346101795760206003193601126101795760043567ffffffffffffffff811161077d576106e3903690600401611374565b907f589d473ba17c0f47d494622893831497bad25919b9afb8e33e9521b8963fccde815260016020526040812073ffffffffffffffffffffffffffffffffffffffff33165f5260205261073c60ff60405f2054166114e9565b805b8251811015610779578061077373ffffffffffffffffffffffffffffffffffffffff61076c600194876114d5565b511661190f565b0161073e565b5080f35b5080fd5b5034610179576060600319360112610179578061079c61142b565b60243567ffffffffffffffff8111610944573660238201121561094457806004013567ffffffffffffffff8111610942578060051b90366024838501011161093e5760443567ffffffffffffffff811161093a576107fe903690600401611442565b7fc446372802fc3419d51d169d27b034f2f22c2f5650596653a4ac875e6ce55873875260016020526040872073ffffffffffffffffffffffffffffffffffffffff33165f5260205261085660ff60405f2054166114e9565b73ffffffffffffffffffffffffffffffffffffffff6003541692833b15610936577f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9067ffffffffffffffff604051987fb4f7a727000000000000000000000000000000000000000000000000000000008a5216600489015260606024890152806064890152116109325785610910819593899793608486859760248c98018388013785016003198287830301016044870152019161154e565b03925af180156104ea576109215750f35b8161092b91611333565b6101795780f35b8680fd5b8780fd5b8580fd5b8480fd5b505b5050fd5b50346101795760206003193601126101795760406020916004358152600283522054604051908152f35b50346101795760406003193601126101795773ffffffffffffffffffffffffffffffffffffffff6040610152611310565b50346101795760606003193601126101795773ffffffffffffffffffffffffffffffffffffffff60035416602060405180927f901783700000000000000000000000000000000000000000000000000000000082528180610a20604435602435600435600485016040919493926060820195825260208201520152565b03915afa9081156104ea578291610a3f575b6020826040519015158152f35b90506020813d602011610a76575b81610a5a60209383611333565b8101031261077d5751801515810361077d57602091505f610a32565b3d9150610a4d565b503461017957806003193601126101795773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b5034610179576020600319360112610179576105b533600435611b4b565b503461017957806003193601126101795760206040517f589d473ba17c0f47d494622893831497bad25919b9afb8e33e9521b8963fccde8152f35b503461017957602060031936011261017957610b246112ed565b610b4673ffffffffffffffffffffffffffffffffffffffff8354163314611470565b7f589d473ba17c0f47d494622893831497bad25919b9afb8e33e9521b8963fccde825260016020526040822073ffffffffffffffffffffffffffffffffffffffff82165f5260205260ff60405f205416610d23577f589d473ba17c0f47d494622893831497bad25919b9afb8e33e9521b8963fccde825260026020526040822080549068010000000000000000821015610cf65791610c3e81610c12847f2ae6a113c0ed5b78a53413ffbb7679881f11145ccfba4fb92e863dfcd5a1d2f39660016040970181556112ab565b90919073ffffffffffffffffffffffffffffffffffffffff8084549260031b9316831b921b1916179055565b7f589d473ba17c0f47d494622893831497bad25919b9afb8e33e9521b8963fccde8452600160205281842073ffffffffffffffffffffffffffffffffffffffff82165f52602052815f2060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905573ffffffffffffffffffffffffffffffffffffffff8251917f589d473ba17c0f47d494622893831497bad25919b9afb8e33e9521b8963fccde8352166020820152a180f35b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f616c72656164792068617320726f6c65000000000000000000000000000000006044820152fd5b503461017957806003193601126101795760206040517fc446372802fc3419d51d169d27b034f2f22c2f5650596653a4ac875e6ce558738152f35b5034610f09576040600319360112610f0957610dd661142b565b60243567ffffffffffffffff8111610f095736602382011215610f095780600401359067ffffffffffffffff8211610f095736602460a0840283010111610f095773ffffffffffffffffffffffffffffffffffffffff6003541691823b15610f09579290836040519485937f3bda38a300000000000000000000000000000000000000000000000000000000855267ffffffffffffffff604486019116600486015260406024860152526024606484019201905f5b818110610ec5575050509181805f9403915afa8015610eba57610eac575080f35b610eb891505f90611333565b005b6040513d5f823e3d90fd5b9193509160a0806001928635815260208701356020820152604087013560408201526060870135606082015260808701356080820152019401910191859392610e8b565b5f80fd5b34610f09576040600319360112610f0957610eb8610f29611310565b610f4b73ffffffffffffffffffffffffffffffffffffffff5f54163314611470565b600435611d40565b34610f09576020600319360112610f095760043567ffffffffffffffff8111610f0957610f84903690600401611374565b335f9081527f06a8434a217e950323a9dc9a9ff9fd890211f711f6a9820307f7fb7991eec29e6020526040902054610fbe9060ff166114e9565b5f5b8151811015610eb85773ffffffffffffffffffffffffffffffffffffffff610fe882846114d5565b511673ffffffffffffffffffffffffffffffffffffffff81165f9081527f0ac4db96af2953c2f7d9008d1f8ed5084afe48f38a3b6172e46360b99b0f4546602052604090205490919060ff16610d23577fc446372802fc3419d51d169d27b034f2f22c2f5650596653a4ac875e6ce558735f5260026020527f74756a56ed99acdea99d933e940704efbe39159290e2e75b5299be7f6c3f5c6a80546801000000000000000081101561117057836110cd600195610c12847f2ae6a113c0ed5b78a53413ffbb7679881f11145ccfba4fb92e863dfcd5a1d2f396896040970181556112ab565b7fc446372802fc3419d51d169d27b034f2f22c2f5650596653a4ac875e6ce558735f5284602052815f2073ffffffffffffffffffffffffffffffffffffffff82165f52602052815f20857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790558151907fc446372802fc3419d51d169d27b034f2f22c2f5650596653a4ac875e6ce5587382526020820152a101610fc0565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b34610f09576111ab366113f8565b6111cd73ffffffffffffffffffffffffffffffffffffffff5f54163314611470565b5f5b8151811015610eb8578061120573ffffffffffffffffffffffffffffffffffffffff6111fd600194866114d5565b511685611b4b565b016111cf565b34610f09576020600319360112610f0957610eb86112276112ed565b61124973ffffffffffffffffffffffffffffffffffffffff5f54163314611470565b61158c565b34610f09576040600319360112610f09576024356004355f52600260205260405f20908154811015610f095761129b73ffffffffffffffffffffffffffffffffffffffff916020936112ab565b90549060031b1c16604051908152f35b80548210156112c0575f5260205f2001905f90565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610f0957565b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610f0957565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761117057604052565b81601f82011215610f095780359167ffffffffffffffff8311611170578260051b91604051936113a76020850186611333565b8452602080850193820101918211610f0957602001915b8183106113cb5750505090565b823573ffffffffffffffffffffffffffffffffffffffff81168103610f09578152602092830192016113be565b906040600319830112610f0957600435916024359067ffffffffffffffff8211610f095761142891600401611374565b90565b6004359067ffffffffffffffff82168203610f0957565b9181601f84011215610f095782359167ffffffffffffffff8311610f095760208381860195010111610f0957565b1561147757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b80518210156112c05760209160051b010190565b156114f057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f756e617574686f72697a656420726f6c650000000000000000000000000000006044820152fd5b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f06a8434a217e950323a9dc9a9ff9fd890211f711f6a9820307f7fb7991eec29e602052604090205460ff16156118b1577f589d473ba17c0f47d494622893831497bad25919b9afb8e33e9521b8963fccde5f5260026020527fc148474087c4f1b7189cd62d7351e69e13d6c80389002d90aee249d5f2b61d1080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810192908311611884575f5b82548110156118265773ffffffffffffffffffffffffffffffffffffffff61167882856112ab565b90549060031b1c1673ffffffffffffffffffffffffffffffffffffffff83168091146116a75750600101611650565b929380925081106117eb575b505081549081156117be577f155aaafb6329a2098580462df33ec4b7441b19729b9601c5fc17ae1cf99a8a52927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604093019061173561171383836112ab565b73ffffffffffffffffffffffffffffffffffffffff82549160031b1b19169055565b557f589d473ba17c0f47d494622893831497bad25919b9afb8e33e9521b8963fccde5f526001602052815f20815f52602052815f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690558151907f589d473ba17c0f47d494622893831497bad25919b9afb8e33e9521b8963fccde82526020820152a1565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b610c1273ffffffffffffffffffffffffffffffffffffffff61181061181f94876112ab565b90549060031b1c1691856112ab565b5f806116b3565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f726f6c65206163636f756e74206e6f7420666f756e64000000000000000000006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f6e6f742068617320726f6c6500000000000000000000000000000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f0ac4db96af2953c2f7d9008d1f8ed5084afe48f38a3b6172e46360b99b0f4546602052604090205460ff16156118b1577fc446372802fc3419d51d169d27b034f2f22c2f5650596653a4ac875e6ce558735f5260026020527f74756a56ed99acdea99d933e940704efbe39159290e2e75b5299be7f6c3f5c6a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810192908311611884575f5b82548110156118265773ffffffffffffffffffffffffffffffffffffffff6119fb82856112ab565b90549060031b1c1673ffffffffffffffffffffffffffffffffffffffff8316809114611a2a57506001016119d3565b92938092508110611b1f575b505081549081156117be577f155aaafb6329a2098580462df33ec4b7441b19729b9601c5fc17ae1cf99a8a52927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040930190611a9661171383836112ab565b557fc446372802fc3419d51d169d27b034f2f22c2f5650596653a4ac875e6ce558735f526001602052815f20815f52602052815f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690558151907fc446372802fc3419d51d169d27b034f2f22c2f5650596653a4ac875e6ce5587382526020820152a1565b610c1273ffffffffffffffffffffffffffffffffffffffff611810611b4494876112ab565b5f80611a36565b90815f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff82165f5260205260ff60405f205416156118b157815f52600260205260405f20908154927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8401938411611884575f5b83548110156118265773ffffffffffffffffffffffffffffffffffffffff611be582866112ab565b90549060031b1c1673ffffffffffffffffffffffffffffffffffffffff841614611c1157600101611bbd565b8481959293949510611d05575b505082549283156117be577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f155aaafb6329a2098580462df33ec4b7441b19729b9601c5fc17ae1cf99a8a52940190611c7b61171383836112ab565b55805f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008154169055611d006040519283928390929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b0390a1565b610c1273ffffffffffffffffffffffffffffffffffffffff611d2a611d3994886112ab565b90549060031b1c1691866112ab565b5f80611c1e565b90815f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff82165f5260205260ff60405f205416610d2357815f52600260205260405f2091825492680100000000000000008410156111705782610c1285611dcb9360017f2ae6a113c0ed5b78a53413ffbb7679881f11145ccfba4fb92e863dfcd5a1d2f3980181556112ab565b805f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f2060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055611d006040519283928390929173ffffffffffffffffffffffffffffffffffffffff602091604084019584521691015256fea2646970667358221220a4262631936204121abc38c13ba6a633efb99b46982d3294d8636b38633d658264736f6c634300081d00330000000000000000000000000000000000000000000000000000000000000000