keep3r-v2
Version:
The Keep3r Network is a decentralized network for projects that need external devops, and for external teams to find keeper jobs
656 lines (655 loc) • 24.6 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "Keep3rDisputableForTest",
"sourceName": "solidity/for-test/peripherals/Keep3rDisputableForTest.sol",
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "AlreadyDisputed",
"type": "error"
},
{
"inputs": [],
"name": "DisputerExistent",
"type": "error"
},
{
"inputs": [],
"name": "DisputerUnexistent",
"type": "error"
},
{
"inputs": [],
"name": "JobDisputed",
"type": "error"
},
{
"inputs": [],
"name": "JobUnavailable",
"type": "error"
},
{
"inputs": [],
"name": "NoGovernanceZeroAddress",
"type": "error"
},
{
"inputs": [],
"name": "NotDisputed",
"type": "error"
},
{
"inputs": [],
"name": "OnlyDisputer",
"type": "error"
},
{
"inputs": [],
"name": "OnlyGovernance",
"type": "error"
},
{
"inputs": [],
"name": "OnlyPendingGovernance",
"type": "error"
},
{
"inputs": [],
"name": "OnlySlasher",
"type": "error"
},
{
"inputs": [],
"name": "SlasherExistent",
"type": "error"
},
{
"inputs": [],
"name": "SlasherUnexistent",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_keeper",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_bonding",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "Bonding",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_jobOrKeeper",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_disputer",
"type": "address"
}
],
"name": "Dispute",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_disputer",
"type": "address"
}
],
"name": "DisputerAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_disputer",
"type": "address"
}
],
"name": "DisputerRemoved",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_pendingGovernance",
"type": "address"
}
],
"name": "GovernanceProposal",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_governance",
"type": "address"
}
],
"name": "GovernanceSet",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_jobOrKeeper",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_resolver",
"type": "address"
}
],
"name": "Resolve",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_slasher",
"type": "address"
}
],
"name": "SlasherAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_slasher",
"type": "address"
}
],
"name": "SlasherRemoved",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_keeperOrJob",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_unbonding",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "Unbonding",
"type": "event"
},
{
"inputs": [],
"name": "acceptGovernance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_disputer",
"type": "address"
}
],
"name": "addDisputer",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_slasher",
"type": "address"
}
],
"name": "addSlasher",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "bonds",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "canActivateAfter",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "canWithdrawAfter",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_jobOrKeeper",
"type": "address"
}
],
"name": "dispute",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "disputers",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "disputes",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "firstSeen",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "governance",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "hasBonded",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "jobTokenCredits",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "jobs",
"outputs": [
{
"internalType": "address[]",
"name": "_list",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "keepers",
"outputs": [
{
"internalType": "address[]",
"name": "_list",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "pendingBonds",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pendingGovernance",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "pendingUnbonds",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_disputer",
"type": "address"
}
],
"name": "removeDisputer",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_slasher",
"type": "address"
}
],
"name": "removeSlasher",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_jobOrKeeper",
"type": "address"
}
],
"name": "resolve",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_governance",
"type": "address"
}
],
"name": "setGovernance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "slashers",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "workCompleted",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b503380806100305760405162b293ed60e81b815260040160405180910390fd5b601480546001600160a01b0319166001600160a01b039290921691909117905550610b03806100606000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c8063951dc22c116100c3578063b87fcbff1161007c578063b87fcbff14610391578063cd22af1b146103b4578063e326ac43146103df578063f0f346b9146103ff578063f39c38a014610412578063f75f9f7b1461042557600080fd5b8063951dc22c146103025780639d5c33d81461030a578063a39744b51461031d578063aac6aa9c14610348578063ab033ea91461035b578063b0103b1a1461036e57600080fd5b8063274a8db411610115578063274a8db41461024657806355ea6c47146102795780635aa6e6751461028c57806368a9f19c146102b75780637c8fce23146102ca5780638cb22b76146102df57600080fd5b806307b435c21461015d57806315006b821461019b578063168f92e7146101c65780631b44555e146101f157806321040b0114610211578063238efcbc1461023c575b600080fd5b61018861016b366004610a4d565b600f60209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b6101886101a9366004610a4d565b600d60209081526000928352604080842090915290825290205481565b6101886101d4366004610a4d565b600660209081526000928352604080842090915290825290205481565b6101886101ff366004610a32565b60026020526000908152604090205481565b61018861021f366004610a4d565b601060209081526000928352604080842090915290825290205481565b610244610438565b005b610269610254366004610a32565b60176020526000908152604090205460ff1681565b6040519015158152602001610192565b610244610287366004610a32565b6104c1565b60145461029f906001600160a01b031681565b6040516001600160a01b039091168152602001610192565b6102446102c5366004610a32565b610575565b6102d2610635565b6040516101929190610a80565b6102696102ed366004610a32565b60116020526000908152604090205460ff1681565b6102d2610646565b610244610318366004610a32565b610652565b61018861032b366004610a4d565b600560209081526000928352604080842090915290825290205481565b610244610356366004610a32565b61070b565b610244610369366004610a32565b6107c0565b61026961037c366004610a32565b60046020526000908152604090205460ff1681565b61026961039f366004610a32565b60166020526000908152604090205460ff1681565b6101886103c2366004610a4d565b600e60209081526000928352604080842090915290825290205481565b6101886103ed366004610a32565b60036020526000908152604090205481565b61024461040d366004610a32565b610839565b60155461029f906001600160a01b031681565b610244610433366004610a32565b6108ee565b6015546001600160a01b0316331461046357604051637ef5703160e11b815260040160405180910390fd5b60158054601480546001600160a01b0383166001600160a01b031991821681179092559091169091556040519081527fc73be659241aade67e9a059bcf21494955018b213dbd1179054ccf928b13f3b69060200160405180910390a1565b3360009081526017602052604090205460ff166104f157604051630942721960e31b815260040160405180910390fd5b6001600160a01b03811660009081526004602052604090205460ff1661052a576040516310cec38560e21b815260040160405180910390fd5b6001600160a01b038116600081815260046020526040808220805460ff19169055513392917fe02b2375d8fb4aef3e5bc5d53bffcf70b6f185c5c93e69dcbe8b6cfc58e837e291a350565b6014546001600160a01b031633146105a0576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090205460ff16156105da5760405163546da66560e11b815260040160405180910390fd5b6001600160a01b038116600081815260166020908152604091829020805460ff1916600117905590519182527f049ccb28ab796d3225573a065712f6e7754487ced56056cda8889c337511807b91015b60405180910390a150565b606061064160126109a6565b905090565b606061064160006109a6565b6014546001600160a01b0316331461067d576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090205460ff16156106b75760405163274e25dd60e11b815260040160405180910390fd5b6001600160a01b038116600081815260176020908152604091829020805460ff1916600117905590519182527f8addc69f897ecca0e41d70ed4ff9d75a9148a615a0fbda8597e53aea2684302f910161062a565b6014546001600160a01b03163314610736576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090205460ff1661076f576040516336fe17e760e21b815260040160405180910390fd5b6001600160a01b038116600081815260166020908152604091829020805460ff1916905590519182527f3ed8cbce8cab40e59282f1743e2b607effa08b5cbe0111bb4721134f2f80d025910161062a565b6014546001600160a01b031633146107eb576040516354348f0360e01b815260040160405180910390fd5b601580546001600160a01b0319166001600160a01b0383169081179091556040519081527fe987aaedf9d279143bdf1eee16cf1d0feb47742867d81083df8d6cd0a5ac857f9060200161062a565b6014546001600160a01b03163314610864576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090205460ff1661089d57604051633ca0d42760e11b815260040160405180910390fd5b6001600160a01b038116600081815260176020908152604091829020805460ff1916905590519182527f5e8bd21d0a98cb2caf33706e56139ff40ffbdca7ec5d9d412a0a2292496dc70e910161062a565b3360009081526017602052604090205460ff1661091e57604051630942721960e31b815260040160405180910390fd5b6001600160a01b03811660009081526004602052604090205460ff1615610958576040516304ee891b60e11b815260040160405180910390fd5b6001600160a01b038116600081815260046020526040808220805460ff19166001179055513392917f070125a1c0f5202217aae14ec399abfaaa13c2fd98a91d43bd3a897dd4751e8091a350565b606060006109b3836109ba565b9392505050565b606081600001805480602002602001604051908101604052809291908181526020018280548015610a0a57602002820191906000526020600020905b8154815260200190600101908083116109f6575b50505050509050919050565b80356001600160a01b0381168114610a2d57600080fd5b919050565b600060208284031215610a4457600080fd5b6109b382610a16565b60008060408385031215610a6057600080fd5b610a6983610a16565b9150610a7760208401610a16565b90509250929050565b6020808252825182820181905260009190848201906040850190845b81811015610ac15783516001600160a01b031683529284019291840191600101610a9c565b5090969550505050505056fea264697066735822122085378f394db3025c06a14897f9db08ecc1f9e9be3ee7b7a0d56dd675fce14c7c64736f6c63430008070033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101585760003560e01c8063951dc22c116100c3578063b87fcbff1161007c578063b87fcbff14610391578063cd22af1b146103b4578063e326ac43146103df578063f0f346b9146103ff578063f39c38a014610412578063f75f9f7b1461042557600080fd5b8063951dc22c146103025780639d5c33d81461030a578063a39744b51461031d578063aac6aa9c14610348578063ab033ea91461035b578063b0103b1a1461036e57600080fd5b8063274a8db411610115578063274a8db41461024657806355ea6c47146102795780635aa6e6751461028c57806368a9f19c146102b75780637c8fce23146102ca5780638cb22b76146102df57600080fd5b806307b435c21461015d57806315006b821461019b578063168f92e7146101c65780631b44555e146101f157806321040b0114610211578063238efcbc1461023c575b600080fd5b61018861016b366004610a4d565b600f60209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b6101886101a9366004610a4d565b600d60209081526000928352604080842090915290825290205481565b6101886101d4366004610a4d565b600660209081526000928352604080842090915290825290205481565b6101886101ff366004610a32565b60026020526000908152604090205481565b61018861021f366004610a4d565b601060209081526000928352604080842090915290825290205481565b610244610438565b005b610269610254366004610a32565b60176020526000908152604090205460ff1681565b6040519015158152602001610192565b610244610287366004610a32565b6104c1565b60145461029f906001600160a01b031681565b6040516001600160a01b039091168152602001610192565b6102446102c5366004610a32565b610575565b6102d2610635565b6040516101929190610a80565b6102696102ed366004610a32565b60116020526000908152604090205460ff1681565b6102d2610646565b610244610318366004610a32565b610652565b61018861032b366004610a4d565b600560209081526000928352604080842090915290825290205481565b610244610356366004610a32565b61070b565b610244610369366004610a32565b6107c0565b61026961037c366004610a32565b60046020526000908152604090205460ff1681565b61026961039f366004610a32565b60166020526000908152604090205460ff1681565b6101886103c2366004610a4d565b600e60209081526000928352604080842090915290825290205481565b6101886103ed366004610a32565b60036020526000908152604090205481565b61024461040d366004610a32565b610839565b60155461029f906001600160a01b031681565b610244610433366004610a32565b6108ee565b6015546001600160a01b0316331461046357604051637ef5703160e11b815260040160405180910390fd5b60158054601480546001600160a01b0383166001600160a01b031991821681179092559091169091556040519081527fc73be659241aade67e9a059bcf21494955018b213dbd1179054ccf928b13f3b69060200160405180910390a1565b3360009081526017602052604090205460ff166104f157604051630942721960e31b815260040160405180910390fd5b6001600160a01b03811660009081526004602052604090205460ff1661052a576040516310cec38560e21b815260040160405180910390fd5b6001600160a01b038116600081815260046020526040808220805460ff19169055513392917fe02b2375d8fb4aef3e5bc5d53bffcf70b6f185c5c93e69dcbe8b6cfc58e837e291a350565b6014546001600160a01b031633146105a0576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090205460ff16156105da5760405163546da66560e11b815260040160405180910390fd5b6001600160a01b038116600081815260166020908152604091829020805460ff1916600117905590519182527f049ccb28ab796d3225573a065712f6e7754487ced56056cda8889c337511807b91015b60405180910390a150565b606061064160126109a6565b905090565b606061064160006109a6565b6014546001600160a01b0316331461067d576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090205460ff16156106b75760405163274e25dd60e11b815260040160405180910390fd5b6001600160a01b038116600081815260176020908152604091829020805460ff1916600117905590519182527f8addc69f897ecca0e41d70ed4ff9d75a9148a615a0fbda8597e53aea2684302f910161062a565b6014546001600160a01b03163314610736576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090205460ff1661076f576040516336fe17e760e21b815260040160405180910390fd5b6001600160a01b038116600081815260166020908152604091829020805460ff1916905590519182527f3ed8cbce8cab40e59282f1743e2b607effa08b5cbe0111bb4721134f2f80d025910161062a565b6014546001600160a01b031633146107eb576040516354348f0360e01b815260040160405180910390fd5b601580546001600160a01b0319166001600160a01b0383169081179091556040519081527fe987aaedf9d279143bdf1eee16cf1d0feb47742867d81083df8d6cd0a5ac857f9060200161062a565b6014546001600160a01b03163314610864576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090205460ff1661089d57604051633ca0d42760e11b815260040160405180910390fd5b6001600160a01b038116600081815260176020908152604091829020805460ff1916905590519182527f5e8bd21d0a98cb2caf33706e56139ff40ffbdca7ec5d9d412a0a2292496dc70e910161062a565b3360009081526017602052604090205460ff1661091e57604051630942721960e31b815260040160405180910390fd5b6001600160a01b03811660009081526004602052604090205460ff1615610958576040516304ee891b60e11b815260040160405180910390fd5b6001600160a01b038116600081815260046020526040808220805460ff19166001179055513392917f070125a1c0f5202217aae14ec399abfaaa13c2fd98a91d43bd3a897dd4751e8091a350565b606060006109b3836109ba565b9392505050565b606081600001805480602002602001604051908101604052809291908181526020018280548015610a0a57602002820191906000526020600020905b8154815260200190600101908083116109f6575b50505050509050919050565b80356001600160a01b0381168114610a2d57600080fd5b919050565b600060208284031215610a4457600080fd5b6109b382610a16565b60008060408385031215610a6057600080fd5b610a6983610a16565b9150610a7760208401610a16565b90509250929050565b6020808252825182820181905260009190848201906040850190845b81811015610ac15783516001600160a01b031683529284019291840191600101610a9c565b5090969550505050505056fea264697066735822122085378f394db3025c06a14897f9db08ecc1f9e9be3ee7b7a0d56dd675fce14c7c64736f6c63430008070033",
"linkReferences": {},
"deployedLinkReferences": {}
}