UNPKG

@perp/curie-deployments

Version:

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

705 lines (704 loc) 47.1 kB
{ "_format": "hh-sol-artifact-1", "contractName": "TestERC20", "sourceName": "contracts/test/TestERC20.sol", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PAUSER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" } ], "name": "__TestERC20_init", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnWithoutApproval", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getRoleMember", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleMemberCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "minter", "type": "address" } ], "name": "setMinter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b50611fd0806100206000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c806370a082311161010f578063a9059cbb116100a2578063dd62ed3e11610071578063dd62ed3e146106e8578063dd90458814610409578063e63ab1e914610716578063fca3b5aa1461071e576101e5565b8063a9059cbb1461066b578063ca15c87314610697578063d5391393146106b4578063d547741f146106bc576101e5565b806391d14854116100de57806391d148541461060357806395d89b411461062f578063a217fddf14610637578063a457c2d71461063f576101e5565b806370a082311461056a57806379cc6790146105905780638456cb59146105bc5780639010d07c146105c4576101e5565b806336568abe1161018757806342966c681161015657806342966c68146103ec5780634cd88b7614610409578063540ba01d146105365780635c975abb14610562576101e5565b806336568abe14610360578063395093511461038c5780633f4ba83a146103b857806340c10f19146103c0576101e5565b806323b872dd116101c357806323b872dd146102c1578063248a9ca3146102f75780632f2ff15d14610314578063313ce56714610342576101e5565b806306fdde03146101ea578063095ea7b31461026757806318160ddd146102a7575b600080fd5b6101f2610744565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022c578181015183820152602001610214565b50505050905090810190601f1680156102595780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102936004803603604081101561027d57600080fd5b506001600160a01b0381351690602001356107da565b604080519115158252519081900360200190f35b6102af6107f8565b60408051918252519081900360200190f35b610293600480360360608110156102d757600080fd5b506001600160a01b038135811691602081013590911690604001356107fe565b6102af6004803603602081101561030d57600080fd5b5035610885565b6103406004803603604081101561032a57600080fd5b50803590602001356001600160a01b031661089a565b005b61034a610906565b6040805160ff9092168252519081900360200190f35b6103406004803603604081101561037657600080fd5b50803590602001356001600160a01b031661090f565b610293600480360360408110156103a257600080fd5b506001600160a01b038135169060200135610970565b6103406109be565b610340600480360360408110156103d657600080fd5b506001600160a01b038135169060200135610a1d565b6103406004803603602081101561040257600080fd5b5035610a7c565b6103406004803603604081101561041f57600080fd5b81019060208101813564010000000081111561043a57600080fd5b82018360208201111561044c57600080fd5b8035906020019184600183028401116401000000008311171561046e57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156104c157600080fd5b8201836020820111156104d357600080fd5b803590602001918460018302840111640100000000831117156104f557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a90945050505050565b6103406004803603604081101561054c57600080fd5b506001600160a01b038135169060200135610b3e565b610293610b48565b6102af6004803603602081101561058057600080fd5b50356001600160a01b0316610b51565b610340600480360360408110156105a657600080fd5b506001600160a01b038135169060200135610b6c565b610340610bc1565b6105e7600480360360408110156105da57600080fd5b5080359060200135610c1e565b604080516001600160a01b039092168252519081900360200190f35b6102936004803603604081101561061957600080fd5b50803590602001356001600160a01b0316610c3d565b6101f2610c55565b6102af610cb6565b6102936004803603604081101561065557600080fd5b506001600160a01b038135169060200135610cbb565b6102936004803603604081101561068157600080fd5b506001600160a01b038135169060200135610d23565b6102af600480360360208110156106ad57600080fd5b5035610d37565b6102af610d4e565b610340600480360360408110156106d257600080fd5b50803590602001356001600160a01b0316610d60565b6102af600480360360408110156106fe57600080fd5b506001600160a01b0381358116916020013516610db9565b6102af610de4565b6103406004803603602081101561073457600080fd5b50356001600160a01b0316610df6565b60688054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107d05780601f106107a5576101008083540402835291602001916107d0565b820191906000526020600020905b8154815290600101906020018083116107b357829003601f168201915b5050505050905090565b60006107ee6107e7610e0e565b8484610e12565b5060015b92915050565b60675490565b600061080b848484610efe565b61087b84610817610e0e565b61087685604051806060016040528060288152602001611dba602891396001600160a01b038a16600090815260666020526040812090610855610e0e565b6001600160a01b03168152602081019190915260400160002054919061105b565b610e12565b5060019392505050565b60009081526033602052604090206002015490565b6000828152603360205260409020600201546108bd906108b8610e0e565b610c3d565b6108f85760405162461bcd60e51b815260040180806020018281038252602f815260200180611c8a602f913960400191505060405180910390fd5b61090282826110f2565b5050565b606a5460ff1690565b610917610e0e565b6001600160a01b0316816001600160a01b0316146109665760405162461bcd60e51b815260040180806020018281038252602f815260200180611f42602f913960400191505060405180910390fd5b610902828261115b565b60006107ee61097d610e0e565b84610876856066600061098e610e0e565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906111c4565b6109d8600080516020611de28339815191526108b8610e0e565b610a135760405162461bcd60e51b8152600401808060200182810382526039815260200180611cdb6039913960400191505060405180910390fd5b610a1b61121e565b565b610a37600080516020611e5c8339815191526108b8610e0e565b610a725760405162461bcd60e51b8152600401808060200182810382526036815260200180611e026036913960400191505060405180910390fd5b61090282826112be565b610a8d610a87610e0e565b826113b0565b50565b600054610100900460ff1680610aa95750610aa96114ac565b80610ab7575060005460ff16155b610af25760405162461bcd60e51b815260040180806020018281038252602e815260200180611d8c602e913960400191505060405180910390fd5b600054610100900460ff16158015610b1d576000805460ff1961ff0019909116610100171660011790555b610b2783836114bd565b8015610b39576000805461ff00191690555b505050565b61090282826113b0565b60c95460ff1690565b6001600160a01b031660009081526065602052604090205490565b6000610ba382604051806060016040528060248152602001611e3860249139610b9c86610b97610e0e565b610db9565b919061105b565b9050610bb783610bb1610e0e565b83610e12565b610b3983836113b0565b610bdb600080516020611de28339815191526108b8610e0e565b610c165760405162461bcd60e51b8152600401808060200182810382526037815260200180611ee66037913960400191505060405180910390fd5b610a1b611586565b6000828152603360205260408120610c369083611609565b9392505050565b6000828152603360205260408120610c369083611615565b60698054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107d05780601f106107a5576101008083540402835291602001916107d0565b600081565b60006107ee610cc8610e0e565b8461087685604051806060016040528060258152602001611f1d6025913960666000610cf2610e0e565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919061105b565b60006107ee610d30610e0e565b8484610efe565b60008181526033602052604081206107f29061162a565b600080516020611e5c83398151915281565b600082815260336020526040902060020154610d7e906108b8610e0e565b6109665760405162461bcd60e51b8152600401808060200182810382526030815260200180611d5c6030913960400191505060405180910390fd5b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205490565b600080516020611de283398151915281565b610a8d600080516020611e5c8339815191528261089a565b3390565b6001600160a01b038316610e575760405162461bcd60e51b8152600401808060200182810382526024815260200180611ec26024913960400191505060405180910390fd5b6001600160a01b038216610e9c5760405162461bcd60e51b8152600401808060200182810382526022815260200180611d146022913960400191505060405180910390fd5b6001600160a01b03808416600081815260666020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610f435760405162461bcd60e51b8152600401808060200182810382526025815260200180611e9d6025913960400191505060405180910390fd5b6001600160a01b038216610f885760405162461bcd60e51b8152600401808060200182810382526023815260200180611c676023913960400191505060405180910390fd5b610f93838383611635565b610fd081604051806060016040528060268152602001611d36602691396001600160a01b038616600090815260656020526040902054919061105b565b6001600160a01b038085166000908152606560205260408082209390935590841681522054610fff90826111c4565b6001600160a01b0380841660008181526065602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156110ea5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110af578181015183820152602001611097565b50505050905090810190601f1680156110dc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082815260336020526040902061110a9082611640565b1561090257611117610e0e565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526033602052604090206111739082611655565b1561090257611180610e0e565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b600082820183811015610c36576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b611226610b48565b61126e576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b60c9805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6112a1610e0e565b604080516001600160a01b039092168252519081900360200190a1565b6001600160a01b038216611319576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61132560008383611635565b60675461133290826111c4565b6067556001600160a01b03821660009081526065602052604090205461135890826111c4565b6001600160a01b03831660008181526065602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b0382166113f55760405162461bcd60e51b8152600401808060200182810382526021815260200180611e7c6021913960400191505060405180910390fd5b61140182600083611635565b61143e81604051806060016040528060228152602001611cb9602291396001600160a01b038516600090815260656020526040902054919061105b565b6001600160a01b038316600090815260656020526040902055606754611464908261166a565b6067556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60006114b7306116c7565b15905090565b600054610100900460ff16806114d657506114d66114ac565b806114e4575060005460ff16155b61151f5760405162461bcd60e51b815260040180806020018281038252602e815260200180611d8c602e913960400191505060405180910390fd5b600054610100900460ff1615801561154a576000805460ff1961ff0019909116610100171660011790555b6115526116cd565b61155a6116cd565b611564838361176e565b61156c6116cd565b611574611846565b61157c6116cd565b610b2783836118f1565b61158e610b48565b156115d3576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60c9805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586112a1610e0e565b6000610c3683836119c4565b6000610c36836001600160a01b038416611a28565b60006107f282611a40565b610b39838383611a44565b6000610c36836001600160a01b038416611a93565b6000610c36836001600160a01b038416611add565b6000828211156116c1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b3b151590565b600054610100900460ff16806116e657506116e66114ac565b806116f4575060005460ff16155b61172f5760405162461bcd60e51b815260040180806020018281038252602e815260200180611d8c602e913960400191505060405180910390fd5b600054610100900460ff1615801561175a576000805460ff1961ff0019909116610100171660011790555b8015610a8d576000805461ff001916905550565b600054610100900460ff168061178757506117876114ac565b80611795575060005460ff16155b6117d05760405162461bcd60e51b815260040180806020018281038252602e815260200180611d8c602e913960400191505060405180910390fd5b600054610100900460ff161580156117fb576000805460ff1961ff0019909116610100171660011790555b825161180e906068906020860190611ba3565b508151611822906069906020850190611ba3565b50606a805460ff191660121790558015610b39576000805461ff0019169055505050565b600054610100900460ff168061185f575061185f6114ac565b8061186d575060005460ff16155b6118a85760405162461bcd60e51b815260040180806020018281038252602e815260200180611d8c602e913960400191505060405180910390fd5b600054610100900460ff161580156118d3576000805460ff1961ff0019909116610100171660011790555b60c9805460ff191690558015610a8d576000805461ff001916905550565b600054610100900460ff168061190a575061190a6114ac565b80611918575060005460ff16155b6119535760405162461bcd60e51b815260040180806020018281038252602e815260200180611d8c602e913960400191505060405180910390fd5b600054610100900460ff1615801561197e576000805460ff1961ff0019909116610100171660011790555b611990600061198b610e0e565b6108f8565b6119aa600080516020611e5c83398151915261198b610e0e565b610b27600080516020611de283398151915261198b610e0e565b81546000908210611a065760405162461bcd60e51b8152600401808060200182810382526022815260200180611c456022913960400191505060405180910390fd5b826000018281548110611a1557fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b5490565b611a4f838383610b39565b611a57610b48565b15610b395760405162461bcd60e51b815260040180806020018281038252602a815260200180611f71602a913960400191505060405180910390fd5b6000611a9f8383611a28565b611ad5575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107f2565b5060006107f2565b60008181526001830160205260408120548015611b995783546000198083019190810190600090879083908110611b1057fe5b9060005260206000200154905080876000018481548110611b2d57fe5b600091825260208083209091019290925582815260018981019092526040902090840190558654879080611b5d57fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506107f2565b60009150506107f2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611bd95760008555611c1f565b82601f10611bf257805160ff1916838001178555611c1f565b82800160010185558215611c1f579182015b82811115611c1f578251825591602001919060010190611c04565b50611c2b929150611c2f565b5090565b5b80821115611c2b5760008155600101611c3056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e647345524332303a207472616e7366657220746f20746865207a65726f2061646472657373416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e7445524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332305072657365744d696e7465725061757365723a206d75737420686176652070617573657220726f6c6520746f20756e706175736545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b65496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636565d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a45524332305072657365744d696e7465725061757365723a206d7573742068617665206d696e74657220726f6c6520746f206d696e7445524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e63659f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a645524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332305072657365744d696e7465725061757365723a206d75737420686176652070617573657220726f6c6520746f20706175736545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c6645524332305061757361626c653a20746f6b656e207472616e73666572207768696c6520706175736564a2646970667358221220ed8f2d8051175ad36264a1f2297c0199f3f64670b5f96cd7fd2cd2073b575f5a64736f6c63430007060033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101e55760003560e01c806370a082311161010f578063a9059cbb116100a2578063dd62ed3e11610071578063dd62ed3e146106e8578063dd90458814610409578063e63ab1e914610716578063fca3b5aa1461071e576101e5565b8063a9059cbb1461066b578063ca15c87314610697578063d5391393146106b4578063d547741f146106bc576101e5565b806391d14854116100de57806391d148541461060357806395d89b411461062f578063a217fddf14610637578063a457c2d71461063f576101e5565b806370a082311461056a57806379cc6790146105905780638456cb59146105bc5780639010d07c146105c4576101e5565b806336568abe1161018757806342966c681161015657806342966c68146103ec5780634cd88b7614610409578063540ba01d146105365780635c975abb14610562576101e5565b806336568abe14610360578063395093511461038c5780633f4ba83a146103b857806340c10f19146103c0576101e5565b806323b872dd116101c357806323b872dd146102c1578063248a9ca3146102f75780632f2ff15d14610314578063313ce56714610342576101e5565b806306fdde03146101ea578063095ea7b31461026757806318160ddd146102a7575b600080fd5b6101f2610744565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022c578181015183820152602001610214565b50505050905090810190601f1680156102595780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102936004803603604081101561027d57600080fd5b506001600160a01b0381351690602001356107da565b604080519115158252519081900360200190f35b6102af6107f8565b60408051918252519081900360200190f35b610293600480360360608110156102d757600080fd5b506001600160a01b038135811691602081013590911690604001356107fe565b6102af6004803603602081101561030d57600080fd5b5035610885565b6103406004803603604081101561032a57600080fd5b50803590602001356001600160a01b031661089a565b005b61034a610906565b6040805160ff9092168252519081900360200190f35b6103406004803603604081101561037657600080fd5b50803590602001356001600160a01b031661090f565b610293600480360360408110156103a257600080fd5b506001600160a01b038135169060200135610970565b6103406109be565b610340600480360360408110156103d657600080fd5b506001600160a01b038135169060200135610a1d565b6103406004803603602081101561040257600080fd5b5035610a7c565b6103406004803603604081101561041f57600080fd5b81019060208101813564010000000081111561043a57600080fd5b82018360208201111561044c57600080fd5b8035906020019184600183028401116401000000008311171561046e57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156104c157600080fd5b8201836020820111156104d357600080fd5b803590602001918460018302840111640100000000831117156104f557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a90945050505050565b6103406004803603604081101561054c57600080fd5b506001600160a01b038135169060200135610b3e565b610293610b48565b6102af6004803603602081101561058057600080fd5b50356001600160a01b0316610b51565b610340600480360360408110156105a657600080fd5b506001600160a01b038135169060200135610b6c565b610340610bc1565b6105e7600480360360408110156105da57600080fd5b5080359060200135610c1e565b604080516001600160a01b039092168252519081900360200190f35b6102936004803603604081101561061957600080fd5b50803590602001356001600160a01b0316610c3d565b6101f2610c55565b6102af610cb6565b6102936004803603604081101561065557600080fd5b506001600160a01b038135169060200135610cbb565b6102936004803603604081101561068157600080fd5b506001600160a01b038135169060200135610d23565b6102af600480360360208110156106ad57600080fd5b5035610d37565b6102af610d4e565b610340600480360360408110156106d257600080fd5b50803590602001356001600160a01b0316610d60565b6102af600480360360408110156106fe57600080fd5b506001600160a01b0381358116916020013516610db9565b6102af610de4565b6103406004803603602081101561073457600080fd5b50356001600160a01b0316610df6565b60688054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107d05780601f106107a5576101008083540402835291602001916107d0565b820191906000526020600020905b8154815290600101906020018083116107b357829003601f168201915b5050505050905090565b60006107ee6107e7610e0e565b8484610e12565b5060015b92915050565b60675490565b600061080b848484610efe565b61087b84610817610e0e565b61087685604051806060016040528060288152602001611dba602891396001600160a01b038a16600090815260666020526040812090610855610e0e565b6001600160a01b03168152602081019190915260400160002054919061105b565b610e12565b5060019392505050565b60009081526033602052604090206002015490565b6000828152603360205260409020600201546108bd906108b8610e0e565b610c3d565b6108f85760405162461bcd60e51b815260040180806020018281038252602f815260200180611c8a602f913960400191505060405180910390fd5b61090282826110f2565b5050565b606a5460ff1690565b610917610e0e565b6001600160a01b0316816001600160a01b0316146109665760405162461bcd60e51b815260040180806020018281038252602f815260200180611f42602f913960400191505060405180910390fd5b610902828261115b565b60006107ee61097d610e0e565b84610876856066600061098e610e0e565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906111c4565b6109d8600080516020611de28339815191526108b8610e0e565b610a135760405162461bcd60e51b8152600401808060200182810382526039815260200180611cdb6039913960400191505060405180910390fd5b610a1b61121e565b565b610a37600080516020611e5c8339815191526108b8610e0e565b610a725760405162461bcd60e51b8152600401808060200182810382526036815260200180611e026036913960400191505060405180910390fd5b61090282826112be565b610a8d610a87610e0e565b826113b0565b50565b600054610100900460ff1680610aa95750610aa96114ac565b80610ab7575060005460ff16155b610af25760405162461bcd60e51b815260040180806020018281038252602e815260200180611d8c602e913960400191505060405180910390fd5b600054610100900460ff16158015610b1d576000805460ff1961ff0019909116610100171660011790555b610b2783836114bd565b8015610b39576000805461ff00191690555b505050565b61090282826113b0565b60c95460ff1690565b6001600160a01b031660009081526065602052604090205490565b6000610ba382604051806060016040528060248152602001611e3860249139610b9c86610b97610e0e565b610db9565b919061105b565b9050610bb783610bb1610e0e565b83610e12565b610b3983836113b0565b610bdb600080516020611de28339815191526108b8610e0e565b610c165760405162461bcd60e51b8152600401808060200182810382526037815260200180611ee66037913960400191505060405180910390fd5b610a1b611586565b6000828152603360205260408120610c369083611609565b9392505050565b6000828152603360205260408120610c369083611615565b60698054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107d05780601f106107a5576101008083540402835291602001916107d0565b600081565b60006107ee610cc8610e0e565b8461087685604051806060016040528060258152602001611f1d6025913960666000610cf2610e0e565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919061105b565b60006107ee610d30610e0e565b8484610efe565b60008181526033602052604081206107f29061162a565b600080516020611e5c83398151915281565b600082815260336020526040902060020154610d7e906108b8610e0e565b6109665760405162461bcd60e51b8152600401808060200182810382526030815260200180611d5c6030913960400191505060405180910390fd5b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205490565b600080516020611de283398151915281565b610a8d600080516020611e5c8339815191528261089a565b3390565b6001600160a01b038316610e575760405162461bcd60e51b8152600401808060200182810382526024815260200180611ec26024913960400191505060405180910390fd5b6001600160a01b038216610e9c5760405162461bcd60e51b8152600401808060200182810382526022815260200180611d146022913960400191505060405180910390fd5b6001600160a01b03808416600081815260666020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610f435760405162461bcd60e51b8152600401808060200182810382526025815260200180611e9d6025913960400191505060405180910390fd5b6001600160a01b038216610f885760405162461bcd60e51b8152600401808060200182810382526023815260200180611c676023913960400191505060405180910390fd5b610f93838383611635565b610fd081604051806060016040528060268152602001611d36602691396001600160a01b038616600090815260656020526040902054919061105b565b6001600160a01b038085166000908152606560205260408082209390935590841681522054610fff90826111c4565b6001600160a01b0380841660008181526065602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156110ea5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110af578181015183820152602001611097565b50505050905090810190601f1680156110dc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082815260336020526040902061110a9082611640565b1561090257611117610e0e565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526033602052604090206111739082611655565b1561090257611180610e0e565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b600082820183811015610c36576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b611226610b48565b61126e576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b60c9805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6112a1610e0e565b604080516001600160a01b039092168252519081900360200190a1565b6001600160a01b038216611319576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61132560008383611635565b60675461133290826111c4565b6067556001600160a01b03821660009081526065602052604090205461135890826111c4565b6001600160a01b03831660008181526065602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b0382166113f55760405162461bcd60e51b8152600401808060200182810382526021815260200180611e7c6021913960400191505060405180910390fd5b61140182600083611635565b61143e81604051806060016040528060228152602001611cb9602291396001600160a01b038516600090815260656020526040902054919061105b565b6001600160a01b038316600090815260656020526040902055606754611464908261166a565b6067556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60006114b7306116c7565b15905090565b600054610100900460ff16806114d657506114d66114ac565b806114e4575060005460ff16155b61151f5760405162461bcd60e51b815260040180806020018281038252602e815260200180611d8c602e913960400191505060405180910390fd5b600054610100900460ff1615801561154a576000805460ff1961ff0019909116610100171660011790555b6115526116cd565b61155a6116cd565b611564838361176e565b61156c6116cd565b611574611846565b61157c6116cd565b610b2783836118f1565b61158e610b48565b156115d3576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60c9805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586112a1610e0e565b6000610c3683836119c4565b6000610c36836001600160a01b038416611a28565b60006107f282611a40565b610b39838383611a44565b6000610c36836001600160a01b038416611a93565b6000610c36836001600160a01b038416611add565b6000828211156116c1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b3b151590565b600054610100900460ff16806116e657506116e66114ac565b806116f4575060005460ff16155b61172f5760405162461bcd60e51b815260040180806020018281038252602e815260200180611d8c602e913960400191505060405180910390fd5b600054610100900460ff1615801561175a576000805460ff1961ff0019909116610100171660011790555b8015610a8d576000805461ff001916905550565b600054610100900460ff168061178757506117876114ac565b80611795575060005460ff16155b6117d05760405162461bcd60e51b815260040180806020018281038252602e815260200180611d8c602e913960400191505060405180910390fd5b600054610100900460ff161580156117fb576000805460ff1961ff0019909116610100171660011790555b825161180e906068906020860190611ba3565b508151611822906069906020850190611ba3565b50606a805460ff191660121790558015610b39576000805461ff0019169055505050565b600054610100900460ff168061185f575061185f6114ac565b8061186d575060005460ff16155b6118a85760405162461bcd60e51b815260040180806020018281038252602e815260200180611d8c602e913960400191505060405180910390fd5b600054610100900460ff161580156118d3576000805460ff1961ff0019909116610100171660011790555b60c9805460ff191690558015610a8d576000805461ff001916905550565b600054610100900460ff168061190a575061190a6114ac565b80611918575060005460ff16155b6119535760405162461bcd60e51b815260040180806020018281038252602e815260200180611d8c602e913960400191505060405180910390fd5b600054610100900460ff1615801561197e576000805460ff1961ff0019909116610100171660011790555b611990600061198b610e0e565b6108f8565b6119aa600080516020611e5c83398151915261198b610e0e565b610b27600080516020611de283398151915261198b610e0e565b81546000908210611a065760405162461bcd60e51b8152600401808060200182810382526022815260200180611c456022913960400191505060405180910390fd5b826000018281548110611a1557fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b5490565b611a4f838383610b39565b611a57610b48565b15610b395760405162461bcd60e51b815260040180806020018281038252602a815260200180611f71602a913960400191505060405180910390fd5b6000611a9f8383611a28565b611ad5575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107f2565b5060006107f2565b60008181526001830160205260408120548015611b995783546000198083019190810190600090879083908110611b1057fe5b9060005260206000200154905080876000018481548110611b2d57fe5b600091825260208083209091019290925582815260018981019092526040902090840190558654879080611b5d57fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506107f2565b60009150506107f2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611bd95760008555611c1f565b82601f10611bf257805160ff1916838001178555611c1f565b82800160010185558215611c1f579182015b82811115611c1f578251825591602001919060010190611c04565b50611c2b929150611c2f565b5090565b5b80821115611c2b5760008155600101611c3056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e647345524332303a207472616e7366657220746f20746865207a65726f2061646472657373416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e7445524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332305072657365744d696e7465725061757365723a206d75737420686176652070617573657220726f6c6520746f20756e706175736545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b65496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636565d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a45524332305072657365744d696e7465725061757365723a206d7573742068617665206d696e74657220726f6c6520746f206d696e7445524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e63659f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a645524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332305072657365744d696e7465725061757365723a206d75737420686176652070617573657220726f6c6520746f20706175736545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c6645524332305061757361626c653a20746f6b656e207472616e73666572207768696c6520706175736564a2646970667358221220ed8f2d8051175ad36264a1f2297c0199f3f64670b5f96cd7fd2cd2073b575f5a64736f6c63430007060033", "linkReferences": {}, "deployedLinkReferences": {} }