UNPKG

@defi-wonderland/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.5 kB
{ "_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": "0x608060405234801561001057600080fd5b503380806100305760405162b293ed60e81b815260040160405180910390fd5b601480546001600160a01b0319166001600160a01b039290921691909117905550610aec806100606000396000f3fe608060405234801561001057600080fd5b50600436106101385760003560e01c8063951dc22c116100b3578063951dc22c146102d75780639d5c33d8146102df578063a39744b5146102f2578063aac6aa9c1461031d578063ab033ea914610330578063b0103b1a14610343578063b87fcbff14610366578063cd22af1b14610389578063e326ac43146103b4578063f0f346b9146103d4578063f39c38a0146103e7578063f75f9f7b146103fa57600080fd5b806307b435c21461013d57806315006b821461017b578063168f92e7146101a65780631b44555e146101d157806321040b01146101f1578063238efcbc1461021c578063274a8db41461022657806355ea6c47146102595780635aa6e6751461026c57806368a9f19c1461028c5780637c8fce231461029f5780638cb22b76146102b4575b600080fd5b61016861014b366004610a22565b600f60209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b610168610189366004610a22565b600d60209081526000928352604080842090915290825290205481565b6101686101b4366004610a22565b600660209081526000928352604080842090915290825290205481565b6101686101df366004610a07565b60026020526000908152604090205481565b6101686101ff366004610a22565b601060209081526000928352604080842090915290825290205481565b61022461040d565b005b610249610234366004610a07565b60176020526000908152604090205460ff1681565b6040519015158152602001610172565b610224610267366004610a07565b610499565b60145461027f906001600160a01b031681565b6040516101729190610a55565b61022461029a366004610a07565b61054d565b6102a7610610565b6040516101729190610a69565b6102496102c2366004610a07565b60116020526000908152604090205460ff1681565b6102a7610621565b6102246102ed366004610a07565b61062d565b610168610300366004610a22565b600560209081526000928352604080842090915290825290205481565b61022461032b366004610a07565b6106e5565b61022461033e366004610a07565b610799565b610249610351366004610a07565b60046020526000908152604090205460ff1681565b610249610374366004610a07565b60166020526000908152604090205460ff1681565b610168610397366004610a22565b600e60209081526000928352604080842090915290825290205481565b6101686103c2366004610a07565b60036020526000908152604090205481565b6102246103e2366004610a07565b61080f565b60155461027f906001600160a01b031681565b610224610408366004610a07565b6108c3565b6015546001600160a01b0316331461043857604051637ef5703160e11b815260040160405180910390fd5b60158054601480546001600160a01b0383166001600160a01b031991821681179092559091169091556040517fc73be659241aade67e9a059bcf21494955018b213dbd1179054ccf928b13f3b69161048f91610a55565b60405180910390a1565b3360009081526017602052604090205460ff166104c957604051630942721960e31b815260040160405180910390fd5b6001600160a01b03811660009081526004602052604090205460ff16610502576040516310cec38560e21b815260040160405180910390fd5b6001600160a01b038116600081815260046020526040808220805460ff19169055513392917fe02b2375d8fb4aef3e5bc5d53bffcf70b6f185c5c93e69dcbe8b6cfc58e837e291a350565b6014546001600160a01b03163314610578576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090205460ff16156105b25760405163546da66560e11b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090819020805460ff19166001179055517f049ccb28ab796d3225573a065712f6e7754487ced56056cda8889c337511807b90610605908390610a55565b60405180910390a150565b606061061c601261097b565b905090565b606061061c600061097b565b6014546001600160a01b03163314610658576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090205460ff16156106925760405163274e25dd60e11b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090819020805460ff19166001179055517f8addc69f897ecca0e41d70ed4ff9d75a9148a615a0fbda8597e53aea2684302f90610605908390610a55565b6014546001600160a01b03163314610710576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090205460ff16610749576040516336fe17e760e21b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090819020805460ff19169055517f3ed8cbce8cab40e59282f1743e2b607effa08b5cbe0111bb4721134f2f80d02590610605908390610a55565b6014546001600160a01b031633146107c4576040516354348f0360e01b815260040160405180910390fd5b601580546001600160a01b0319166001600160a01b0383161790556040517fe987aaedf9d279143bdf1eee16cf1d0feb47742867d81083df8d6cd0a5ac857f90610605908390610a55565b6014546001600160a01b0316331461083a576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090205460ff1661087357604051633ca0d42760e11b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090819020805460ff19169055517f5e8bd21d0a98cb2caf33706e56139ff40ffbdca7ec5d9d412a0a2292496dc70e90610605908390610a55565b3360009081526017602052604090205460ff166108f357604051630942721960e31b815260040160405180910390fd5b6001600160a01b03811660009081526004602052604090205460ff161561092d576040516304ee891b60e11b815260040160405180910390fd5b6001600160a01b038116600081815260046020526040808220805460ff19166001179055513392917f070125a1c0f5202217aae14ec399abfaaa13c2fd98a91d43bd3a897dd4751e8091a350565b606060006109888361098f565b9392505050565b6060816000018054806020026020016040519081016040528092919081815260200182805480156109df57602002820191906000526020600020905b8154815260200190600101908083116109cb575b50505050509050919050565b80356001600160a01b0381168114610a0257600080fd5b919050565b600060208284031215610a1957600080fd5b610988826109eb565b60008060408385031215610a3557600080fd5b610a3e836109eb565b9150610a4c602084016109eb565b90509250929050565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b81811015610aaa5783516001600160a01b031683529284019291840191600101610a85565b5090969550505050505056fea26469706673582212207ad60a451eb391cb77b0cdb07a455859813f21ae461f714a332ac7ad5412b1b264736f6c63430008070033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101385760003560e01c8063951dc22c116100b3578063951dc22c146102d75780639d5c33d8146102df578063a39744b5146102f2578063aac6aa9c1461031d578063ab033ea914610330578063b0103b1a14610343578063b87fcbff14610366578063cd22af1b14610389578063e326ac43146103b4578063f0f346b9146103d4578063f39c38a0146103e7578063f75f9f7b146103fa57600080fd5b806307b435c21461013d57806315006b821461017b578063168f92e7146101a65780631b44555e146101d157806321040b01146101f1578063238efcbc1461021c578063274a8db41461022657806355ea6c47146102595780635aa6e6751461026c57806368a9f19c1461028c5780637c8fce231461029f5780638cb22b76146102b4575b600080fd5b61016861014b366004610a22565b600f60209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b610168610189366004610a22565b600d60209081526000928352604080842090915290825290205481565b6101686101b4366004610a22565b600660209081526000928352604080842090915290825290205481565b6101686101df366004610a07565b60026020526000908152604090205481565b6101686101ff366004610a22565b601060209081526000928352604080842090915290825290205481565b61022461040d565b005b610249610234366004610a07565b60176020526000908152604090205460ff1681565b6040519015158152602001610172565b610224610267366004610a07565b610499565b60145461027f906001600160a01b031681565b6040516101729190610a55565b61022461029a366004610a07565b61054d565b6102a7610610565b6040516101729190610a69565b6102496102c2366004610a07565b60116020526000908152604090205460ff1681565b6102a7610621565b6102246102ed366004610a07565b61062d565b610168610300366004610a22565b600560209081526000928352604080842090915290825290205481565b61022461032b366004610a07565b6106e5565b61022461033e366004610a07565b610799565b610249610351366004610a07565b60046020526000908152604090205460ff1681565b610249610374366004610a07565b60166020526000908152604090205460ff1681565b610168610397366004610a22565b600e60209081526000928352604080842090915290825290205481565b6101686103c2366004610a07565b60036020526000908152604090205481565b6102246103e2366004610a07565b61080f565b60155461027f906001600160a01b031681565b610224610408366004610a07565b6108c3565b6015546001600160a01b0316331461043857604051637ef5703160e11b815260040160405180910390fd5b60158054601480546001600160a01b0383166001600160a01b031991821681179092559091169091556040517fc73be659241aade67e9a059bcf21494955018b213dbd1179054ccf928b13f3b69161048f91610a55565b60405180910390a1565b3360009081526017602052604090205460ff166104c957604051630942721960e31b815260040160405180910390fd5b6001600160a01b03811660009081526004602052604090205460ff16610502576040516310cec38560e21b815260040160405180910390fd5b6001600160a01b038116600081815260046020526040808220805460ff19169055513392917fe02b2375d8fb4aef3e5bc5d53bffcf70b6f185c5c93e69dcbe8b6cfc58e837e291a350565b6014546001600160a01b03163314610578576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090205460ff16156105b25760405163546da66560e11b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090819020805460ff19166001179055517f049ccb28ab796d3225573a065712f6e7754487ced56056cda8889c337511807b90610605908390610a55565b60405180910390a150565b606061061c601261097b565b905090565b606061061c600061097b565b6014546001600160a01b03163314610658576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090205460ff16156106925760405163274e25dd60e11b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090819020805460ff19166001179055517f8addc69f897ecca0e41d70ed4ff9d75a9148a615a0fbda8597e53aea2684302f90610605908390610a55565b6014546001600160a01b03163314610710576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090205460ff16610749576040516336fe17e760e21b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090819020805460ff19169055517f3ed8cbce8cab40e59282f1743e2b607effa08b5cbe0111bb4721134f2f80d02590610605908390610a55565b6014546001600160a01b031633146107c4576040516354348f0360e01b815260040160405180910390fd5b601580546001600160a01b0319166001600160a01b0383161790556040517fe987aaedf9d279143bdf1eee16cf1d0feb47742867d81083df8d6cd0a5ac857f90610605908390610a55565b6014546001600160a01b0316331461083a576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090205460ff1661087357604051633ca0d42760e11b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090819020805460ff19169055517f5e8bd21d0a98cb2caf33706e56139ff40ffbdca7ec5d9d412a0a2292496dc70e90610605908390610a55565b3360009081526017602052604090205460ff166108f357604051630942721960e31b815260040160405180910390fd5b6001600160a01b03811660009081526004602052604090205460ff161561092d576040516304ee891b60e11b815260040160405180910390fd5b6001600160a01b038116600081815260046020526040808220805460ff19166001179055513392917f070125a1c0f5202217aae14ec399abfaaa13c2fd98a91d43bd3a897dd4751e8091a350565b606060006109888361098f565b9392505050565b6060816000018054806020026020016040519081016040528092919081815260200182805480156109df57602002820191906000526020600020905b8154815260200190600101908083116109cb575b50505050509050919050565b80356001600160a01b0381168114610a0257600080fd5b919050565b600060208284031215610a1957600080fd5b610988826109eb565b60008060408385031215610a3557600080fd5b610a3e836109eb565b9150610a4c602084016109eb565b90509250929050565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b81811015610aaa5783516001600160a01b031683529284019291840191600101610a85565b5090969550505050505056fea26469706673582212207ad60a451eb391cb77b0cdb07a455859813f21ae461f714a332ac7ad5412b1b264736f6c63430008070033", "linkReferences": {}, "deployedLinkReferences": {} }