UNPKG

keep3r-v2

Version:

The Keep3r Network is a decentralized network for projects that need external devops, and for external teams to find keeper jobs

1,244 lines (1,243 loc) 48.2 kB
{ "_format": "hh-sol-artifact-1", "contractName": "Keep3rJobManagerForTest", "sourceName": "solidity/for-test/peripherals/jobs/Keep3rJobManagerForTest.sol", "abi": [ { "inputs": [ { "internalType": "address", "name": "_keep3rHelper", "type": "address" }, { "internalType": "address", "name": "_keep3rV1", "type": "address" }, { "internalType": "address", "name": "_keep3rV1Proxy", "type": "address" }, { "internalType": "address", "name": "_kp3rWethPool", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AlreadyAKeeper", "type": "error" }, { "inputs": [], "name": "BondsLocked", "type": "error" }, { "inputs": [], "name": "BondsUnexistent", "type": "error" }, { "inputs": [], "name": "Disputed", "type": "error" }, { "inputs": [], "name": "DisputerExistent", "type": "error" }, { "inputs": [], "name": "DisputerUnexistent", "type": "error" }, { "inputs": [], "name": "JobAlreadyAdded", "type": "error" }, { "inputs": [], "name": "JobDisputed", "type": "error" }, { "inputs": [], "name": "JobUnavailable", "type": "error" }, { "inputs": [], "name": "MinRewardPeriod", "type": "error" }, { "inputs": [], "name": "NoGovernanceZeroAddress", "type": "error" }, { "inputs": [], "name": "OnlyDisputer", "type": "error" }, { "inputs": [], "name": "OnlyGovernance", "type": "error" }, { "inputs": [], "name": "OnlyJobOwner", "type": "error" }, { "inputs": [], "name": "OnlyPendingGovernance", "type": "error" }, { "inputs": [], "name": "OnlyPendingJobOwner", "type": "error" }, { "inputs": [], "name": "OnlySlasher", "type": "error" }, { "inputs": [], "name": "SlasherExistent", "type": "error" }, { "inputs": [], "name": "SlasherUnexistent", "type": "error" }, { "inputs": [], "name": "UnbondsLocked", "type": "error" }, { "inputs": [], "name": "UnbondsUnexistent", "type": "error" }, { "inputs": [], "name": "ZeroAddress", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_bondTime", "type": "uint256" } ], "name": "BondTimeChange", "type": "event" }, { "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": 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": "uint256", "name": "_fee", "type": "uint256" } ], "name": "FeeChange", "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": false, "internalType": "uint256", "name": "_inflationPeriod", "type": "uint256" } ], "name": "InflationPeriodChange", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_job", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_jobOwner", "type": "address" } ], "name": "JobAddition", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_job", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_newOwner", "type": "address" } ], "name": "JobOwnershipAssent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_job", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_pendingOwner", "type": "address" } ], "name": "JobOwnershipChange", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_keep3rHelper", "type": "address" } ], "name": "Keep3rHelperChange", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_keep3rV1", "type": "address" } ], "name": "Keep3rV1Change", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_keep3rV1Proxy", "type": "address" } ], "name": "Keep3rV1ProxyChange", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_kp3rWethPool", "type": "address" } ], "name": "Kp3rWethPoolChange", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_liquidityMinimum", "type": "uint256" } ], "name": "LiquidityMinimumChange", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_rewardPeriodTime", "type": "uint256" } ], "name": "RewardPeriodTimeChange", "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": false, "internalType": "uint256", "name": "_unbondTime", "type": "uint256" } ], "name": "UnbondTimeChange", "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": "BASE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MIN_REWARD_PERIOD_TIME", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "acceptGovernance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_job", "type": "address" } ], "name": "acceptJobOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_disputer", "type": "address" } ], "name": "addDisputer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_job", "type": "address" } ], "name": "addJob", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_slasher", "type": "address" } ], "name": "addSlasher", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "bondTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": "_job", "type": "address" }, { "internalType": "address", "name": "_newOwner", "type": "address" } ], "name": "changeJobOwnership", "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": [], "name": "fee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [], "name": "inflationPeriod", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_job", "type": "address" } ], "name": "isJob", "outputs": [ { "internalType": "bool", "name": "_isJob", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "jobOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "jobPendingOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "keep3rHelper", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "keep3rV1", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "keep3rV1Proxy", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "keepers", "outputs": [ { "internalType": "address[]", "name": "_list", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "kp3rWethPool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityMinimum", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [], "name": "rewardPeriodTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_bondTime", "type": "uint256" } ], "name": "setBondTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_fee", "type": "uint256" } ], "name": "setFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_governance", "type": "address" } ], "name": "setGovernance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_inflationPeriod", "type": "uint256" } ], "name": "setInflationPeriod", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_keep3rHelper", "type": "address" } ], "name": "setKeep3rHelper", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_keep3rV1", "type": "address" } ], "name": "setKeep3rV1", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_keep3rV1Proxy", "type": "address" } ], "name": "setKeep3rV1Proxy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_kp3rWethPool", "type": "address" } ], "name": "setKp3rWethPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_liquidityMinimum", "type": "uint256" } ], "name": "setLiquidityMinimum", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_rewardPeriodTime", "type": "uint256" } ], "name": "setRewardPeriodTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_unbondTime", "type": "uint256" } ], "name": "setUnbondTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "slashers", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "unbondTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "workCompleted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x60806040526203f480601e5562127500601f556729a2241af62c000060205562069780602155622cd300602255601e6023553480156200003e57600080fd5b50604051620017b8380380620017b88339810160408190526200006191620001bf565b83838383338080620000855760405162b293ed60e81b815260040160405180910390fd5b601680546001600160a01b03199081166001600160a01b0393841617909155601c80548216888416178155601a80548316888516179055601b80548316878516179055601d8054831686851690811782556000818152600d602052604090819020805490951690911790935590549054915163696a437b60e01b81529183166004830152909116915063696a437b9060240160206040518083038186803b1580156200013057600080fd5b505afa15801562000145573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016b91906200021c565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055506200024795505050505050565b80516001600160a01b0381168114620001ba57600080fd5b919050565b60008060008060808587031215620001d657600080fd5b620001e185620001a2565b9350620001f160208601620001a2565b92506200020160408601620001a2565b91506200021160608601620001a2565b905092959194509250565b6000602082840312156200022f57600080fd5b815180151581146200024057600080fd5b9392505050565b61156180620002576000396000f3fe608060405234801561001057600080fd5b50600436106102d65760003560e01c8063951dc22c11610182578063c7ae40d0116100e9578063ebbb6194116100a2578063f0f346b91161007c578063f0f346b91461073f578063f11a1d1a14610752578063f39c38a014610765578063fc253d2b1461077857600080fd5b8063ebbb619414610710578063ec00cdfc14610723578063ec342ad01461073657600080fd5b8063c7ae40d014610683578063cb4be2bb14610696578063cb54694d146106a9578063cd22af1b146106bc578063ddca3f43146106e7578063e326ac43146106f057600080fd5b8063ab033ea91161013b578063ab033ea9146105f1578063b0103b1a14610604578063b239223314610627578063b7e773401461063a578063b87fcbff1461064d578063c5198abc1461067057600080fd5b8063951dc22c1461056657806398e90a0f1461056e5780639d5c33d814610597578063a39744b5146105aa578063a7d2e784146105d5578063aac6aa9c146105de57600080fd5b806359a2255e1161024157806372da828a116101fa5780637c8fce23116101d45780637c8fce23146104f2578063878c723e146105075780638cb22b76146105305780638fe204dd1461055357600080fd5b806372da828a146104c3578063768b5d90146104d65780637b40c913146104df57600080fd5b806359a2255e146104655780635aa6e675146104785780635ebe23f01461048b578063633fb68f1461049457806368a9f19c1461049d57806369fe0e2d146104b057600080fd5b80631ef94b91116102935780631ef94b91146103c757806321040b01146103f2578063238efcbc1461041d578063274a8db414610425578063461411bc14610448578063594a3a931461045257600080fd5b806307b435c2146102db57806315006b8214610319578063160e1e3114610344578063168f92e7146103595780631b44555e146103845780631cd5c01f146103a4575b600080fd5b6103066102e9366004611470565b601160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b610306610327366004611470565b600f60209081526000928352604080842090915290825290205481565b610357610352366004611455565b610781565b005b610306610367366004611470565b600860209081526000928352604080842090915290825290205481565b610306610392366004611455565b60046020526000908152604090205481565b6103b76103b2366004611455565b6108de565b6040519015158152602001610310565b601a546103da906001600160a01b031681565b6040516001600160a01b039091168152602001610310565b610306610400366004611470565b601260209081526000928352604080842090915290825290205481565b6103576108f1565b6103b7610433366004611455565b60196020526000908152604090205460ff1681565b6103066201518081565b610357610460366004611470565b61097a565b610357610473366004611455565b610a1e565b6016546103da906001600160a01b031681565b610306601e5481565b61030660205481565b6103576104ab366004611455565b610ace565b6103576104be3660046114c5565b610b87565b6103576104d1366004611455565b610be7565b61030660215481565b601d546103da906001600160a01b031681565b6104fa610c87565b60405161031091906114de565b6103da610515366004611455565b6000602081905290815260409020546001600160a01b031681565b6103b761053e366004611455565b60136020526000908152604090205460ff1681565b6103576105613660046114c5565b610c98565b6104fa610cf8565b6103da61057c366004611455565b6001602052600090815260409020546001600160a01b031681565b6103576105a5366004611455565b610d04565b6103066105b8366004611470565b600760209081526000928352604080842090915290825290205481565b610306601f5481565b6103576105ec366004611455565b610dbd565b6103576105ff366004611455565b610e72565b6103b7610612366004611455565b60066020526000908152604090205460ff1681565b6103576106353660046114c5565b610eeb565b6103576106483660046114c5565b610f4b565b6103b761065b366004611455565b60186020526000908152604090205460ff1681565b61035761067e366004611455565b610fab565b601b546103da906001600160a01b031681565b6103576106a4366004611455565b611070565b6103576106b73660046114c5565b611110565b6103066106ca366004611470565b601060209081526000928352604080842090915290825290205481565b61030660235481565b6103066106fe366004611455565b60056020526000908152604090205481565b61035761071e3660046114c5565b611194565b610357610731366004611455565b6111f2565b61030661271081565b61035761074d366004611455565b611292565b601c546103da906001600160a01b031681565b6017546103da906001600160a01b031681565b61030660225481565b6016546001600160a01b031633146107ac576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b0381166107d35760405163d92e233d60e01b815260040160405180910390fd5b601d80546001600160a01b038381166001600160a01b031992831681179093556000838152600d60205260409081902080549093168417909255601c54915163696a437b60e01b81526004810193909352169063696a437b9060240160206040518083038186803b15801561084757600080fd5b505afa15801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f91906114a3565b6001600160a01b0382166000818152600e6020908152604091829020805460ff191694151594909417909355519081527f9bb1515b0fc2645a3f011162460a22fdd512e0bca265e7dc9ba6bceae8930afa91015b60405180910390a150565b60006108eb601483611347565b92915050565b6017546001600160a01b0316331461091c57604051637ef5703160e11b815260040160405180910390fd5b60178054601680546001600160a01b0383166001600160a01b031991821681179092559091169091556040519081527fc73be659241aade67e9a059bcf21494955018b213dbd1179054ccf928b13f3b69060200160405180910390a1565b6001600160a01b0382811660009081526020819052604090205483911633146109b657604051636efb4f4160e11b815260040160405180910390fd5b6001600160a01b03838116600081815260016020908152604080832080546001600160a01b0319168887169081179091559183905280832054905191941692917fa8bad3f0b781e1d954af9945167d5f80bfe5e57930f17c93843187c77557a6b891a4505050565b6001600160a01b038181166000908152600160205260409020548291163314610a5a5760405163cfe9663360e01b815260040160405180910390fd5b6001600160a01b0382811660008181526020818152604080832080546001909352818420805487166001600160a01b031980861691909117909255805490911690555193169283929133917fcf30c54296d5eee76168b564c59c50578d49c271733a470f32707c8cfbc88a8b9190a4505050565b6016546001600160a01b03163314610af9576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526018602052604090205460ff1615610b335760405163546da66560e11b815260040160405180910390fd5b6001600160a01b038116600081815260186020908152604091829020805460ff1916600117905590519182527f049ccb28ab796d3225573a065712f6e7754487ced56056cda8889c337511807b91016108d3565b6016546001600160a01b03163314610bb2576040516354348f0360e01b815260040160405180910390fd5b60238190556040518181527f4c10ca068ff7002cf5da78f2f697d1e91f6f0ac27f7344b28e8ef25263f87e5d906020016108d3565b6016546001600160a01b03163314610c12576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b038116610c395760405163d92e233d60e01b815260040160405180910390fd5b601c80546001600160a01b0319166001600160a01b0383169081179091556040519081527f71973fd672e51deb8f739b1f7e1eab991936645acd6f83e2bde6eeeaff5490b0906020016108d3565b6060610c93601461136c565b905090565b6016546001600160a01b03163314610cc3576040516354348f0360e01b815260040160405180910390fd5b601f8190556040518181527fc8d443472c9783cc36f8f5f5091f08ce9f37fc2f9e6d79cf1d9aaf40a433fee2906020016108d3565b6060610c93600261136c565b6016546001600160a01b03163314610d2f576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526019602052604090205460ff1615610d695760405163274e25dd60e11b815260040160405180910390fd5b6001600160a01b038116600081815260196020908152604091829020805460ff1916600117905590519182527f8addc69f897ecca0e41d70ed4ff9d75a9148a615a0fbda8597e53aea2684302f91016108d3565b6016546001600160a01b03163314610de8576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526018602052604090205460ff16610e21576040516336fe17e760e21b815260040160405180910390fd5b6001600160a01b038116600081815260186020908152604091829020805460ff1916905590519182527f3ed8cbce8cab40e59282f1743e2b607effa08b5cbe0111bb4721134f2f80d02591016108d3565b6016546001600160a01b03163314610e9d576040516354348f0360e01b815260040160405180910390fd5b601780546001600160a01b0319166001600160a01b0383169081179091556040519081527fe987aaedf9d279143bdf1eee16cf1d0feb47742867d81083df8d6cd0a5ac857f906020016108d3565b6016546001600160a01b03163314610f16576040516354348f0360e01b815260040160405180910390fd5b60228190556040518181527fbdcfd7b8482f31cff6a87c362d9e2e3887f4cdc2018c7c485d8e78a7b2fadb69906020016108d3565b6016546001600160a01b03163314610f76576040516354348f0360e01b815260040160405180910390fd5b601e8190556040518181527fd319ef78d2b690bb773fcccc2d096306bac7c9222dd0bb6b300f461e4a376b43906020016108d3565b610fb6601482611347565b15610fd457604051630809740d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526013602052604090205460ff161561100e57604051632f3d320560e01b815260040160405180910390fd5b611019601482611379565b506001600160a01b03811660008181526020819052604080822080546001600160a01b03191633908117909155905190917fed3faef50715743626cd57de74281a2b17cdbfc11c0486feda541fb911e0293d91a350565b6016546001600160a01b0316331461109b576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b0381166110c25760405163d92e233d60e01b815260040160405180910390fd5b601b80546001600160a01b0319166001600160a01b0383169081179091556040519081527feb931b4b5a98d20a6b1e6693a7c59d8e337a06e2f1473bb776e19251db7ae250906020016108d3565b6016546001600160a01b0316331461113b576040516354348f0360e01b815260040160405180910390fd5b6201518081101561115f57604051633f384aad60e21b815260040160405180910390fd5b60218190556040518181527f54aafa56429e22230b52f1495588ffc632277d74f3a85ec755e13ac50c1584d9906020016108d3565b6016546001600160a01b031633146111bf576040516354348f0360e01b815260040160405180910390fd5b60208181556040518281527f24d51b415694a791b1c77df7817c075ac82b83ce611bcd8627d2e66cf37aa3e791016108d3565b6016546001600160a01b0316331461121d576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b0381166112445760405163d92e233d60e01b815260040160405180910390fd5b601a80546001600160a01b0319166001600160a01b0383169081179091556040519081527f1d1a3e7caf0717056e48dc8aefa54d806c7af86324fece4e5d49f8e1f01f84bf906020016108d3565b6016546001600160a01b031633146112bd576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526019602052604090205460ff166112f657604051633ca0d42760e11b815260040160405180910390fd5b6001600160a01b038116600081815260196020908152604091829020805460ff1916905590519182527f5e8bd21d0a98cb2caf33706e56139ff40ffbdca7ec5d9d412a0a2292496dc70e91016108d3565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b606060006113658361138e565b6000611365836001600160a01b0384166113ea565b6060816000018054806020026020016040519081016040528092919081815260200182805480156113de57602002820191906000526020600020905b8154815260200190600101908083116113ca575b50505050509050919050565b6000818152600183016020526040812054611431575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556108eb565b5060006108eb565b80356001600160a01b038116811461145057600080fd5b919050565b60006020828403121561146757600080fd5b61136582611439565b6000806040838503121561148357600080fd5b61148c83611439565b915061149a60208401611439565b90509250929050565b6000602082840312156114b557600080fd5b8151801515811461136557600080fd5b6000602082840312156114d757600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561151f5783516001600160a01b0316835292840192918401916001016114fa565b5090969550505050505056fea26469706673582212201cd5837c5340414b9bdb0f01a24b5d9100af7e3b7c698ad3965d0e9e9acdbb6164736f6c63430008070033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102d65760003560e01c8063951dc22c11610182578063c7ae40d0116100e9578063ebbb6194116100a2578063f0f346b91161007c578063f0f346b91461073f578063f11a1d1a14610752578063f39c38a014610765578063fc253d2b1461077857600080fd5b8063ebbb619414610710578063ec00cdfc14610723578063ec342ad01461073657600080fd5b8063c7ae40d014610683578063cb4be2bb14610696578063cb54694d146106a9578063cd22af1b146106bc578063ddca3f43146106e7578063e326ac43146106f057600080fd5b8063ab033ea91161013b578063ab033ea9146105f1578063b0103b1a14610604578063b239223314610627578063b7e773401461063a578063b87fcbff1461064d578063c5198abc1461067057600080fd5b8063951dc22c1461056657806398e90a0f1461056e5780639d5c33d814610597578063a39744b5146105aa578063a7d2e784146105d5578063aac6aa9c146105de57600080fd5b806359a2255e1161024157806372da828a116101fa5780637c8fce23116101d45780637c8fce23146104f2578063878c723e146105075780638cb22b76146105305780638fe204dd1461055357600080fd5b806372da828a146104c3578063768b5d90146104d65780637b40c913146104df57600080fd5b806359a2255e146104655780635aa6e675146104785780635ebe23f01461048b578063633fb68f1461049457806368a9f19c1461049d57806369fe0e2d146104b057600080fd5b80631ef94b91116102935780631ef94b91146103c757806321040b01146103f2578063238efcbc1461041d578063274a8db414610425578063461411bc14610448578063594a3a931461045257600080fd5b806307b435c2146102db57806315006b8214610319578063160e1e3114610344578063168f92e7146103595780631b44555e146103845780631cd5c01f146103a4575b600080fd5b6103066102e9366004611470565b601160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b610306610327366004611470565b600f60209081526000928352604080842090915290825290205481565b610357610352366004611455565b610781565b005b610306610367366004611470565b600860209081526000928352604080842090915290825290205481565b610306610392366004611455565b60046020526000908152604090205481565b6103b76103b2366004611455565b6108de565b6040519015158152602001610310565b601a546103da906001600160a01b031681565b6040516001600160a01b039091168152602001610310565b610306610400366004611470565b601260209081526000928352604080842090915290825290205481565b6103576108f1565b6103b7610433366004611455565b60196020526000908152604090205460ff1681565b6103066201518081565b610357610460366004611470565b61097a565b610357610473366004611455565b610a1e565b6016546103da906001600160a01b031681565b610306601e5481565b61030660205481565b6103576104ab366004611455565b610ace565b6103576104be3660046114c5565b610b87565b6103576104d1366004611455565b610be7565b61030660215481565b601d546103da906001600160a01b031681565b6104fa610c87565b60405161031091906114de565b6103da610515366004611455565b6000602081905290815260409020546001600160a01b031681565b6103b761053e366004611455565b60136020526000908152604090205460ff1681565b6103576105613660046114c5565b610c98565b6104fa610cf8565b6103da61057c366004611455565b6001602052600090815260409020546001600160a01b031681565b6103576105a5366004611455565b610d04565b6103066105b8366004611470565b600760209081526000928352604080842090915290825290205481565b610306601f5481565b6103576105ec366004611455565b610dbd565b6103576105ff366004611455565b610e72565b6103b7610612366004611455565b60066020526000908152604090205460ff1681565b6103576106353660046114c5565b610eeb565b6103576106483660046114c5565b610f4b565b6103b761065b366004611455565b60186020526000908152604090205460ff1681565b61035761067e366004611455565b610fab565b601b546103da906001600160a01b031681565b6103576106a4366004611455565b611070565b6103576106b73660046114c5565b611110565b6103066106ca366004611470565b601060209081526000928352604080842090915290825290205481565b61030660235481565b6103066106fe366004611455565b60056020526000908152604090205481565b61035761071e3660046114c5565b611194565b610357610731366004611455565b6111f2565b61030661271081565b61035761074d366004611455565b611292565b601c546103da906001600160a01b031681565b6017546103da906001600160a01b031681565b61030660225481565b6016546001600160a01b031633146107ac576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b0381166107d35760405163d92e233d60e01b815260040160405180910390fd5b601d80546001600160a01b038381166001600160a01b031992831681179093556000838152600d60205260409081902080549093168417909255601c54915163696a437b60e01b81526004810193909352169063696a437b9060240160206040518083038186803b15801561084757600080fd5b505afa15801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f91906114a3565b6001600160a01b0382166000818152600e6020908152604091829020805460ff191694151594909417909355519081527f9bb1515b0fc2645a3f011162460a22fdd512e0bca265e7dc9ba6bceae8930afa91015b60405180910390a150565b60006108eb601483611347565b92915050565b6017546001600160a01b0316331461091c57604051637ef5703160e11b815260040160405180910390fd5b60178054601680546001600160a01b0383166001600160a01b031991821681179092559091169091556040519081527fc73be659241aade67e9a059bcf21494955018b213dbd1179054ccf928b13f3b69060200160405180910390a1565b6001600160a01b0382811660009081526020819052604090205483911633146109b657604051636efb4f4160e11b815260040160405180910390fd5b6001600160a01b03838116600081815260016020908152604080832080546001600160a01b0319168887169081179091559183905280832054905191941692917fa8bad3f0b781e1d954af9945167d5f80bfe5e57930f17c93843187c77557a6b891a4505050565b6001600160a01b038181166000908152600160205260409020548291163314610a5a5760405163cfe9663360e01b815260040160405180910390fd5b6001600160a01b0382811660008181526020818152604080832080546001909352818420805487166001600160a01b031980861691909117909255805490911690555193169283929133917fcf30c54296d5eee76168b564c59c50578d49c271733a470f32707c8cfbc88a8b9190a4505050565b6016546001600160a01b03163314610af9576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526018602052604090205460ff1615610b335760405163546da66560e11b815260040160405180910390fd5b6001600160a01b038116600081815260186020908152604091829020805460ff1916600117905590519182527f049ccb28ab796d3225573a065712f6e7754487ced56056cda8889c337511807b91016108d3565b6016546001600160a01b03163314610bb2576040516354348f0360e01b815260040160405180910390fd5b60238190556040518181527f4c10ca068ff7002cf5da78f2f697d1e91f6f0ac27f7344b28e8ef25263f87e5d906020016108d3565b6016546001600160a01b03163314610c12576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b038116610c395760405163d92e233d60e01b815260040160405180910390fd5b601c80546001600160a01b0319166001600160a01b0383169081179091556040519081527f71973fd672e51deb8f739b1f7e1eab991936645acd6f83e2bde6eeeaff5490b0906020016108d3565b6060610c93601461136c565b905090565b6016546001600160a01b03163314610cc3576040516354348f0360e01b815260040160405180910390fd5b601f8190556040518181527fc8d443472c9783cc36f8f5f5091f08ce9f37fc2f9e6d79cf1d9aaf40a433fee2906020016108d3565b6060610c93600261136c565b6016546001600160a01b03163314610d2f576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526019602052604090205460ff1615610d695760405163274e25dd60e11b815260040160405180910390fd5b6001600160a01b038116600081815260196020908152604091829020805460ff1916600117905590519182527f8addc69f897ecca0e41d70ed4ff9d75a9148a615a0fbda8597e53aea2684302f91016108d3565b6016546001600160a01b03163314610de8576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526018602052604090205460ff16610e21576040516336fe17e760e21b815260040160405180910390fd5b6001600160a01b038116600081815260186020908152604091829020805460ff1916905590519182527f3ed8cbce8cab40e59282f1743e2b607effa08b5cbe0111bb4721134f2f80d02591016108d3565b6016546001600160a01b03163314610e9d576040516354348f0360e01b815260040160405180910390fd5b601780546001600160a01b0319166001600160a01b0383169081179091556040519081527fe987aaedf9d279143bdf1eee16cf1d0feb47742867d81083df8d6cd0a5ac857f906020016108d3565b6016546001600160a01b03163314610f16576040516354348f0360e01b815260040160405180910390fd5b60228190556040518181527fbdcfd7b8482f31cff6a87c362d9e2e3887f4cdc2018c7c485d8e78a7b2fadb69906020016108d3565b6016546001600160a01b03163314610f76576040516354348f0360e01b815260040160405180910390fd5b601e8190556040518181527fd319ef78d2b690bb773fcccc2d096306bac7c9222dd0bb6b300f461e4a376b43906020016108d3565b610fb6601482611347565b15610fd457604051630809740d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526013602052604090205460ff161561100e57604051632f3d320560e01b815260040160405180910390fd5b611019601482611379565b506001600160a01b03811660008181526020819052604080822080546001600160a01b03191633908117909155905190917fed3faef50715743626cd57de74281a2b17cdbfc11c0486feda541fb911e0293d91a350565b6016546001600160a01b0316331461109b576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b0381166110c25760405163d92e233d60e01b815260040160405180910390fd5b601b80546001600160a01b0319166001600160a01b0383169081179091556040519081527feb931b4b5a98d20a6b1e6693a7c59d8e337a06e2f1473bb776e19251db7ae250906020016108d3565b6016546001600160a01b0316331461113b576040516354348f0360e01b815260040160405180910390fd5b6201518081101561115f57604051633f384aad60e21b815260040160405180910390fd5b60218190556040518181527f54aafa56429e22230b52f1495588ffc632277d74f3a85ec755e13ac50c1584d9906020016108d3565b6016546001600160a01b031633146111bf576040516354348f0360e01b815260040160405180910390fd5b60208181556040518281527f24d51b415694a791b1c77df7817c075ac82b83ce611bcd8627d2e66cf37aa3e791016108d3565b6016546001600160a01b0316331461121d576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b0381166112445760405163d92e233d60e01b815260040160405180910390fd5b601a80546001600160a01b0319166001600160a01b0383169081179091556040519081527f1d1a3e7caf0717056e48dc8aefa54d806c7af86324fece4e5d49f8e1f01f84bf906020016108d3565b6016546001600160a01b031633146112bd576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526019602052604090205460ff166112f657604051633ca0d42760e11b815260040160405180910390fd5b6001600160a01b038116600081815260196020908152604091829020805460ff1916905590519182527f5e8bd21d0a98cb2caf33706e56139ff40ffbdca7ec5d9d412a0a2292496dc70e91016108d3565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b606060006113658361138e565b6000611365836001600160a01b0384166113ea565b6060816000018054806020026020016040519081016040528092919081815260200182805480156113de57602002820191906000526020600020905b8154815260200190600101908083116113ca575b50505050509050919050565b6000818152600183016020526040812054611431575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556108eb565b5060006108eb565b80356001600160a01b038116811461145057600080fd5b919050565b60006020828403121561146757600080fd5b61136582611439565b6000806040838503121561148357600080fd5b61148c83611439565b915061149a60208401611439565b90509250929050565b6000602082840312156114b557600080fd5b8151801515811461136557600080fd5b6000602082840312156114d757600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561151f5783516001600160a01b0316835292840192918401916001016114fa565b5090969550505050505056fea26469706673582212201cd5837c5340414b9bdb0f01a24b5d9100af7e3b7c698ad3965d0e9e9acdbb6164736f6c63430008070033", "linkReferences": {}, "deployedLinkReferences": {} }