diff --git a/packages/hardhat/deploy/deploy-quest_factory.ts b/packages/hardhat/deploy/deploy-quest_factory.ts index 26068690..889f39b0 100644 --- a/packages/hardhat/deploy/deploy-quest_factory.ts +++ b/packages/hardhat/deploy/deploy-quest_factory.ts @@ -31,11 +31,11 @@ export default async ( from: deployer, args: constructorArguments, log: true, - gasPrice: "5000000000", }); await ethers.getContract("QuestFactory", deployResult.address); try { + console.log("Verifying QuestFactory..."); setTimeout( async () => await run("verify:verify", { diff --git a/packages/hardhat/deployments/rinkeby/Govern.json b/packages/hardhat/deployments/rinkeby/Govern.json index 9a3afd69..c8ff18a2 100644 --- a/packages/hardhat/deployments/rinkeby/Govern.json +++ b/packages/hardhat/deployments/rinkeby/Govern.json @@ -1 +1 @@ -{"address":"0x6F4630994656D1BeF1B5d49d19b55a790797995d"} \ No newline at end of file +{"address":"0x7881C66Fa323eabE8470b3c6Fa14259B9918baEA","abi":[{"inputs":[{"internalType":"address","name":"_initialExecutor","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"string","name":"_reference","type":"string"}],"name":"Deposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ETHDeposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"indexed":false,"internalType":"struct ERC3000Data.Action[]","name":"actions","type":"tuple[]"},{"indexed":false,"internalType":"bytes32","name":"memo","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"failureMap","type":"bytes32"},{"indexed":false,"internalType":"bytes[]","name":"execResults","type":"bytes[]"}],"name":"Executed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes4","name":"role","type":"bytes4"},{"indexed":true,"internalType":"address","name":"actor","type":"address"}],"name":"Frozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes4","name":"role","type":"bytes4"},{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"indexed":true,"internalType":"address","name":"who","type":"address"},{"indexed":false,"internalType":"contract IACLOracle","name":"oracle","type":"address"}],"name":"Granted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"key","type":"string"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"ReceivedCallback","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":false,"internalType":"bytes4","name":"magicNumber","type":"bytes4"}],"name":"RegisteredCallback","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"RegisteredStandard","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes4","name":"role","type":"bytes4"},{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"indexed":true,"internalType":"address","name":"who","type":"address"}],"name":"Revoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"string","name":"_reference","type":"string"}],"name":"Withdrawn","type":"event"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"ROOT_ROLE","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"enum ACLData.BulkOp","name":"op","type":"uint8"},{"internalType":"bytes4","name":"role","type":"bytes4"},{"internalType":"address","name":"who","type":"address"}],"internalType":"struct ACLData.BulkItem[]","name":"items","type":"tuple[]"}],"name":"bulk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"string","name":"_reference","type":"string"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct ERC3000Data.Action[]","name":"actions","type":"tuple[]"},{"internalType":"bytes32","name":"allowFailuresMap","type":"bytes32"},{"internalType":"bytes32","name":"memo","type":"bytes32"}],"name":"exec","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_role","type":"bytes4"}],"name":"freeze","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_role","type":"bytes4"},{"internalType":"address","name":"_who","type":"address"}],"name":"grant","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_role","type":"bytes4"},{"internalType":"address","name":"_who","type":"address"},{"internalType":"contract IACLOracle","name":"_oracle","type":"address"}],"name":"grantWithOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"initBlocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_initialExecutor","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_role","type":"bytes4"}],"name":"isFrozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_hash","type":"bytes32"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"isValidSignature","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"},{"internalType":"bytes4","name":"_callbackSig","type":"bytes4"},{"internalType":"bytes4","name":"_magicNumber","type":"bytes4"}],"name":"registerStandardAndCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_role","type":"bytes4"},{"internalType":"address","name":"_who","type":"address"}],"name":"revoke","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"","type":"bytes4"},{"internalType":"address","name":"","type":"address"}],"name":"roles","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC1271","name":"_signatureValidator","type":"address"}],"name":"setSignatureValidator","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":"_token","type":"address"},{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"string","name":"_reference","type":"string"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]} \ No newline at end of file diff --git a/packages/hardhat/deployments/rinkeby/GovernQueue.json b/packages/hardhat/deployments/rinkeby/GovernQueue.json index 08bf14e0..82b1775a 100644 --- a/packages/hardhat/deployments/rinkeby/GovernQueue.json +++ b/packages/hardhat/deployments/rinkeby/GovernQueue.json @@ -1 +1 @@ -{"address":"0x1A1Ae5f070059e1011F22BA99341fFCAe75EC2e9"} \ No newline at end of file +{"address":"0xBf360A9be19A8467f10D97c63675Df4C87547694","abi":[{"inputs":[{"internalType":"address","name":"_aclRoot","type":"address"},{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"internalType":"struct ERC3000Data.Config","name":"_initialConfig","type":"tuple"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"containerHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"indexed":false,"internalType":"bytes","name":"reason","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"resolverId","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"indexed":false,"internalType":"struct ERC3000Data.Collateral","name":"collateral","type":"tuple"}],"name":"Challenged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"configHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"indexed":false,"internalType":"struct ERC3000Data.Config","name":"config","type":"tuple"}],"name":"Configured","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"containerHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"actor","type":"address"}],"name":"Executed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes4","name":"role","type":"bytes4"},{"indexed":true,"internalType":"address","name":"actor","type":"address"}],"name":"Frozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes4","name":"role","type":"bytes4"},{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"indexed":true,"internalType":"address","name":"who","type":"address"},{"indexed":false,"internalType":"contract IACLOracle","name":"oracle","type":"address"}],"name":"Granted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"key","type":"string"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"ReceivedCallback","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":false,"internalType":"bytes4","name":"magicNumber","type":"bytes4"}],"name":"RegisteredCallback","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"RegisteredStandard","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"containerHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"Resolved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes4","name":"role","type":"bytes4"},{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"indexed":true,"internalType":"address","name":"who","type":"address"}],"name":"Revoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"indexed":true,"internalType":"uint256","name":"disputeId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ruling","type":"uint256"}],"name":"Ruled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"containerHash","type":"bytes32"},{"components":[{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"executionTime","type":"uint256"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"contract IERC3000Executor","name":"executor","type":"address"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct ERC3000Data.Action[]","name":"actions","type":"tuple[]"},{"internalType":"bytes32","name":"allowFailuresMap","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"}],"indexed":false,"internalType":"struct ERC3000Data.Payload","name":"payload","type":"tuple"}],"name":"Scheduled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"containerHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"indexed":false,"internalType":"bytes","name":"reason","type":"bytes"}],"name":"Vetoed","type":"event"},{"inputs":[],"name":"ROOT_ROLE","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"enum ACLData.BulkOp","name":"op","type":"uint8"},{"internalType":"bytes4","name":"role","type":"bytes4"},{"internalType":"address","name":"who","type":"address"}],"internalType":"struct ACLData.BulkItem[]","name":"items","type":"tuple[]"}],"name":"bulk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"executionTime","type":"uint256"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"contract IERC3000Executor","name":"executor","type":"address"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct ERC3000Data.Action[]","name":"actions","type":"tuple[]"},{"internalType":"bytes32","name":"allowFailuresMap","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"}],"internalType":"struct ERC3000Data.Payload","name":"payload","type":"tuple"},{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"internalType":"struct ERC3000Data.Config","name":"config","type":"tuple"}],"internalType":"struct ERC3000Data.Container","name":"_container","type":"tuple"},{"internalType":"bytes","name":"_reason","type":"bytes"}],"name":"challenge","outputs":[{"internalType":"uint256","name":"disputeId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"challengerCache","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"configHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"internalType":"struct ERC3000Data.Config","name":"_config","type":"tuple"}],"name":"configure","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"contract IArbitrator","name":"","type":"address"}],"name":"disputeItemCache","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"executionTime","type":"uint256"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"contract IERC3000Executor","name":"executor","type":"address"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct ERC3000Data.Action[]","name":"actions","type":"tuple[]"},{"internalType":"bytes32","name":"allowFailuresMap","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"}],"internalType":"struct ERC3000Data.Payload","name":"payload","type":"tuple"},{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"internalType":"struct ERC3000Data.Config","name":"config","type":"tuple"}],"internalType":"struct ERC3000Data.Container","name":"_container","type":"tuple"}],"name":"execute","outputs":[{"internalType":"bytes32","name":"failureMap","type":"bytes32"},{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_role","type":"bytes4"}],"name":"freeze","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_role","type":"bytes4"},{"internalType":"address","name":"_who","type":"address"}],"name":"grant","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_role","type":"bytes4"},{"internalType":"address","name":"_who","type":"address"},{"internalType":"contract IACLOracle","name":"_oracle","type":"address"}],"name":"grantWithOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"initBlocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_aclRoot","type":"address"},{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"internalType":"struct ERC3000Data.Config","name":"_initialConfig","type":"tuple"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_role","type":"bytes4"}],"name":"isFrozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"queue","outputs":[{"internalType":"enum GovernQueueStateLib.State","name":"state","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"executionTime","type":"uint256"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"contract IERC3000Executor","name":"executor","type":"address"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct ERC3000Data.Action[]","name":"actions","type":"tuple[]"},{"internalType":"bytes32","name":"allowFailuresMap","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"}],"internalType":"struct ERC3000Data.Payload","name":"payload","type":"tuple"},{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"internalType":"struct ERC3000Data.Config","name":"config","type":"tuple"}],"internalType":"struct ERC3000Data.Container","name":"_container","type":"tuple"},{"internalType":"uint256","name":"_disputeId","type":"uint256"}],"name":"resolve","outputs":[{"internalType":"bytes32","name":"failureMap","type":"bytes32"},{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_role","type":"bytes4"},{"internalType":"address","name":"_who","type":"address"}],"name":"revoke","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"","type":"bytes4"},{"internalType":"address","name":"","type":"address"}],"name":"roles","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"executionTime","type":"uint256"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"contract IERC3000Executor","name":"executor","type":"address"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct ERC3000Data.Action[]","name":"actions","type":"tuple[]"},{"internalType":"bytes32","name":"allowFailuresMap","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"}],"internalType":"struct ERC3000Data.Payload","name":"payload","type":"tuple"},{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"internalType":"struct ERC3000Data.Config","name":"config","type":"tuple"}],"internalType":"struct ERC3000Data.Container","name":"_container","type":"tuple"}],"name":"schedule","outputs":[{"internalType":"bytes32","name":"containerHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"executionTime","type":"uint256"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"contract IERC3000Executor","name":"executor","type":"address"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct ERC3000Data.Action[]","name":"actions","type":"tuple[]"},{"internalType":"bytes32","name":"allowFailuresMap","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"}],"internalType":"struct ERC3000Data.Payload","name":"payload","type":"tuple"},{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"internalType":"struct ERC3000Data.Config","name":"config","type":"tuple"}],"internalType":"struct ERC3000Data.Container","name":"_container","type":"tuple"},{"internalType":"bytes","name":"_reason","type":"bytes"}],"name":"veto","outputs":[],"stateMutability":"nonpayable","type":"function"}]} \ No newline at end of file diff --git a/packages/hardhat/deployments/rinkeby/QuestFactory.json b/packages/hardhat/deployments/rinkeby/QuestFactory.json index 10ed7427..0b0773da 100644 --- a/packages/hardhat/deployments/rinkeby/QuestFactory.json +++ b/packages/hardhat/deployments/rinkeby/QuestFactory.json @@ -1,5 +1,5 @@ { - "address": "0x7364E5149f97be72277825564cB4Fc383ECD6fdA", + "address": "0x49230EAd7f26859Cce31bF6cC5836FA1B1725fBA", "abi": [ { "inputs": [ @@ -254,65 +254,65 @@ "type": "function" } ], - "transactionHash": "0x16b006515e321a43ec74dbef410f6c72d285a0c7a0276e1f6b65d242a0063065", + "transactionHash": "0x6f2d08e22debd9c73d2fba6aee936a3313ee6022f5b004e795652e72cff47e84", "receipt": { "to": null, "from": "0x91B0d67D3F47A30FBEeB159E67209Ad6cb2cE22E", - "contractAddress": "0x7364E5149f97be72277825564cB4Fc383ECD6fdA", - "transactionIndex": 76, + "contractAddress": "0x49230EAd7f26859Cce31bF6cC5836FA1B1725fBA", + "transactionIndex": 1, "gasUsed": "2274314", - "logsBloom": "0x00000000002000000000000000000100000000000000000000800000004000002020000000000000000000000000000000000000000000000080000000000000000000000000000000040000000000000001000000000000000000000020000000000000020000000000000000000800000000000000000400200000000000400040000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x858509555e5fe9051a32f4c328226bf23e51aaf809fdf791560041a97593582b", - "transactionHash": "0x16b006515e321a43ec74dbef410f6c72d285a0c7a0276e1f6b65d242a0063065", + "logsBloom": "0x00000000000000000000000000000100000000000000000000800000004000002000000000000000000000000000000000000000000000000080000000040000000000000000000000040000000000000001000000000000000000000020000000000000020000000000000000000800000000000000000400000000000000400042000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000020000000000000000000000000000000000000000000", + "blockHash": "0x6946d0bf0076ed3ac1f96301df84a6f4a899d2cc34c9c28af5842e798f043987", + "transactionHash": "0x6f2d08e22debd9c73d2fba6aee936a3313ee6022f5b004e795652e72cff47e84", "logs": [ { - "transactionIndex": 76, - "blockNumber": 10661308, - "transactionHash": "0x16b006515e321a43ec74dbef410f6c72d285a0c7a0276e1f6b65d242a0063065", - "address": "0x7364E5149f97be72277825564cB4Fc383ECD6fdA", + "transactionIndex": 1, + "blockNumber": 10669554, + "transactionHash": "0x6f2d08e22debd9c73d2fba6aee936a3313ee6022f5b004e795652e72cff47e84", + "address": "0x49230EAd7f26859Cce31bF6cC5836FA1B1725fBA", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000091b0d67d3f47a30fbeeb159e67209ad6cb2ce22e" ], "data": "0x", - "logIndex": 159, - "blockHash": "0x858509555e5fe9051a32f4c328226bf23e51aaf809fdf791560041a97593582b" + "logIndex": 1, + "blockHash": "0x6946d0bf0076ed3ac1f96301df84a6f4a899d2cc34c9c28af5842e798f043987" }, { - "transactionIndex": 76, - "blockNumber": 10661308, - "transactionHash": "0x16b006515e321a43ec74dbef410f6c72d285a0c7a0276e1f6b65d242a0063065", - "address": "0x7364E5149f97be72277825564cB4Fc383ECD6fdA", + "transactionIndex": 1, + "blockNumber": 10669554, + "transactionHash": "0x6f2d08e22debd9c73d2fba6aee936a3313ee6022f5b004e795652e72cff47e84", + "address": "0x49230EAd7f26859Cce31bF6cC5836FA1B1725fBA", "topics": [ "0x556f88907cfe81bbd1433b2c2ba3860920f0b50b218c55ca0a060558e7ca4199" ], - "data": "0x00000000000000000000000000000000000000000000000000000000627c8d7f0000000000000000000000003050e20fabe19f8576865811c9f28e85b96fa4f9000000000000000000000000000000000000000000000000002386f26fc10000", - "logIndex": 160, - "blockHash": "0x858509555e5fe9051a32f4c328226bf23e51aaf809fdf791560041a97593582b" + "data": "0x00000000000000000000000000000000000000000000000000000000627e77be0000000000000000000000003050e20fabe19f8576865811c9f28e85b96fa4f9000000000000000000000000000000000000000000000000002386f26fc10000", + "logIndex": 2, + "blockHash": "0x6946d0bf0076ed3ac1f96301df84a6f4a899d2cc34c9c28af5842e798f043987" }, { - "transactionIndex": 76, - "blockNumber": 10661308, - "transactionHash": "0x16b006515e321a43ec74dbef410f6c72d285a0c7a0276e1f6b65d242a0063065", - "address": "0x7364E5149f97be72277825564cB4Fc383ECD6fdA", + "transactionIndex": 1, + "blockNumber": 10669554, + "transactionHash": "0x6f2d08e22debd9c73d2fba6aee936a3313ee6022f5b004e795652e72cff47e84", + "address": "0x49230EAd7f26859Cce31bF6cC5836FA1B1725fBA", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x00000000000000000000000091b0d67d3f47a30fbeeb159e67209ad6cb2ce22e", "0x0000000000000000000000007375ed576952bd6ced060eee2db763130ea13ba0" ], "data": "0x", - "logIndex": 161, - "blockHash": "0x858509555e5fe9051a32f4c328226bf23e51aaf809fdf791560041a97593582b" + "logIndex": 3, + "blockHash": "0x6946d0bf0076ed3ac1f96301df84a6f4a899d2cc34c9c28af5842e798f043987" } ], - "blockNumber": 10661308, - "cumulativeGasUsed": "25795488", + "blockNumber": 10669554, + "cumulativeGasUsed": "3531117", "status": 1, "byzantium": true }, "args": [ - "0x6F4630994656D1BeF1B5d49d19b55a790797995d", + "0x7881C66Fa323eabE8470b3c6Fa14259B9918baEA", "0x3050E20FAbE19f8576865811c9F28e85b96Fa4f9", "10000000000000000", "0x7375Ed576952BD6CeD060EeE2Db763130eA13bA0" diff --git a/packages/hardhat/hardhat.config.ts b/packages/hardhat/hardhat.config.ts index dd733dd6..0708a16e 100644 --- a/packages/hardhat/hardhat.config.ts +++ b/packages/hardhat/hardhat.config.ts @@ -1,7 +1,7 @@ import { config as dotenvConfig } from "dotenv"; import "solidity-coverage"; import "hardhat-deploy"; -import { BigNumber, utils } from "ethers"; +import { utils } from "ethers"; import fs from "fs"; import chalk from "chalk"; import "@nomiclabs/hardhat-waffle"; @@ -10,12 +10,8 @@ import "@nomiclabs/hardhat-web3"; import "@tenderly/hardhat-tenderly"; import "@nomiclabs/hardhat-etherscan"; import "hardhat-typechain"; -import { task, HardhatUserConfig, types, subtask } from "hardhat/config"; -import { - HardhatRuntimeEnvironment, - HttpNetworkUserConfig, - Network, -} from "hardhat/types"; +import { task, HardhatUserConfig, types } from "hardhat/config"; +import { HttpNetworkUserConfig } from "hardhat/types"; import { resolve } from "path"; import { HardhatNetworkAccountsUserConfig } from "../../node_modules/hardhat/src/types/config"; import deployQuestFactory from "./deploy/deploy-quest_factory"; @@ -24,7 +20,7 @@ import deployGovern from "./scripts/deploy-govern"; import governRinkeby from "./deployments/rinkeby/Govern.json"; import governGnosis from "./deployments/xdai/Govern.json"; import defaultConfig from "./default-config.json"; -import { update } from "ramda"; +import exportContractResult from "./scripts/export-contract-result"; dotenvConfig({ path: resolve(__dirname, "../../local.env") }); @@ -91,8 +87,10 @@ const hardhatConfig: HardhatUserConfig = { */ }, rinkeby: { + chainId: 4, url: "https://rinkeby.infura.io/v3/" + process.env.INFURA_ID, // <---- YOUR INFURA ID! (or it won't work) accounts: getAccounts(), + gasPrice: 40000000000, }, kovan: { url: "https://kovan.infura.io/v3/" + process.env.INFURA_ID, // <---- YOUR INFURA ID! (or it won't work) @@ -116,6 +114,7 @@ const hardhatConfig: HardhatUserConfig = { accounts: getAccounts(), }, xdai: { + chainId: 100, url: "https://rpc.xdaichain.com/", gasPrice: 1000000000, accounts: getAccounts(), @@ -692,7 +691,7 @@ task("newQuestFactory:gnosis") "Deployed quest factory (" + hre.network.name + "):", deployResult.address ); - updateContractResult(hre.network, "QuestFactory", { + exportContractResult(hre.network, "QuestFactory", { address: deployResult.address, abi: deployResult.abi, }); @@ -721,8 +720,10 @@ task("newQuestFactory:rinkeby") types.float ) .setAction(async (args, hre) => { + console.log("Deploying QuestFactory..."); const deployResult = await deployQuestFactory(hre, args); - updateContractResult(hre.network, "QuestFactory", { + + exportContractResult(hre.network, "QuestFactory", { address: deployResult.address, abi: deployResult.abi, }); @@ -830,10 +831,3 @@ task("deployAll:rinkeby") ); module.exports = hardhatConfig; -function updateContractResult( - network: Network, - arg1: string, - arg2: { address: string; abi: import("hardhat-deploy/dist/types").ABI } -) { - throw new Error("Function not implemented."); -} diff --git a/packages/hardhat/scripts/deploy-govern.ts b/packages/hardhat/scripts/deploy-govern.ts index 20185022..86714338 100644 --- a/packages/hardhat/scripts/deploy-govern.ts +++ b/packages/hardhat/scripts/deploy-govern.ts @@ -1,7 +1,7 @@ -import { HardhatRuntimeEnvironment, Network } from "hardhat/types"; +import { HardhatRuntimeEnvironment } from "hardhat/types"; import GovernFactoryAbi from "../abi/contracts/Externals/GovernFactory.json"; import fs from "fs"; -import exportContractResult from "./exportContractResult"; +import exportContractResult from "./export-contract-result"; import GovernAbi from "../abi/contracts/Externals/Govern.json"; export default async function deployGovern( @@ -16,20 +16,27 @@ export default async function deployGovern( args.initialExecutorAddress, ethers.constants.HashZero, { - gasPrice: "5000000000", + gasPrice: "5000000000", } ); console.log("Deploying Govern... tx:", tx.hash); const res = await tx.wait(); const newGovernAddress = res.logs[0].address; console.log("Deployed govern (" + network.name + "): ", newGovernAddress); - fs.writeFileSync( - "./deployments/" + network.name + "/Govern.json", - JSON.stringify({ - address: newGovernAddress, - abi: GovernAbi, - }) - ); + try { + fs.writeFileSync( + "./deployments/" + network.name + "/Govern.json", + JSON.stringify({ + address: newGovernAddress, + abi: GovernAbi, + }) + ); + } catch (error) { + console.error( + "Error during publishing deployement result into Govern.json", + error + ); + } exportContractResult(network, "Govern", { address: newGovernAddress, abi: GovernAbi as [], diff --git a/packages/hardhat/scripts/deploy-govern_queue.ts b/packages/hardhat/scripts/deploy-govern_queue.ts index 31365447..31d36d81 100644 --- a/packages/hardhat/scripts/deploy-govern_queue.ts +++ b/packages/hardhat/scripts/deploy-govern_queue.ts @@ -2,7 +2,7 @@ import GovernQueueFactoryAbi from "../abi/contracts/Externals/GovernQueueFactory import { HardhatRuntimeEnvironment, Network } from "hardhat/types"; import fs from "fs"; import { BigNumber } from "ethers"; -import exportContractResult from "./exportContractResult"; +import exportContractResult from "./export-contract-result"; import GovernQueueAbi from "../abi/contracts/Externals/GovernQueue.json"; export default async function deployGovernQueue( @@ -52,6 +52,7 @@ export default async function deployGovernQueue( const res = await tx.wait(); const newQueueAddress = res.logs[0].address; console.log("Deployed GovernQueue (" + network.name + "): ", newQueueAddress); + try { fs.writeFileSync( "./deployments/" + network.name + "/GovernQueue.json", JSON.stringify({ @@ -59,7 +60,12 @@ export default async function deployGovernQueue( abi: GovernQueueAbi, }) ); - +} catch (error) { + console.error( + "Error during publishing deployement result into GovernQueue.json", + error + ); + } exportContractResult(network, "GovernQueue", { address: newQueueAddress, abi: GovernQueueAbi as [], diff --git a/packages/hardhat/scripts/export-contract-result.ts b/packages/hardhat/scripts/export-contract-result.ts new file mode 100644 index 00000000..d6581e53 --- /dev/null +++ b/packages/hardhat/scripts/export-contract-result.ts @@ -0,0 +1,23 @@ +import { Network } from "hardhat/types"; +import hardhatContracts from "../../react-app/src/contracts/hardhat_contracts.json"; +import fs from "fs"; + +type ContractsJson = { address: string; abi: string[] }; +export default function exportContractResult( + network: Network, + contractName: string, + contractValue: ContractsJson +) { + const path = "../react-app/src/contracts/hardhat_contracts.json"; + try { + hardhatContracts[network.config.chainId][network.name].contracts[ + contractName + ] = contractValue; + fs.writeFileSync(path, JSON.stringify(hardhatContracts, null, 2)); + } catch (error) { + console.error( + `[${contractName}]Error during publishing deployement result into ${path}`, + error + ); + } +} diff --git a/packages/hardhat/scripts/exportContractResult.ts b/packages/hardhat/scripts/exportContractResult.ts deleted file mode 100644 index de8dcbb3..00000000 --- a/packages/hardhat/scripts/exportContractResult.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Network } from "hardhat/types"; -import fs from "fs"; - -type ContractsJson = { address: string; abi: string[] }; -export default function exportContractResult( - network: Network, - contractName: string, - contractValue: ContractsJson -) { - const path = "../react-app/src/contracts/hardhat_contracts.json"; - const hardhatContracts = fs.readFileSync(path); - hardhatContracts[network.config.chainId][network.name].contracts[ - contractName - ] = contractValue; - fs.writeFileSync(path, JSON.stringify(hardhatContracts, null, 2)); -} diff --git a/packages/react-app/package.json b/packages/react-app/package.json index 5da1fc45..52757c91 100644 --- a/packages/react-app/package.json +++ b/packages/react-app/package.json @@ -124,6 +124,7 @@ "start": "cross-env HTTPS=true npm run sync-assets && react-app-rewired start", "start:local": "cross-env REACT_APP_CHAIN_ID=1337 yarn start", "start:rinkeby": "cross-env REACT_APP_CHAIN_ID=4 yarn start", + "start:rinkeby-staging": "cross-env REACT_APP_CHAIN_ID=4 REACT_APP_STAGING=true yarn start", "start:xdai": "cross-env REACT_APP_CHAIN_ID=100 yarn start", "build": "npm run sync-assets && react-app-rewired build", "build:xdai": "cross-env REACT_APP_CHAIN=100 && yarn build", diff --git a/packages/react-app/src/constants.ts b/packages/react-app/src/constants.ts index bf4599a6..b6ef1f17 100644 --- a/packages/react-app/src/constants.ts +++ b/packages/react-app/src/constants.ts @@ -51,12 +51,6 @@ export const TOKENS = Object.freeze({ token: '0xD9BA894E0097f8cC2BBc9D24D308b98e36dc6D02', decimals: 18, } as TokenModel, - RinkebyHoney: { - name: 'Honey', - symbol: 'HNY', - token: '0x6e7c3BC98bee14302AA2A98B4c5C86b13eB4b6Cd', - decimals: 18, - } as TokenModel, HoneyTest: { name: 'HoneyTest', symbol: 'HNYT', @@ -72,7 +66,7 @@ export const TOKENS = Object.freeze({ }); export const NETWORK_TOKENS = Object.freeze({ - rinkeby: [TOKENS.HoneyTest, TOKENS.RinkebyTheter, TOKENS.RinkebyHoney, TOKENS.RinkebyDai], + rinkeby: [TOKENS.HoneyTest, TOKENS.RinkebyTheter, TOKENS.RinkebyDai], xdai: [TOKENS.Honey], mainnet: [TOKENS.Thether], }); diff --git a/packages/react-app/src/contracts/hardhat_contracts.json b/packages/react-app/src/contracts/hardhat_contracts.json index eeafce36..c76d4c87 100644 --- a/packages/react-app/src/contracts/hardhat_contracts.json +++ b/packages/react-app/src/contracts/hardhat_contracts.json @@ -272,7 +272,7 @@ ] }, "QuestFactory": { - "address": "0x7617d5C550884147a1aFFf0d01ba67518A8560A5", + "address": "0x49230EAd7f26859Cce31bF6cC5836FA1B1725fBA", "abi": [ { "inputs": [ @@ -290,6 +290,11 @@ "internalType": "uint256", "name": "_depositAmount", "type": "uint256" + }, + { + "internalType": "address", + "name": "_initialOwner", + "type": "address" } ], "stateMutability": "nonpayable", @@ -820,6 +825,2356 @@ "type": "function" } ] + }, + "GovernQueue": { + "address": "0xBf360A9be19A8467f10D97c63675Df4C87547694", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_aclRoot", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "executionDelay", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "scheduleDeposit", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "challengeDeposit", + "type": "tuple" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "bytes", + "name": "rules", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "maxCalldataSize", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Config", + "name": "_initialConfig", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "containerHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "actor", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "reason", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "resolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct ERC3000Data.Collateral", + "name": "collateral", + "type": "tuple" + } + ], + "name": "Challenged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "configHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "actor", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "executionDelay", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "scheduleDeposit", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "challengeDeposit", + "type": "tuple" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "bytes", + "name": "rules", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "maxCalldataSize", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct ERC3000Data.Config", + "name": "config", + "type": "tuple" + } + ], + "name": "Configured", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "containerHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "actor", + "type": "address" + } + ], + "name": "Executed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes4", + "name": "role", + "type": "bytes4" + }, + { + "indexed": true, + "internalType": "address", + "name": "actor", + "type": "address" + } + ], + "name": "Frozen", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes4", + "name": "role", + "type": "bytes4" + }, + { + "indexed": true, + "internalType": "address", + "name": "actor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "who", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract IACLOracle", + "name": "oracle", + "type": "address" + } + ], + "name": "Granted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "string", + "name": "key", + "type": "string" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes4", + "name": "sig", + "type": "bytes4" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "ReceivedCallback", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes4", + "name": "sig", + "type": "bytes4" + }, + { + "indexed": false, + "internalType": "bytes4", + "name": "magicNumber", + "type": "bytes4" + } + ], + "name": "RegisteredCallback", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "RegisteredStandard", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "containerHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "actor", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "Resolved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes4", + "name": "role", + "type": "bytes4" + }, + { + "indexed": true, + "internalType": "address", + "name": "actor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "who", + "type": "address" + } + ], + "name": "Revoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "contract IArbitrator", + "name": "arbitrator", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "disputeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "ruling", + "type": "uint256" + } + ], + "name": "Ruled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "containerHash", + "type": "bytes32" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionTime", + "type": "uint256" + }, + { + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "contract IERC3000Executor", + "name": "executor", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ERC3000Data.Action[]", + "name": "actions", + "type": "tuple[]" + }, + { + "internalType": "bytes32", + "name": "allowFailuresMap", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "proof", + "type": "bytes" + } + ], + "indexed": false, + "internalType": "struct ERC3000Data.Payload", + "name": "payload", + "type": "tuple" + } + ], + "name": "Scheduled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "containerHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "actor", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "reason", + "type": "bytes" + } + ], + "name": "Vetoed", + "type": "event" + }, + { + "inputs": [], + "name": "ROOT_ROLE", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "enum ACLData.BulkOp", + "name": "op", + "type": "uint8" + }, + { + "internalType": "bytes4", + "name": "role", + "type": "bytes4" + }, + { + "internalType": "address", + "name": "who", + "type": "address" + } + ], + "internalType": "struct ACLData.BulkItem[]", + "name": "items", + "type": "tuple[]" + } + ], + "name": "bulk", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionTime", + "type": "uint256" + }, + { + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "contract IERC3000Executor", + "name": "executor", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ERC3000Data.Action[]", + "name": "actions", + "type": "tuple[]" + }, + { + "internalType": "bytes32", + "name": "allowFailuresMap", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "proof", + "type": "bytes" + } + ], + "internalType": "struct ERC3000Data.Payload", + "name": "payload", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "executionDelay", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "scheduleDeposit", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "challengeDeposit", + "type": "tuple" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "bytes", + "name": "rules", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "maxCalldataSize", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Config", + "name": "config", + "type": "tuple" + } + ], + "internalType": "struct ERC3000Data.Container", + "name": "_container", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "_reason", + "type": "bytes" + } + ], + "name": "challenge", + "outputs": [ + { + "internalType": "uint256", + "name": "disputeId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "challengerCache", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "configHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "executionDelay", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "scheduleDeposit", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "challengeDeposit", + "type": "tuple" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "bytes", + "name": "rules", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "maxCalldataSize", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Config", + "name": "_config", + "type": "tuple" + } + ], + "name": "configure", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "contract IArbitrator", + "name": "", + "type": "address" + } + ], + "name": "disputeItemCache", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionTime", + "type": "uint256" + }, + { + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "contract IERC3000Executor", + "name": "executor", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ERC3000Data.Action[]", + "name": "actions", + "type": "tuple[]" + }, + { + "internalType": "bytes32", + "name": "allowFailuresMap", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "proof", + "type": "bytes" + } + ], + "internalType": "struct ERC3000Data.Payload", + "name": "payload", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "executionDelay", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "scheduleDeposit", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "challengeDeposit", + "type": "tuple" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "bytes", + "name": "rules", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "maxCalldataSize", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Config", + "name": "config", + "type": "tuple" + } + ], + "internalType": "struct ERC3000Data.Container", + "name": "_container", + "type": "tuple" + } + ], + "name": "execute", + "outputs": [ + { + "internalType": "bytes32", + "name": "failureMap", + "type": "bytes32" + }, + { + "internalType": "bytes[]", + "name": "", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_role", + "type": "bytes4" + } + ], + "name": "freeze", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_role", + "type": "bytes4" + }, + { + "internalType": "address", + "name": "_who", + "type": "address" + } + ], + "name": "grant", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_role", + "type": "bytes4" + }, + { + "internalType": "address", + "name": "_who", + "type": "address" + }, + { + "internalType": "contract IACLOracle", + "name": "_oracle", + "type": "address" + } + ], + "name": "grantWithOracle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "initBlocks", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_aclRoot", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "executionDelay", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "scheduleDeposit", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "challengeDeposit", + "type": "tuple" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "bytes", + "name": "rules", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "maxCalldataSize", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Config", + "name": "_initialConfig", + "type": "tuple" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_role", + "type": "bytes4" + } + ], + "name": "isFrozen", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nonce", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "queue", + "outputs": [ + { + "internalType": "enum GovernQueueStateLib.State", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionTime", + "type": "uint256" + }, + { + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "contract IERC3000Executor", + "name": "executor", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ERC3000Data.Action[]", + "name": "actions", + "type": "tuple[]" + }, + { + "internalType": "bytes32", + "name": "allowFailuresMap", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "proof", + "type": "bytes" + } + ], + "internalType": "struct ERC3000Data.Payload", + "name": "payload", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "executionDelay", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "scheduleDeposit", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "challengeDeposit", + "type": "tuple" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "bytes", + "name": "rules", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "maxCalldataSize", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Config", + "name": "config", + "type": "tuple" + } + ], + "internalType": "struct ERC3000Data.Container", + "name": "_container", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeId", + "type": "uint256" + } + ], + "name": "resolve", + "outputs": [ + { + "internalType": "bytes32", + "name": "failureMap", + "type": "bytes32" + }, + { + "internalType": "bytes[]", + "name": "", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_role", + "type": "bytes4" + }, + { + "internalType": "address", + "name": "_who", + "type": "address" + } + ], + "name": "revoke", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "roles", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionTime", + "type": "uint256" + }, + { + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "contract IERC3000Executor", + "name": "executor", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ERC3000Data.Action[]", + "name": "actions", + "type": "tuple[]" + }, + { + "internalType": "bytes32", + "name": "allowFailuresMap", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "proof", + "type": "bytes" + } + ], + "internalType": "struct ERC3000Data.Payload", + "name": "payload", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "executionDelay", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "scheduleDeposit", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "challengeDeposit", + "type": "tuple" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "bytes", + "name": "rules", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "maxCalldataSize", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Config", + "name": "config", + "type": "tuple" + } + ], + "internalType": "struct ERC3000Data.Container", + "name": "_container", + "type": "tuple" + } + ], + "name": "schedule", + "outputs": [ + { + "internalType": "bytes32", + "name": "containerHash", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "executionTime", + "type": "uint256" + }, + { + "internalType": "address", + "name": "submitter", + "type": "address" + }, + { + "internalType": "contract IERC3000Executor", + "name": "executor", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ERC3000Data.Action[]", + "name": "actions", + "type": "tuple[]" + }, + { + "internalType": "bytes32", + "name": "allowFailuresMap", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "proof", + "type": "bytes" + } + ], + "internalType": "struct ERC3000Data.Payload", + "name": "payload", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "executionDelay", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "scheduleDeposit", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Collateral", + "name": "challengeDeposit", + "type": "tuple" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "bytes", + "name": "rules", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "maxCalldataSize", + "type": "uint256" + } + ], + "internalType": "struct ERC3000Data.Config", + "name": "config", + "type": "tuple" + } + ], + "internalType": "struct ERC3000Data.Container", + "name": "_container", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "_reason", + "type": "bytes" + } + ], + "name": "veto", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "Govern": { + "address": "0x7881C66Fa323eabE8470b3c6Fa14259B9918baEA", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_initialExecutor", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "_reference", + "type": "string" + } + ], + "name": "Deposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ETHDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "actor", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "indexed": false, + "internalType": "struct ERC3000Data.Action[]", + "name": "actions", + "type": "tuple[]" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "memo", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "failureMap", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes[]", + "name": "execResults", + "type": "bytes[]" + } + ], + "name": "Executed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes4", + "name": "role", + "type": "bytes4" + }, + { + "indexed": true, + "internalType": "address", + "name": "actor", + "type": "address" + } + ], + "name": "Frozen", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes4", + "name": "role", + "type": "bytes4" + }, + { + "indexed": true, + "internalType": "address", + "name": "actor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "who", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract IACLOracle", + "name": "oracle", + "type": "address" + } + ], + "name": "Granted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "string", + "name": "key", + "type": "string" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes4", + "name": "sig", + "type": "bytes4" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "ReceivedCallback", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes4", + "name": "sig", + "type": "bytes4" + }, + { + "indexed": false, + "internalType": "bytes4", + "name": "magicNumber", + "type": "bytes4" + } + ], + "name": "RegisteredCallback", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "RegisteredStandard", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes4", + "name": "role", + "type": "bytes4" + }, + { + "indexed": true, + "internalType": "address", + "name": "actor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "who", + "type": "address" + } + ], + "name": "Revoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "_reference", + "type": "string" + } + ], + "name": "Withdrawn", + "type": "event" + }, + { + "stateMutability": "nonpayable", + "type": "fallback" + }, + { + "inputs": [], + "name": "ROOT_ROLE", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "enum ACLData.BulkOp", + "name": "op", + "type": "uint8" + }, + { + "internalType": "bytes4", + "name": "role", + "type": "bytes4" + }, + { + "internalType": "address", + "name": "who", + "type": "address" + } + ], + "internalType": "struct ACLData.BulkItem[]", + "name": "items", + "type": "tuple[]" + } + ], + "name": "bulk", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_reference", + "type": "string" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "internalType": "struct ERC3000Data.Action[]", + "name": "actions", + "type": "tuple[]" + }, + { + "internalType": "bytes32", + "name": "allowFailuresMap", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "memo", + "type": "bytes32" + } + ], + "name": "exec", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes[]", + "name": "", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_role", + "type": "bytes4" + } + ], + "name": "freeze", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_role", + "type": "bytes4" + }, + { + "internalType": "address", + "name": "_who", + "type": "address" + } + ], + "name": "grant", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_role", + "type": "bytes4" + }, + { + "internalType": "address", + "name": "_who", + "type": "address" + }, + { + "internalType": "contract IACLOracle", + "name": "_oracle", + "type": "address" + } + ], + "name": "grantWithOracle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "initBlocks", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_initialExecutor", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_role", + "type": "bytes4" + } + ], + "name": "isFrozen", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_signature", + "type": "bytes" + } + ], + "name": "isValidSignature", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_interfaceId", + "type": "bytes4" + }, + { + "internalType": "bytes4", + "name": "_callbackSig", + "type": "bytes4" + }, + { + "internalType": "bytes4", + "name": "_magicNumber", + "type": "bytes4" + } + ], + "name": "registerStandardAndCallback", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_role", + "type": "bytes4" + }, + { + "internalType": "address", + "name": "_who", + "type": "address" + } + ], + "name": "revoke", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "roles", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ERC1271", + "name": "_signatureValidator", + "type": "address" + } + ], + "name": "setSignatureValidator", + "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": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_reference", + "type": "string" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ] } } } diff --git a/packages/react-app/src/networks.ts b/packages/react-app/src/networks.ts index a06c9cff..b1c103e0 100644 --- a/packages/react-app/src/networks.ts +++ b/packages/react-app/src/networks.ts @@ -14,13 +14,11 @@ export const networks = Object.freeze({ chainId: 4, name: 'Rinkeby', explorerBase: 'etherscan', - // questsSubgraph: 'https://api.thegraph.com/subgraphs/name/corantin/quests-subgraph', - questsSubgraph: 'https://api.thegraph.com/subgraphs/name/corantin/quests-subgraph-staging', - // governSubgraph: 'https://api.thegraph.com/subgraphs/name/corantin/govern-1hive-rinkeby', - governSubgraph: 'https://api.thegraph.com/subgraphs/name/corantin/govern-1hive-rinkeby-staging', + questsSubgraph: 'https://api.thegraph.com/subgraphs/name/corantin/quests-subgraph', + governSubgraph: 'https://api.thegraph.com/subgraphs/name/corantin/govern-1hive-rinkeby', uniswapSubgraph: 'https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2', questFactoryAddress: HardhatDeployement[4].rinkeby.contracts.QuestFactory.address, - governQueueAddress: '0xB1A040265451828Be68d4DfE7cc38105bD7A7E74', + governQueueAddress: HardhatDeployement[4].rinkeby.contracts.GovernQueue.address, celesteAddress: '0xdd58ebed3c36460939285a92807f90e3d3a26789', httpProvider: 'https://rinkeby.infura.io/v3', isTestNetwork: true, @@ -29,6 +27,7 @@ export const networks = Object.freeze({ rinkebyStaging: { stagingOf: 'rinkeby', questsSubgraph: 'https://api.thegraph.com/subgraphs/name/corantin/quests-subgraph-staging', + governSubgraph: 'https://api.thegraph.com/subgraphs/name/corantin/govern-1hive-rinkeby-staging', } as StagingNetworkModel, gnosis: { networkId: 'gnosis', diff --git a/packages/react-app/src/utils/web3.utils.ts b/packages/react-app/src/utils/web3.utils.ts index 8c289eef..aab5615a 100644 --- a/packages/react-app/src/utils/web3.utils.ts +++ b/packages/react-app/src/utils/web3.utils.ts @@ -62,10 +62,15 @@ export function getUseWalletProviders() { export function getNetworkType(chainId = getDefaultChain()) { const chainIdStr = String(chainId); - if (chainIdStr === '1') return 'mainnet'; - if (chainIdStr === '3') return 'ropsten'; - if (chainIdStr === '4') return 'rinkeby'; - if (chainIdStr === '100') return 'xdai'; + let key; + if (chainIdStr === '1') key = 'mainnet'; + if (chainIdStr === '3') key = 'ropsten'; + if (chainIdStr === '4') key = 'rinkeby'; + if (chainIdStr === '100') key = 'xdai'; + if (key) { + if (env('STAGING')) key += 'Staging'; + return key; + } return DEFAULT_LOCAL_CHAIN; } diff --git a/packages/subgraphs/govern-subgraph/govern-core/abi/contracts/pipelines/GovernQueue.sol/GovernQueue.json b/packages/subgraphs/govern-subgraph/govern-core/abi/contracts/pipelines/GovernQueue.sol/GovernQueue.json index 217e2cc7..98b3a302 100644 --- a/packages/subgraphs/govern-subgraph/govern-core/abi/contracts/pipelines/GovernQueue.sol/GovernQueue.json +++ b/packages/subgraphs/govern-subgraph/govern-core/abi/contracts/pipelines/GovernQueue.sol/GovernQueue.json @@ -1,1667 +1 @@ -[ - { - "inputs": [ - { - "internalType": "address", - "name": "_aclRoot", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "executionDelay", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "scheduleDeposit", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "challengeDeposit", - "type": "tuple" - }, - { - "internalType": "address", - "name": "resolver", - "type": "address" - }, - { - "internalType": "bytes", - "name": "rules", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxCalldataSize", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Config", - "name": "_initialConfig", - "type": "tuple" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "containerHash", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "actor", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "reason", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "resolverId", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct ERC3000Data.Collateral", - "name": "collateral", - "type": "tuple" - } - ], - "name": "Challenged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "configHash", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "actor", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "executionDelay", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "scheduleDeposit", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "challengeDeposit", - "type": "tuple" - }, - { - "internalType": "address", - "name": "resolver", - "type": "address" - }, - { - "internalType": "bytes", - "name": "rules", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxCalldataSize", - "type": "uint256" - } - ], - "indexed": false, - "internalType": "struct ERC3000Data.Config", - "name": "config", - "type": "tuple" - } - ], - "name": "Configured", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "containerHash", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "actor", - "type": "address" - } - ], - "name": "Executed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes4", - "name": "role", - "type": "bytes4" - }, - { - "indexed": true, - "internalType": "address", - "name": "actor", - "type": "address" - } - ], - "name": "Frozen", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes4", - "name": "role", - "type": "bytes4" - }, - { - "indexed": true, - "internalType": "address", - "name": "actor", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "who", - "type": "address" - }, - { - "indexed": false, - "internalType": "contract IACLOracle", - "name": "oracle", - "type": "address" - } - ], - "name": "Granted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "string", - "name": "key", - "type": "string" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes4", - "name": "sig", - "type": "bytes4" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "ReceivedCallback", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes4", - "name": "sig", - "type": "bytes4" - }, - { - "indexed": false, - "internalType": "bytes4", - "name": "magicNumber", - "type": "bytes4" - } - ], - "name": "RegisteredCallback", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "RegisteredStandard", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "containerHash", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "actor", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "Resolved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes4", - "name": "role", - "type": "bytes4" - }, - { - "indexed": true, - "internalType": "address", - "name": "actor", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "who", - "type": "address" - } - ], - "name": "Revoked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract IArbitrator", - "name": "arbitrator", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "disputeId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "ruling", - "type": "uint256" - } - ], - "name": "Ruled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "containerHash", - "type": "bytes32" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionTime", - "type": "uint256" - }, - { - "internalType": "address", - "name": "submitter", - "type": "address" - }, - { - "internalType": "contract IERC3000Executor", - "name": "executor", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct ERC3000Data.Action[]", - "name": "actions", - "type": "tuple[]" - }, - { - "internalType": "bytes32", - "name": "allowFailuresMap", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "proof", - "type": "bytes" - } - ], - "indexed": false, - "internalType": "struct ERC3000Data.Payload", - "name": "payload", - "type": "tuple" - } - ], - "name": "Scheduled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "containerHash", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "actor", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "reason", - "type": "bytes" - } - ], - "name": "Vetoed", - "type": "event" - }, - { - "inputs": [], - "name": "ROOT_ROLE", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "enum ACLData.BulkOp", - "name": "op", - "type": "uint8" - }, - { - "internalType": "bytes4", - "name": "role", - "type": "bytes4" - }, - { - "internalType": "address", - "name": "who", - "type": "address" - } - ], - "internalType": "struct ACLData.BulkItem[]", - "name": "items", - "type": "tuple[]" - } - ], - "name": "bulk", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionTime", - "type": "uint256" - }, - { - "internalType": "address", - "name": "submitter", - "type": "address" - }, - { - "internalType": "contract IERC3000Executor", - "name": "executor", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct ERC3000Data.Action[]", - "name": "actions", - "type": "tuple[]" - }, - { - "internalType": "bytes32", - "name": "allowFailuresMap", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "proof", - "type": "bytes" - } - ], - "internalType": "struct ERC3000Data.Payload", - "name": "payload", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "executionDelay", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "scheduleDeposit", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "challengeDeposit", - "type": "tuple" - }, - { - "internalType": "address", - "name": "resolver", - "type": "address" - }, - { - "internalType": "bytes", - "name": "rules", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxCalldataSize", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Config", - "name": "config", - "type": "tuple" - } - ], - "internalType": "struct ERC3000Data.Container", - "name": "_container", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "_reason", - "type": "bytes" - } - ], - "name": "challenge", - "outputs": [ - { - "internalType": "uint256", - "name": "disputeId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "challengerCache", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "configHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "executionDelay", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "scheduleDeposit", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "challengeDeposit", - "type": "tuple" - }, - { - "internalType": "address", - "name": "resolver", - "type": "address" - }, - { - "internalType": "bytes", - "name": "rules", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxCalldataSize", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Config", - "name": "_config", - "type": "tuple" - } - ], - "name": "configure", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "contract IArbitrator", - "name": "", - "type": "address" - } - ], - "name": "disputeItemCache", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionTime", - "type": "uint256" - }, - { - "internalType": "address", - "name": "submitter", - "type": "address" - }, - { - "internalType": "contract IERC3000Executor", - "name": "executor", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct ERC3000Data.Action[]", - "name": "actions", - "type": "tuple[]" - }, - { - "internalType": "bytes32", - "name": "allowFailuresMap", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "proof", - "type": "bytes" - } - ], - "internalType": "struct ERC3000Data.Payload", - "name": "payload", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "executionDelay", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "scheduleDeposit", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "challengeDeposit", - "type": "tuple" - }, - { - "internalType": "address", - "name": "resolver", - "type": "address" - }, - { - "internalType": "bytes", - "name": "rules", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxCalldataSize", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Config", - "name": "config", - "type": "tuple" - } - ], - "internalType": "struct ERC3000Data.Container", - "name": "_container", - "type": "tuple" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "bytes32", - "name": "failureMap", - "type": "bytes32" - }, - { - "internalType": "bytes[]", - "name": "", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "_role", - "type": "bytes4" - } - ], - "name": "freeze", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "_role", - "type": "bytes4" - }, - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "name": "grant", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "_role", - "type": "bytes4" - }, - { - "internalType": "address", - "name": "_who", - "type": "address" - }, - { - "internalType": "contract IACLOracle", - "name": "_oracle", - "type": "address" - } - ], - "name": "grantWithOracle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "initBlocks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_aclRoot", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "executionDelay", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "scheduleDeposit", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "challengeDeposit", - "type": "tuple" - }, - { - "internalType": "address", - "name": "resolver", - "type": "address" - }, - { - "internalType": "bytes", - "name": "rules", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxCalldataSize", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Config", - "name": "_initialConfig", - "type": "tuple" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "_role", - "type": "bytes4" - } - ], - "name": "isFrozen", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "nonce", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "queue", - "outputs": [ - { - "internalType": "enum GovernQueueStateLib.State", - "name": "state", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionTime", - "type": "uint256" - }, - { - "internalType": "address", - "name": "submitter", - "type": "address" - }, - { - "internalType": "contract IERC3000Executor", - "name": "executor", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct ERC3000Data.Action[]", - "name": "actions", - "type": "tuple[]" - }, - { - "internalType": "bytes32", - "name": "allowFailuresMap", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "proof", - "type": "bytes" - } - ], - "internalType": "struct ERC3000Data.Payload", - "name": "payload", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "executionDelay", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "scheduleDeposit", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "challengeDeposit", - "type": "tuple" - }, - { - "internalType": "address", - "name": "resolver", - "type": "address" - }, - { - "internalType": "bytes", - "name": "rules", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxCalldataSize", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Config", - "name": "config", - "type": "tuple" - } - ], - "internalType": "struct ERC3000Data.Container", - "name": "_container", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "_disputeId", - "type": "uint256" - } - ], - "name": "resolve", - "outputs": [ - { - "internalType": "bytes32", - "name": "failureMap", - "type": "bytes32" - }, - { - "internalType": "bytes[]", - "name": "", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "_role", - "type": "bytes4" - }, - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "name": "revoke", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "roles", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionTime", - "type": "uint256" - }, - { - "internalType": "address", - "name": "submitter", - "type": "address" - }, - { - "internalType": "contract IERC3000Executor", - "name": "executor", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct ERC3000Data.Action[]", - "name": "actions", - "type": "tuple[]" - }, - { - "internalType": "bytes32", - "name": "allowFailuresMap", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "proof", - "type": "bytes" - } - ], - "internalType": "struct ERC3000Data.Payload", - "name": "payload", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "executionDelay", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "scheduleDeposit", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "challengeDeposit", - "type": "tuple" - }, - { - "internalType": "address", - "name": "resolver", - "type": "address" - }, - { - "internalType": "bytes", - "name": "rules", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxCalldataSize", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Config", - "name": "config", - "type": "tuple" - } - ], - "internalType": "struct ERC3000Data.Container", - "name": "_container", - "type": "tuple" - } - ], - "name": "schedule", - "outputs": [ - { - "internalType": "bytes32", - "name": "containerHash", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "_interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "executionTime", - "type": "uint256" - }, - { - "internalType": "address", - "name": "submitter", - "type": "address" - }, - { - "internalType": "contract IERC3000Executor", - "name": "executor", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct ERC3000Data.Action[]", - "name": "actions", - "type": "tuple[]" - }, - { - "internalType": "bytes32", - "name": "allowFailuresMap", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "proof", - "type": "bytes" - } - ], - "internalType": "struct ERC3000Data.Payload", - "name": "payload", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "executionDelay", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "scheduleDeposit", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Collateral", - "name": "challengeDeposit", - "type": "tuple" - }, - { - "internalType": "address", - "name": "resolver", - "type": "address" - }, - { - "internalType": "bytes", - "name": "rules", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxCalldataSize", - "type": "uint256" - } - ], - "internalType": "struct ERC3000Data.Config", - "name": "config", - "type": "tuple" - } - ], - "internalType": "struct ERC3000Data.Container", - "name": "_container", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "_reason", - "type": "bytes" - } - ], - "name": "veto", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] +[{"inputs":[{"internalType":"address","name":"_aclRoot","type":"address"},{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"internalType":"struct ERC3000Data.Config","name":"_initialConfig","type":"tuple"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"containerHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"indexed":false,"internalType":"bytes","name":"reason","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"resolverId","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"indexed":false,"internalType":"struct ERC3000Data.Collateral","name":"collateral","type":"tuple"}],"name":"Challenged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"configHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"indexed":false,"internalType":"struct ERC3000Data.Config","name":"config","type":"tuple"}],"name":"Configured","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"containerHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"actor","type":"address"}],"name":"Executed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes4","name":"role","type":"bytes4"},{"indexed":true,"internalType":"address","name":"actor","type":"address"}],"name":"Frozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes4","name":"role","type":"bytes4"},{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"indexed":true,"internalType":"address","name":"who","type":"address"},{"indexed":false,"internalType":"contract IACLOracle","name":"oracle","type":"address"}],"name":"Granted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"key","type":"string"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"ReceivedCallback","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":false,"internalType":"bytes4","name":"magicNumber","type":"bytes4"}],"name":"RegisteredCallback","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"RegisteredStandard","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"containerHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"Resolved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes4","name":"role","type":"bytes4"},{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"indexed":true,"internalType":"address","name":"who","type":"address"}],"name":"Revoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IArbitrator","name":"arbitrator","type":"address"},{"indexed":true,"internalType":"uint256","name":"disputeId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ruling","type":"uint256"}],"name":"Ruled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"containerHash","type":"bytes32"},{"components":[{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"executionTime","type":"uint256"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"contract IERC3000Executor","name":"executor","type":"address"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct ERC3000Data.Action[]","name":"actions","type":"tuple[]"},{"internalType":"bytes32","name":"allowFailuresMap","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"}],"indexed":false,"internalType":"struct ERC3000Data.Payload","name":"payload","type":"tuple"}],"name":"Scheduled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"containerHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"indexed":false,"internalType":"bytes","name":"reason","type":"bytes"}],"name":"Vetoed","type":"event"},{"inputs":[],"name":"ROOT_ROLE","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"enum ACLData.BulkOp","name":"op","type":"uint8"},{"internalType":"bytes4","name":"role","type":"bytes4"},{"internalType":"address","name":"who","type":"address"}],"internalType":"struct ACLData.BulkItem[]","name":"items","type":"tuple[]"}],"name":"bulk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"executionTime","type":"uint256"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"contract IERC3000Executor","name":"executor","type":"address"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct ERC3000Data.Action[]","name":"actions","type":"tuple[]"},{"internalType":"bytes32","name":"allowFailuresMap","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"}],"internalType":"struct ERC3000Data.Payload","name":"payload","type":"tuple"},{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"internalType":"struct ERC3000Data.Config","name":"config","type":"tuple"}],"internalType":"struct ERC3000Data.Container","name":"_container","type":"tuple"},{"internalType":"bytes","name":"_reason","type":"bytes"}],"name":"challenge","outputs":[{"internalType":"uint256","name":"disputeId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"challengerCache","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"configHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"internalType":"struct ERC3000Data.Config","name":"_config","type":"tuple"}],"name":"configure","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"contract IArbitrator","name":"","type":"address"}],"name":"disputeItemCache","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"executionTime","type":"uint256"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"contract IERC3000Executor","name":"executor","type":"address"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct ERC3000Data.Action[]","name":"actions","type":"tuple[]"},{"internalType":"bytes32","name":"allowFailuresMap","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"}],"internalType":"struct ERC3000Data.Payload","name":"payload","type":"tuple"},{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"internalType":"struct ERC3000Data.Config","name":"config","type":"tuple"}],"internalType":"struct ERC3000Data.Container","name":"_container","type":"tuple"}],"name":"execute","outputs":[{"internalType":"bytes32","name":"failureMap","type":"bytes32"},{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_role","type":"bytes4"}],"name":"freeze","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_role","type":"bytes4"},{"internalType":"address","name":"_who","type":"address"}],"name":"grant","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_role","type":"bytes4"},{"internalType":"address","name":"_who","type":"address"},{"internalType":"contract IACLOracle","name":"_oracle","type":"address"}],"name":"grantWithOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"initBlocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_aclRoot","type":"address"},{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"internalType":"struct ERC3000Data.Config","name":"_initialConfig","type":"tuple"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_role","type":"bytes4"}],"name":"isFrozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"queue","outputs":[{"internalType":"enum GovernQueueStateLib.State","name":"state","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"executionTime","type":"uint256"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"contract IERC3000Executor","name":"executor","type":"address"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct ERC3000Data.Action[]","name":"actions","type":"tuple[]"},{"internalType":"bytes32","name":"allowFailuresMap","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"}],"internalType":"struct ERC3000Data.Payload","name":"payload","type":"tuple"},{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"internalType":"struct ERC3000Data.Config","name":"config","type":"tuple"}],"internalType":"struct ERC3000Data.Container","name":"_container","type":"tuple"},{"internalType":"uint256","name":"_disputeId","type":"uint256"}],"name":"resolve","outputs":[{"internalType":"bytes32","name":"failureMap","type":"bytes32"},{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_role","type":"bytes4"},{"internalType":"address","name":"_who","type":"address"}],"name":"revoke","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"","type":"bytes4"},{"internalType":"address","name":"","type":"address"}],"name":"roles","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"executionTime","type":"uint256"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"contract IERC3000Executor","name":"executor","type":"address"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct ERC3000Data.Action[]","name":"actions","type":"tuple[]"},{"internalType":"bytes32","name":"allowFailuresMap","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"}],"internalType":"struct ERC3000Data.Payload","name":"payload","type":"tuple"},{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"internalType":"struct ERC3000Data.Config","name":"config","type":"tuple"}],"internalType":"struct ERC3000Data.Container","name":"_container","type":"tuple"}],"name":"schedule","outputs":[{"internalType":"bytes32","name":"containerHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"executionTime","type":"uint256"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"contract IERC3000Executor","name":"executor","type":"address"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct ERC3000Data.Action[]","name":"actions","type":"tuple[]"},{"internalType":"bytes32","name":"allowFailuresMap","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"}],"internalType":"struct ERC3000Data.Payload","name":"payload","type":"tuple"},{"components":[{"internalType":"uint256","name":"executionDelay","type":"uint256"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"scheduleDeposit","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ERC3000Data.Collateral","name":"challengeDeposit","type":"tuple"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"bytes","name":"rules","type":"bytes"},{"internalType":"uint256","name":"maxCalldataSize","type":"uint256"}],"internalType":"struct ERC3000Data.Config","name":"config","type":"tuple"}],"internalType":"struct ERC3000Data.Container","name":"_container","type":"tuple"},{"internalType":"bytes","name":"_reason","type":"bytes"}],"name":"veto","outputs":[],"stateMutability":"nonpayable","type":"function"}] \ No newline at end of file diff --git a/packages/subgraphs/govern-subgraph/manifest/data/rinkeby.json b/packages/subgraphs/govern-subgraph/manifest/data/rinkeby.json index 6b851b73..2361033b 100644 --- a/packages/subgraphs/govern-subgraph/manifest/data/rinkeby.json +++ b/packages/subgraphs/govern-subgraph/manifest/data/rinkeby.json @@ -1,5 +1 @@ -{ - "network": "rinkeby", - "startBlock": 10661306, - "governQueueAddress": "0x1A1Ae5f070059e1011F22BA99341fFCAe75EC2e9" -} +{"network":"rinkeby","startBlock":10661306,"governQueueAddress":"0xBf360A9be19A8467f10D97c63675Df4C87547694"} \ No newline at end of file diff --git a/packages/subgraphs/govern-subgraph/package.json b/packages/subgraphs/govern-subgraph/package.json index 495de363..867cf9a1 100644 --- a/packages/subgraphs/govern-subgraph/package.json +++ b/packages/subgraphs/govern-subgraph/package.json @@ -2,13 +2,15 @@ "name": "@aragon/govern-subgraph", "version": "1.0.0-beta.12", "scripts": { + "prepare-rinkeby": "node ./scripts/sync-with-last-deploy.js rinkeby", + "prepare-gnosis": "node ./scripts/sync-with-last-deploy.js gnosis", "manifest-rinkeby": "mustache manifest/data/rinkeby.json src/subgraph.template.yaml > subgraph.yaml", - "manifest-xdai": "mustache manifest/data/rinkeby.json src/subgraph.template.yaml > subgraph.yaml", + "manifest-gnosis": "mustache manifest/data/gnosis.json src/subgraph.template.yaml > subgraph.yaml", "build": "graph codegen && graph build", - "deploy-rinkeby": "graph deploy corantin/govern-1hive-rinkeby --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/ --access-token [THE_GRAPH_ACCESS_TOKEN]", - "deploy-rinkeby-staging": "graph deploy corantin/govern-1hive-rinkeby-staging --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/ --access-token [THE_GRAPH_ACCESS_TOKEN]", - "deploy-xdai": "graph deploy govern-1hive-xdai --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/ --access-token [THE_GRAPH_ACCESS_TOKEN]", - "deploy-xdai-staging": "graph deploy govern-1hive-xdai-staging --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/ --access-token [THE_GRAPH_ACCESS_TOKEN]", + "deploy-rinkeby": "node ./scripts/deploy.js corantin govern-1hive-rinkeby rinkeby", + "deploy-rinkeby-staging": "node ./scripts/deploy.js corantin govern-1hive-rinkeby-staging rinkeby", + "deploy-xdai": "node ./scripts/deploy.js corantin govern-1hive-xdai xdai", + "deploy-xdai-staging": "node ./scripts/deploy.js corantin govern-1hive-xdai-staging xdai", "create-local": "graph create corantin/govern-1hive-local --node http://localhost:8020", "deploy-local": "graph deploy corantin/govern-1hive-local --ipfs http://0.0.0.0:5001 --node http://0.0.0.0:8020" }, @@ -21,7 +23,10 @@ "@aragon/govern-core": "^1.0.0-beta.12", "babel-polyfill": "^6.26.0", "babel-register": "^6.26.0", - "file-type": "^16.5.0" + "file-type": "^16.5.0", + "cross-var": "^1.1.0", + "dotenv": "^10.0.0", + "dotenv-cli": "^4.0.0" }, "gitHead": "aabbf6bd2dac11872ba9bb1f1dc8fffb6044aa7c" } diff --git a/packages/subgraphs/govern-subgraph/scripts/deploy.js b/packages/subgraphs/govern-subgraph/scripts/deploy.js new file mode 100644 index 00000000..adbe250d --- /dev/null +++ b/packages/subgraphs/govern-subgraph/scripts/deploy.js @@ -0,0 +1,29 @@ +const child_process = require("child_process"); +const dotenv = require("dotenv"); +const path = require("path"); + +dotenv.config({ path: path.resolve(__dirname, "../../../../local.env") }); + +// Arguments +const args = process.argv.slice(2); +const user = args[0]; +const name = args[1]; +const network = args[2]; +// Deploy subgraph +let command = ""; +if (network === "local" || network === "localhost") + command = `graph deploy ${user}/${name} --ipfs http://localhost:5001 --node http://localhost:8020`; +else + command = `graph deploy ${user}/${name} --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/ --access-token ${process.env.THE_GRAPH_ACCESS_TOKEN}`; + +child_process.exec(command, (error, stdout, stderr) => { + if (error) { + console.log(`error: ${error.message}`); + return; + } + if (stderr) { + console.log(`stderr: ${stderr}`); + return; + } + console.log(`stdout: ${stdout}`); +}); diff --git a/packages/subgraphs/govern-subgraph/scripts/sync-with-last-deploy.js b/packages/subgraphs/govern-subgraph/scripts/sync-with-last-deploy.js new file mode 100644 index 00000000..5042cbd8 --- /dev/null +++ b/packages/subgraphs/govern-subgraph/scripts/sync-with-last-deploy.js @@ -0,0 +1,26 @@ +const network = process.argv.slice(2)[0]; +const GovernQueue = require(`../../../hardhat/deployments/${network}/GovernQueue.json`); +const ConfigJson = require(`../manifest/data/${network}.json`); +const fs = require("fs"); + +try { + fs.writeFileSync( + "./govern-core/abi/contracts/pipelines/GovernQueue.sol/GovernQueue.json", + JSON.stringify(GovernQueue.abi) + ); + //file written successfully +} catch (err) { + console.error(err); +} + +// Fetch last contract address for rinkeby +try { + ConfigJson.governQueueAddress = GovernQueue.address; + fs.writeFileSync( + `./manifest/data/${network}.json`, + JSON.stringify(ConfigJson) + ); + //file written successfully +} catch (err) { + console.error(err); +} diff --git a/packages/subgraphs/govern-subgraph/subgraph.yaml b/packages/subgraphs/govern-subgraph/subgraph.yaml index 6b5bf497..68601484 100644 --- a/packages/subgraphs/govern-subgraph/subgraph.yaml +++ b/packages/subgraphs/govern-subgraph/subgraph.yaml @@ -11,7 +11,7 @@ dataSources: network: rinkeby source: abi: GovernQueue - address: "0x1A1Ae5f070059e1011F22BA99341fFCAe75EC2e9" + address: "0xBf360A9be19A8467f10D97c63675Df4C87547694" startBlock: 10661306 mapping: kind: ethereum/events diff --git a/packages/subgraphs/quest-subgraph/config/rinkeby.json b/packages/subgraphs/quest-subgraph/config/rinkeby.json index 023d7ffa..079acf5a 100644 --- a/packages/subgraphs/quest-subgraph/config/rinkeby.json +++ b/packages/subgraphs/quest-subgraph/config/rinkeby.json @@ -1,5 +1,5 @@ { "network": "rinkeby", "startBlock": 10661308, - "questFactoryAddress": "0x7364E5149f97be72277825564cB4Fc383ECD6fdA" + "questFactoryAddress": "0x49230EAd7f26859Cce31bF6cC5836FA1B1725fBA" } diff --git a/packages/subgraphs/quest-subgraph/subgraph.yaml b/packages/subgraphs/quest-subgraph/subgraph.yaml index 08fe98ed..2642cacf 100644 --- a/packages/subgraphs/quest-subgraph/subgraph.yaml +++ b/packages/subgraphs/quest-subgraph/subgraph.yaml @@ -10,7 +10,7 @@ dataSources: name: QuestFactory network: rinkeby source: - address: "0x7364E5149f97be72277825564cB4Fc383ECD6fdA" + address: "0x49230EAd7f26859Cce31bF6cC5836FA1B1725fBA" abi: QuestFactory startBlock: 10661308 mapping: diff --git a/template.env b/template.env index 0c57b0ca..df91f444 100644 --- a/template.env +++ b/template.env @@ -3,3 +3,4 @@ MNEMONIC=[MY_METAMASK_ACCOUNT_SEEDPHRASE] INFURA_ID=[MY_INFURA_ID] ETHERSCAN_API_KEY=[MY_ETHERSCAN_API_KEY] DEPLOYER_ADDRESS=[MY_METAMASK_ACCOUNT_ADDRESS] +THE_GRAPH_ACCESS_TOKEN=[THE_GRAPH_ACCESS_TOKEN]