UNPKG

@perp/curie-deployments

Version:

Perpetual Protocol Curie (v2) contract artifacts (ABIs) and deployed addresses

602 lines (601 loc) 44.1 kB
{ "_format": "hh-sol-artifact-1", "contractName": "testVePERPRewardDistributor", "sourceName": "contracts/test/TestVePERPRewardDistributor.sol", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "week", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "totalAllocation", "type": "uint256" } ], "name": "AllocationSeeded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_claimant", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_balance", "type": "uint256" } ], "name": "Claimed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldValue", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "MinLockDurationChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldValue", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newValue", "type": "address" } ], "name": "RewardDelegateChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldValue", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newValue", "type": "address" } ], "name": "VePERPChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "claimant", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "week", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "balance", "type": "uint256" } ], "name": "VePERPClaimed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "claimant", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "week", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "balance", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "recipient", "type": "address" } ], "name": "VePERPClaimedV2", "type": "event" }, { "inputs": [], "name": "candidate", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_liquidityProvider", "type": "address" }, { "internalType": "uint256", "name": "_begin", "type": "uint256" }, { "internalType": "uint256", "name": "_end", "type": "uint256" } ], "name": "claimStatus", "outputs": [ { "internalType": "bool[]", "name": "", "type": "bool[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "liquidityProvider", "type": "address" }, { "internalType": "uint256", "name": "week", "type": "uint256" }, { "internalType": "uint256", "name": "claimedBalance", "type": "uint256" }, { "internalType": "bytes32[]", "name": "merkleProof", "type": "bytes32[]" } ], "name": "claimWeek", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "liquidityProvider", "type": "address" }, { "components": [ { "internalType": "uint256", "name": "week", "type": "uint256" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "bytes32[]", "name": "merkleProof", "type": "bytes32[]" } ], "internalType": "struct IMerkleRedeem.Claim[]", "name": "claims", "type": "tuple[]" } ], "name": "claimWeeks", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "claimed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getLengthOfMerkleRoots", "outputs": [ { "internalType": "uint256", "name": "length", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMinLockDuration", "outputs": [ { "internalType": "uint256", "name": "minLockDuration", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getRewardDelegate", "outputs": [ { "internalType": "address", "name": "rewardDelegate", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getVePerp", "outputs": [ { "internalType": "address", "name": "vePERP", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenArg", "type": "address" }, { "internalType": "address", "name": "vePERPArg", "type": "address" }, { "internalType": "address", "name": "rewardDelegateArg", "type": "address" }, { "internalType": "uint256", "name": "minLockDurationArg", "type": "uint256" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "merkleRootIndexes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_begin", "type": "uint256" }, { "internalType": "uint256", "name": "_end", "type": "uint256" } ], "name": "merkleRoots", "outputs": [ { "internalType": "bytes32[]", "name": "", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "week", "type": "uint256" }, { "internalType": "bytes32", "name": "merkleRoot", "type": "bytes32" }, { "internalType": "uint256", "name": "totalAllocation", "type": "uint256" } ], "name": "seedAllocations", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "minLockDurationArg", "type": "uint256" } ], "name": "setMinLockDuration", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "setOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "rewardDelegateArg", "type": "address" } ], "name": "setRewardDelegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "vePERPArg", "type": "address" } ], "name": "setVePERP", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "updateOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_liquidityProvider", "type": "address" }, { "internalType": "uint256", "name": "_week", "type": "uint256" }, { "internalType": "uint256", "name": "_claimedBalance", "type": "uint256" }, { "internalType": "bytes32[]", "name": "_merkleProof", "type": "bytes32[]" } ], "name": "verifyClaim", "outputs": [ { "internalType": "bool", "name": "valid", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "weekMerkleRoots", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b50611e63806100206000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063715018a6116100c3578063cf756fdf1161007c578063cf756fdf14610289578063da9012a81461029c578063dd8c9c9d146102a4578063eb0d07f5146102b7578063ef2245db146102ca578063f373579f146102dd5761014d565b8063715018a6146102435780638da5cb5b1461024b578063afd7babe14610253578063bc5920ba1461025b578063c74ed2fe14610263578063c804c39a146102765761014d565b806347fb23c11161011557806347fb23c1146101da5780634cd488ab146101fa57806358b4e4b41461020d578063612b2783146102205780636c8381f81461022857806370322919146102305761014d565b8063120aa8771461015257806313af40351461017b57806321df0da71461019057806339144f50146101a557806339436b00146101ba575b600080fd5b6101656101603660046119bd565b6102f0565b6040516101729190611b21565b60405180910390f35b61018e61018936600461170a565b610310565b005b610198610465565b6040516101729190611a38565b6101ad610474565b6040516101729190611b2c565b6101cd6101c8366004611a17565b61047a565b6040516101729190611ae9565b6101ed6101e83660046117fd565b61050f565b6040516101729190611aa3565b61018e6102083660046119ec565b6105c4565b61018e61021b366004611831565b610697565b610198610890565b61019861089f565b61018e61023e36600461170a565b6108ae565b61018e61098f565b610198610a39565b6101ad610a48565b61018e610a4e565b61018e61027136600461198d565b610b4f565b61018e61028436600461177d565b610bdd565b61018e61029736600461172d565b610e70565b610198610fef565b6101ad6102b236600461198d565b610ffe565b6101656102c5366004611899565b611010565b61018e6102d836600461170a565b61101a565b6101ad6102eb36600461198d565b6110ef565b606860209081526000928352604080842090915290825290205460ff1681565b610318611110565b6033546001600160a01b039081169116146103645760405162461bcd60e51b815260040180806020018281038252602d815260200180611ddb602d913960400191505060405180910390fd5b6001600160a01b0381166103a95760405162461bcd60e51b8152600401808060200182810382526022815260200180611d8a6022913960400191505060405180910390fd5b6033546001600160a01b03828116911614156103f65760405162461bcd60e51b8152600401808060200182810382526026815260200180611e086026913960400191505060405180910390fd5b6034546001600160a01b03828116911614156104435760405162461bcd60e51b8152600401808060200182810382526027815260200180611d0e6027913960400191505060405180910390fd5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b6069546001600160a01b031690565b609c5490565b606082820360010160008167ffffffffffffffff8111801561049b57600080fd5b506040519080825280602002602001820160405280156104c5578160200160208202803683370190505b50905060005b828110156105065785810160009081526067602052604090205482518390839081106104f357fe5b60209081029190910101526001016104cb565b50949350505050565b606082820360010160008167ffffffffffffffff8111801561053057600080fd5b5060405190808252806020026020018201604052801561055a578160200160208202803683370190505b50905060005b828110156105ba5785810160009081526068602090815260408083206001600160a01b038b168452909152902054825160ff909116908390839081106105a257fe5b91151560209283029190910190910152600101610560565b5095945050505050565b6105cc611110565b6033546001600160a01b039081169116146106185760405162461bcd60e51b815260040180806020018281038252602d815260200180611ddb602d913960400191505060405180910390fd5b610623838383611114565b609c80546001810182556000919091527faf85b9071dfafeac1409d3f1d19bafc9bc7c37974cde8df0ee6168f0086e539c0183905560405183907f18cb1239682d2af2092e17254088c13786b0462404406e52259b4a1c76f8b05c9061068a908490611b2c565b60405180910390a2505050565b8460006106a3826111f9565b609e5460405163adc6358960e01b815291925062093a804281900402916000916001600160a01b03169063adc63589906106e1908690600401611a38565b60206040518083038186803b1580156106f957600080fd5b505afa15801561070d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073191906119a5565b9050609d5482018110156107605760405162461bcd60e51b815260040161075790611be6565b60405180910390fd5b60008881526068602090815260408083206001600160a01b038d16845290915290205460ff16156107a35760405162461bcd60e51b815260040161075790611b59565b6107e289898989898080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061101092505050565b6107fe5760405162461bcd60e51b815260040161075790611bc3565b60008881526068602090815260408083206001600160a01b038d1684529091528120805460ff191660011790556108348a6111f9565b90506108408189611280565b888a6001600160a01b03167fc3d028d1e317e98aa049b863b56fcaded41c339456705128dc06d3f9b005ad748a8460405161087c929190611c6d565b60405180910390a350505050505050505050565b609f546001600160a01b031690565b6034546001600160a01b031690565b6108b6611110565b6033546001600160a01b039081169116146109025760405162461bcd60e51b815260040180806020018281038252602d815260200180611ddb602d913960400191505060405180910390fd5b610914816001600160a01b03166112ef565b6109305760405162461bcd60e51b815260040161075790611b9e565b609e80546001600160a01b038381166001600160a01b03198316179092556040519116907ff3416fe124f3c6997459cb6f8374dac04d92adf756db70f755e3daf86ec5527d906109839083908590611a70565b60405180910390a15050565b610997611110565b6033546001600160a01b039081169116146109e35760405162461bcd60e51b815260040180806020018281038252602d815260200180611ddb602d913960400191505060405180910390fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319908116909155603480549091169055565b6033546001600160a01b031690565b609d5490565b6034546001600160a01b0316610a955760405162461bcd60e51b815260040180806020018281038252602f815260200180611dac602f913960400191505060405180910390fd5b610a9d611110565b6034546001600160a01b03908116911614610ae95760405162461bcd60e51b8152600401808060200182810382526027815260200180611d356027913960400191505060405180910390fd5b6034546033546040516001600160a01b0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a360348054603380546001600160a01b03199081166001600160a01b03841617909155169055565b610b57611110565b6033546001600160a01b03908116911614610ba35760405162461bcd60e51b815260040180806020018281038252602d815260200180611ddb602d913960400191505060405180910390fd5b609d8054908290556040517fd9d92baa8750d424c48af09b5e42da95954bc7988ad26c501b76619b07890a42906109839083908590611c84565b826000610be9826111f9565b609e5460405163adc6358960e01b815291925062093a804281900402916000916001600160a01b03169063adc6358990610c27908690600401611a38565b60206040518083038186803b158015610c3f57600080fd5b505afa158015610c53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7791906119a5565b9050609d548201811015610c9d5760405162461bcd60e51b815260040161075790611be6565b6000853682610cab8b6111f9565b905060005b83811015610e58578a8a82818110610cc457fe5b9050602002810190610cd69190611cd9565b9250606860008460000135815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a900460ff1615610d3d5760405162461bcd60e51b815260040161075790611b59565b610d8c8c84356020860135610d556040880188611c92565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061101092505050565b610da85760405162461bcd60e51b815260040161075790611bc3565b8260200135850194506001606860008560000135815260200190815260200160002060008e6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555082600001358c6001600160a01b03167fc3d028d1e317e98aa049b863b56fcaded41c339456705128dc06d3f9b005ad74856020013585604051610e48929190611c6d565b60405180910390a3600101610cb0565b50610e638185611280565b5050505050505050505050565b600054610100900460ff1680610e895750610e896112f5565b80610e97575060005460ff16155b610ed25760405162461bcd60e51b815260040180806020018281038252602e815260200180611d5c602e913960400191505060405180910390fd5b600054610100900460ff16158015610efd576000805460ff1961ff0019909116610100171660011790555b610f0f856001600160a01b03166112ef565b610f2b5760405162461bcd60e51b815260040161075790611b7b565b610f3485611306565b610f3d846108ae565b610f4682610b4f565b610f4f8361101a565b60695460405163095ea7b360e01b81526001600160a01b039091169063095ea7b390610f8390879060001990600401611a8a565b602060405180830381600087803b158015610f9d57600080fd5b505af1158015610fb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd5919061196d565b508015610fe8576000805461ff00191690555b5050505050565b609e546001600160a01b031690565b60676020526000908152604090205481565b6001949350505050565b611022611110565b6033546001600160a01b0390811691161461106e5760405162461bcd60e51b815260040180806020018281038252602d815260200180611ddb602d913960400191505060405180910390fd5b611080816001600160a01b03166112ef565b61109c5760405162461bcd60e51b815260040161075790611b35565b609f80546001600160a01b038381166001600160a01b03198316179092556040519116907fbd01f63b0bddf5da6f25e7ab2f82bb88d2a760c36dd704ff74608cb21dd294d0906109839083908590611a70565b609c81815481106110ff57600080fd5b600091825260209091200154905081565b3390565b600083815260676020526040902054156111405760405162461bcd60e51b815260040161075790611c36565b6000838152606760205260409081902083905560695490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061118690339030908690600401611a4c565b602060405180830381600087803b1580156111a057600080fd5b505af11580156111b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d8919061196d565b6111f45760405162461bcd60e51b815260040161075790611c09565b505050565b609f5460405163ab76830960e01b81526000916001600160a01b03169063ab7683099061122a908590600401611a38565b604080518083038186803b15801561124157600080fd5b505afa158015611255573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127991906117d0565b5092915050565b80156112eb57609e54604051631d23139f60e11b81526001600160a01b0390911690633a46273e906112b89085908590600401611a8a565b600060405180830381600087803b1580156112d257600080fd5b505af11580156112e6573d6000803e3d6000fd5b505050505b5050565b3b151590565b6000611300306112ef565b15905090565b600054610100900460ff168061131f575061131f6112f5565b8061132d575060005460ff16155b6113685760405162461bcd60e51b815260040180806020018281038252602e815260200180611d5c602e913960400191505060405180910390fd5b600054610100900460ff16158015611393576000805460ff1961ff0019909116610100171660011790555b61139b6113b9565b6113a48261146b565b80156112eb576000805461ff00191690555050565b600054610100900460ff16806113d257506113d26112f5565b806113e0575060005460ff16155b61141b5760405162461bcd60e51b815260040180806020018281038252602e815260200180611d5c602e913960400191505060405180910390fd5b600054610100900460ff16158015611446576000805460ff1961ff0019909116610100171660011790555b61144e611528565b6114566115c8565b8015611468576000805461ff00191690555b50565b600054610100900460ff168061148457506114846112f5565b80611492575060005460ff16155b6114cd5760405162461bcd60e51b815260040180806020018281038252602e815260200180611d5c602e913960400191505060405180910390fd5b600054610100900460ff161580156114f8576000805460ff1961ff0019909116610100171660011790555b606980546001600160a01b0319166001600160a01b03841617905580156112eb576000805461ff00191690555050565b600054610100900460ff168061154157506115416112f5565b8061154f575060005460ff16155b61158a5760405162461bcd60e51b815260040180806020018281038252602e815260200180611d5c602e913960400191505060405180910390fd5b600054610100900460ff16158015611456576000805460ff1961ff0019909116610100171660011790558015611468576000805461ff001916905550565b600054610100900460ff16806115e157506115e16112f5565b806115ef575060005460ff16155b61162a5760405162461bcd60e51b815260040180806020018281038252602e815260200180611d5c602e913960400191505060405180910390fd5b600054610100900460ff16158015611655576000805460ff1961ff0019909116610100171660011790555b600061165f611110565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015611468576000805461ff001916905550565b60008083601f8401126116d2578081fd5b50813567ffffffffffffffff8111156116e9578182fd5b602083019150836020808302850101111561170357600080fd5b9250929050565b60006020828403121561171b578081fd5b813561172681611cf8565b9392505050565b60008060008060808587031215611742578283fd5b843561174d81611cf8565b9350602085013561175d81611cf8565b9250604085013561176d81611cf8565b9396929550929360600135925050565b600080600060408486031215611791578283fd5b833561179c81611cf8565b9250602084013567ffffffffffffffff8111156117b7578283fd5b6117c3868287016116c1565b9497909650939450505050565b600080604083850312156117e2578182fd5b82516117ed81611cf8565b6020939093015192949293505050565b600080600060608486031215611811578283fd5b833561181c81611cf8565b95602085013595506040909401359392505050565b600080600080600060808688031215611848578081fd5b853561185381611cf8565b94506020860135935060408601359250606086013567ffffffffffffffff81111561187c578182fd5b611888888289016116c1565b969995985093965092949392505050565b600080600080608085870312156118ae578384fd5b84356118b981611cf8565b9350602085810135935060408601359250606086013567ffffffffffffffff808211156118e4578384fd5b818801915088601f8301126118f7578384fd5b81358181111561190357fe5b8381026040518582820101818110858211171561191c57fe5b604052828152858101935084860182860187018d101561193a578788fd5b8795505b8386101561195c57803585526001959095019493860193860161193e565b50989b979a50959850505050505050565b60006020828403121561197e578081fd5b81518015158114611726578182fd5b60006020828403121561199e578081fd5b5035919050565b6000602082840312156119b6578081fd5b5051919050565b600080604083850312156119cf578182fd5b8235915060208301356119e181611cf8565b809150509250929050565b600080600060608486031215611a00578081fd5b505081359360208301359350604090920135919050565b60008060408385031215611a29578182fd5b50508035926020909101359150565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015611add578351151583529284019291840191600101611abf565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015611add57835183529284019291840191600101611b05565b901515815260200190565b90815260200190565b6020808252600a908201526976655052445f52444e4360b01b604082015260600190565b60208082526008908201526776655052445f434160c01b604082015260600190565b60208082526009908201526876655052445f544e4360b81b604082015260600190565b6020808252600b908201526a76655052445f7665504e4360a81b604082015260600190565b602080825260099082015268076655052445f494d560bc1b604082015260600190565b60208082526009908201526876655052445f4c544d60b81b604082015260600190565b60208082526013908201527211549497d514905394d1915497d19052531151606a1b604082015260600190565b6020808252601a908201527f63616e6e6f742072657772697465206d65726b6c6520726f6f74000000000000604082015260600190565b9182526001600160a01b0316602082015260400190565b918252602082015260400190565b6000808335601e19843603018112611ca8578283fd5b83018035915067ffffffffffffffff821115611cc2578283fd5b602090810192508102360382131561170357600080fd5b60008235605e19833603018112611cee578182fd5b9190910192915050565b6001600160a01b038116811461146857600080fdfe5065727046694f776e61626c65557067726164653a2073616d652061732063616e6469646174655065727046694f776e61626c65557067726164653a206e6f7420746865206e6577206f776e6572496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65645065727046694f776e61626c65557067726164653a207a65726f20616464726573735065727046694f776e61626c65557067726164653a2063616e646964617465206973207a65726f20616464726573735065727046694f776e61626c65557067726164653a2063616c6c6572206973206e6f7420746865206f776e65725065727046694f776e61626c65557067726164653a2073616d65206173206f726967696e616ca2646970667358221220e23247ca4dc11e249a48139dae8a1f16b9de9fdd2be202df07133b25587a7c7f64736f6c63430007060033", "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014d5760003560e01c8063715018a6116100c3578063cf756fdf1161007c578063cf756fdf14610289578063da9012a81461029c578063dd8c9c9d146102a4578063eb0d07f5146102b7578063ef2245db146102ca578063f373579f146102dd5761014d565b8063715018a6146102435780638da5cb5b1461024b578063afd7babe14610253578063bc5920ba1461025b578063c74ed2fe14610263578063c804c39a146102765761014d565b806347fb23c11161011557806347fb23c1146101da5780634cd488ab146101fa57806358b4e4b41461020d578063612b2783146102205780636c8381f81461022857806370322919146102305761014d565b8063120aa8771461015257806313af40351461017b57806321df0da71461019057806339144f50146101a557806339436b00146101ba575b600080fd5b6101656101603660046119bd565b6102f0565b6040516101729190611b21565b60405180910390f35b61018e61018936600461170a565b610310565b005b610198610465565b6040516101729190611a38565b6101ad610474565b6040516101729190611b2c565b6101cd6101c8366004611a17565b61047a565b6040516101729190611ae9565b6101ed6101e83660046117fd565b61050f565b6040516101729190611aa3565b61018e6102083660046119ec565b6105c4565b61018e61021b366004611831565b610697565b610198610890565b61019861089f565b61018e61023e36600461170a565b6108ae565b61018e61098f565b610198610a39565b6101ad610a48565b61018e610a4e565b61018e61027136600461198d565b610b4f565b61018e61028436600461177d565b610bdd565b61018e61029736600461172d565b610e70565b610198610fef565b6101ad6102b236600461198d565b610ffe565b6101656102c5366004611899565b611010565b61018e6102d836600461170a565b61101a565b6101ad6102eb36600461198d565b6110ef565b606860209081526000928352604080842090915290825290205460ff1681565b610318611110565b6033546001600160a01b039081169116146103645760405162461bcd60e51b815260040180806020018281038252602d815260200180611ddb602d913960400191505060405180910390fd5b6001600160a01b0381166103a95760405162461bcd60e51b8152600401808060200182810382526022815260200180611d8a6022913960400191505060405180910390fd5b6033546001600160a01b03828116911614156103f65760405162461bcd60e51b8152600401808060200182810382526026815260200180611e086026913960400191505060405180910390fd5b6034546001600160a01b03828116911614156104435760405162461bcd60e51b8152600401808060200182810382526027815260200180611d0e6027913960400191505060405180910390fd5b603480546001600160a01b0319166001600160a01b0392909216919091179055565b6069546001600160a01b031690565b609c5490565b606082820360010160008167ffffffffffffffff8111801561049b57600080fd5b506040519080825280602002602001820160405280156104c5578160200160208202803683370190505b50905060005b828110156105065785810160009081526067602052604090205482518390839081106104f357fe5b60209081029190910101526001016104cb565b50949350505050565b606082820360010160008167ffffffffffffffff8111801561053057600080fd5b5060405190808252806020026020018201604052801561055a578160200160208202803683370190505b50905060005b828110156105ba5785810160009081526068602090815260408083206001600160a01b038b168452909152902054825160ff909116908390839081106105a257fe5b91151560209283029190910190910152600101610560565b5095945050505050565b6105cc611110565b6033546001600160a01b039081169116146106185760405162461bcd60e51b815260040180806020018281038252602d815260200180611ddb602d913960400191505060405180910390fd5b610623838383611114565b609c80546001810182556000919091527faf85b9071dfafeac1409d3f1d19bafc9bc7c37974cde8df0ee6168f0086e539c0183905560405183907f18cb1239682d2af2092e17254088c13786b0462404406e52259b4a1c76f8b05c9061068a908490611b2c565b60405180910390a2505050565b8460006106a3826111f9565b609e5460405163adc6358960e01b815291925062093a804281900402916000916001600160a01b03169063adc63589906106e1908690600401611a38565b60206040518083038186803b1580156106f957600080fd5b505afa15801561070d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073191906119a5565b9050609d5482018110156107605760405162461bcd60e51b815260040161075790611be6565b60405180910390fd5b60008881526068602090815260408083206001600160a01b038d16845290915290205460ff16156107a35760405162461bcd60e51b815260040161075790611b59565b6107e289898989898080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061101092505050565b6107fe5760405162461bcd60e51b815260040161075790611bc3565b60008881526068602090815260408083206001600160a01b038d1684529091528120805460ff191660011790556108348a6111f9565b90506108408189611280565b888a6001600160a01b03167fc3d028d1e317e98aa049b863b56fcaded41c339456705128dc06d3f9b005ad748a8460405161087c929190611c6d565b60405180910390a350505050505050505050565b609f546001600160a01b031690565b6034546001600160a01b031690565b6108b6611110565b6033546001600160a01b039081169116146109025760405162461bcd60e51b815260040180806020018281038252602d815260200180611ddb602d913960400191505060405180910390fd5b610914816001600160a01b03166112ef565b6109305760405162461bcd60e51b815260040161075790611b9e565b609e80546001600160a01b038381166001600160a01b03198316179092556040519116907ff3416fe124f3c6997459cb6f8374dac04d92adf756db70f755e3daf86ec5527d906109839083908590611a70565b60405180910390a15050565b610997611110565b6033546001600160a01b039081169116146109e35760405162461bcd60e51b815260040180806020018281038252602d815260200180611ddb602d913960400191505060405180910390fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319908116909155603480549091169055565b6033546001600160a01b031690565b609d5490565b6034546001600160a01b0316610a955760405162461bcd60e51b815260040180806020018281038252602f815260200180611dac602f913960400191505060405180910390fd5b610a9d611110565b6034546001600160a01b03908116911614610ae95760405162461bcd60e51b8152600401808060200182810382526027815260200180611d356027913960400191505060405180910390fd5b6034546033546040516001600160a01b0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a360348054603380546001600160a01b03199081166001600160a01b03841617909155169055565b610b57611110565b6033546001600160a01b03908116911614610ba35760405162461bcd60e51b815260040180806020018281038252602d815260200180611ddb602d913960400191505060405180910390fd5b609d8054908290556040517fd9d92baa8750d424c48af09b5e42da95954bc7988ad26c501b76619b07890a42906109839083908590611c84565b826000610be9826111f9565b609e5460405163adc6358960e01b815291925062093a804281900402916000916001600160a01b03169063adc6358990610c27908690600401611a38565b60206040518083038186803b158015610c3f57600080fd5b505afa158015610c53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7791906119a5565b9050609d548201811015610c9d5760405162461bcd60e51b815260040161075790611be6565b6000853682610cab8b6111f9565b905060005b83811015610e58578a8a82818110610cc457fe5b9050602002810190610cd69190611cd9565b9250606860008460000135815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a900460ff1615610d3d5760405162461bcd60e51b815260040161075790611b59565b610d8c8c84356020860135610d556040880188611c92565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061101092505050565b610da85760405162461bcd60e51b815260040161075790611bc3565b8260200135850194506001606860008560000135815260200190815260200160002060008e6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555082600001358c6001600160a01b03167fc3d028d1e317e98aa049b863b56fcaded41c339456705128dc06d3f9b005ad74856020013585604051610e48929190611c6d565b60405180910390a3600101610cb0565b50610e638185611280565b5050505050505050505050565b600054610100900460ff1680610e895750610e896112f5565b80610e97575060005460ff16155b610ed25760405162461bcd60e51b815260040180806020018281038252602e815260200180611d5c602e913960400191505060405180910390fd5b600054610100900460ff16158015610efd576000805460ff1961ff0019909116610100171660011790555b610f0f856001600160a01b03166112ef565b610f2b5760405162461bcd60e51b815260040161075790611b7b565b610f3485611306565b610f3d846108ae565b610f4682610b4f565b610f4f8361101a565b60695460405163095ea7b360e01b81526001600160a01b039091169063095ea7b390610f8390879060001990600401611a8a565b602060405180830381600087803b158015610f9d57600080fd5b505af1158015610fb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd5919061196d565b508015610fe8576000805461ff00191690555b5050505050565b609e546001600160a01b031690565b60676020526000908152604090205481565b6001949350505050565b611022611110565b6033546001600160a01b0390811691161461106e5760405162461bcd60e51b815260040180806020018281038252602d815260200180611ddb602d913960400191505060405180910390fd5b611080816001600160a01b03166112ef565b61109c5760405162461bcd60e51b815260040161075790611b35565b609f80546001600160a01b038381166001600160a01b03198316179092556040519116907fbd01f63b0bddf5da6f25e7ab2f82bb88d2a760c36dd704ff74608cb21dd294d0906109839083908590611a70565b609c81815481106110ff57600080fd5b600091825260209091200154905081565b3390565b600083815260676020526040902054156111405760405162461bcd60e51b815260040161075790611c36565b6000838152606760205260409081902083905560695490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061118690339030908690600401611a4c565b602060405180830381600087803b1580156111a057600080fd5b505af11580156111b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d8919061196d565b6111f45760405162461bcd60e51b815260040161075790611c09565b505050565b609f5460405163ab76830960e01b81526000916001600160a01b03169063ab7683099061122a908590600401611a38565b604080518083038186803b15801561124157600080fd5b505afa158015611255573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127991906117d0565b5092915050565b80156112eb57609e54604051631d23139f60e11b81526001600160a01b0390911690633a46273e906112b89085908590600401611a8a565b600060405180830381600087803b1580156112d257600080fd5b505af11580156112e6573d6000803e3d6000fd5b505050505b5050565b3b151590565b6000611300306112ef565b15905090565b600054610100900460ff168061131f575061131f6112f5565b8061132d575060005460ff16155b6113685760405162461bcd60e51b815260040180806020018281038252602e815260200180611d5c602e913960400191505060405180910390fd5b600054610100900460ff16158015611393576000805460ff1961ff0019909116610100171660011790555b61139b6113b9565b6113a48261146b565b80156112eb576000805461ff00191690555050565b600054610100900460ff16806113d257506113d26112f5565b806113e0575060005460ff16155b61141b5760405162461bcd60e51b815260040180806020018281038252602e815260200180611d5c602e913960400191505060405180910390fd5b600054610100900460ff16158015611446576000805460ff1961ff0019909116610100171660011790555b61144e611528565b6114566115c8565b8015611468576000805461ff00191690555b50565b600054610100900460ff168061148457506114846112f5565b80611492575060005460ff16155b6114cd5760405162461bcd60e51b815260040180806020018281038252602e815260200180611d5c602e913960400191505060405180910390fd5b600054610100900460ff161580156114f8576000805460ff1961ff0019909116610100171660011790555b606980546001600160a01b0319166001600160a01b03841617905580156112eb576000805461ff00191690555050565b600054610100900460ff168061154157506115416112f5565b8061154f575060005460ff16155b61158a5760405162461bcd60e51b815260040180806020018281038252602e815260200180611d5c602e913960400191505060405180910390fd5b600054610100900460ff16158015611456576000805460ff1961ff0019909116610100171660011790558015611468576000805461ff001916905550565b600054610100900460ff16806115e157506115e16112f5565b806115ef575060005460ff16155b61162a5760405162461bcd60e51b815260040180806020018281038252602e815260200180611d5c602e913960400191505060405180910390fd5b600054610100900460ff16158015611655576000805460ff1961ff0019909116610100171660011790555b600061165f611110565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015611468576000805461ff001916905550565b60008083601f8401126116d2578081fd5b50813567ffffffffffffffff8111156116e9578182fd5b602083019150836020808302850101111561170357600080fd5b9250929050565b60006020828403121561171b578081fd5b813561172681611cf8565b9392505050565b60008060008060808587031215611742578283fd5b843561174d81611cf8565b9350602085013561175d81611cf8565b9250604085013561176d81611cf8565b9396929550929360600135925050565b600080600060408486031215611791578283fd5b833561179c81611cf8565b9250602084013567ffffffffffffffff8111156117b7578283fd5b6117c3868287016116c1565b9497909650939450505050565b600080604083850312156117e2578182fd5b82516117ed81611cf8565b6020939093015192949293505050565b600080600060608486031215611811578283fd5b833561181c81611cf8565b95602085013595506040909401359392505050565b600080600080600060808688031215611848578081fd5b853561185381611cf8565b94506020860135935060408601359250606086013567ffffffffffffffff81111561187c578182fd5b611888888289016116c1565b969995985093965092949392505050565b600080600080608085870312156118ae578384fd5b84356118b981611cf8565b9350602085810135935060408601359250606086013567ffffffffffffffff808211156118e4578384fd5b818801915088601f8301126118f7578384fd5b81358181111561190357fe5b8381026040518582820101818110858211171561191c57fe5b604052828152858101935084860182860187018d101561193a578788fd5b8795505b8386101561195c57803585526001959095019493860193860161193e565b50989b979a50959850505050505050565b60006020828403121561197e578081fd5b81518015158114611726578182fd5b60006020828403121561199e578081fd5b5035919050565b6000602082840312156119b6578081fd5b5051919050565b600080604083850312156119cf578182fd5b8235915060208301356119e181611cf8565b809150509250929050565b600080600060608486031215611a00578081fd5b505081359360208301359350604090920135919050565b60008060408385031215611a29578182fd5b50508035926020909101359150565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015611add578351151583529284019291840191600101611abf565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015611add57835183529284019291840191600101611b05565b901515815260200190565b90815260200190565b6020808252600a908201526976655052445f52444e4360b01b604082015260600190565b60208082526008908201526776655052445f434160c01b604082015260600190565b60208082526009908201526876655052445f544e4360b81b604082015260600190565b6020808252600b908201526a76655052445f7665504e4360a81b604082015260600190565b602080825260099082015268076655052445f494d560bc1b604082015260600190565b60208082526009908201526876655052445f4c544d60b81b604082015260600190565b60208082526013908201527211549497d514905394d1915497d19052531151606a1b604082015260600190565b6020808252601a908201527f63616e6e6f742072657772697465206d65726b6c6520726f6f74000000000000604082015260600190565b9182526001600160a01b0316602082015260400190565b918252602082015260400190565b6000808335601e19843603018112611ca8578283fd5b83018035915067ffffffffffffffff821115611cc2578283fd5b602090810192508102360382131561170357600080fd5b60008235605e19833603018112611cee578182fd5b9190910192915050565b6001600160a01b038116811461146857600080fdfe5065727046694f776e61626c65557067726164653a2073616d652061732063616e6469646174655065727046694f776e61626c65557067726164653a206e6f7420746865206e6577206f776e6572496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65645065727046694f776e61626c65557067726164653a207a65726f20616464726573735065727046694f776e61626c65557067726164653a2063616e646964617465206973207a65726f20616464726573735065727046694f776e61626c65557067726164653a2063616c6c6572206973206e6f7420746865206f776e65725065727046694f776e61626c65557067726164653a2073616d65206173206f726967696e616ca2646970667358221220e23247ca4dc11e249a48139dae8a1f16b9de9fdd2be202df07133b25587a7c7f64736f6c63430007060033", "linkReferences": {}, "deployedLinkReferences": {} }