UNPKG

@q-dev/gdk-sdk

Version:

Typescript Library to interact with GDK Contracts

399 lines (398 loc) 45.1 kB
{ "_format": "hh-sol-artifact-1", "contractName": "ICPPingModule", "sourceName": "contracts/presets/ICP/ICPPingModule.sol", "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "previousAdmin", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "AdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "beacon", "type": "address" } ], "name": "BeaconUpgraded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "message", "type": "string" } ], "name": "MessageSent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "implementation", "type": "address" } ], "name": "Upgraded", "type": "event" }, { "inputs": [], "name": "MODULE_RESOURCE", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "resource_", "type": "string" }, { "internalType": "string", "name": "relatedExpertPanelName_", "type": "string" } ], "name": "__ICPPingModule_init", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "registry_", "type": "address" }, { "internalType": "string", "name": "resource_", "type": "string" }, { "internalType": "string", "name": "relatedExpertPanelName_", "type": "string" } ], "name": "__ICPPingModule_initAndSetDeps", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "member_", "type": "address" }, { "internalType": "string", "name": "permission_", "type": "string" } ], "name": "checkPermission", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getInjector", "outputs": [ { "internalType": "address", "name": "injector_", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getLastMessage", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getResource", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getResourceRecords", "outputs": [ { "components": [ { "internalType": "string", "name": "existingRole", "type": "string" }, { "internalType": "string", "name": "resource", "type": "string" }, { "internalType": "string[]", "name": "permissions", "type": "string[]" } ], "internalType": "struct IDAOIntegration.ResourceRecords[]", "name": "records_", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "implementation", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "messageId", "type": "uint256" } ], "name": "messages", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nextMessageId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "permissionManager", "outputs": [ { "internalType": "contract PermissionManager", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "message", "type": "string" } ], "name": "ping", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "registry_", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "setDependencies", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "injector_", "type": "address" } ], "name": "setInjector", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newImplementation", "type": "address" } ], "name": "upgradeTo", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newImplementation", "type": "address" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "upgradeToAndCall", "outputs": [], "stateMutability": "payable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ], "bytecode": "0x60a06040523060805234801561001457600080fd5b506080516123b161004c600039600081816105bd015281816105fd015281816106b5015281816106f5015261083f01526123b16000f3fe6080604052600436106101185760003560e01c806352d1902d116100a0578063bb65dc8311610064578063bb65dc83146102e8578063cc7a2049146102fd578063d8ad4e1c1461032a578063eefbf17e1461034a578063f13bdd4d1461036057600080fd5b806352d1902d1461025157806352e9128e146102735780635c60da1b1461029357806369130451146102a85780638cb941cc146102c857600080fd5b80633659cfe6116100e75780633659cfe6146101be5780633adb191b146101de5780633e3b5b19146101fe5780634f1ef28614610229578063526bf76e1461023c57600080fd5b806301ffc9a7146101245780630d80fefd1461015a5780630fa8f705146101875780632b5c06bc146101a957600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5061014461013f36600461164a565b610382565b6040516101519190611675565b60405180910390f35b34801561016657600080fd5b5061017a610175366004611694565b6103ef565b604051610151919061170b565b34801561019357600080fd5b506101a76101a236600461183c565b610489565b005b3480156101b557600080fd5b5061017a6105a6565b3480156101ca57600080fd5b506101a76101d93660046118c2565b6105b3565b3480156101ea57600080fd5b506101a76101f93660046118e3565b61067b565b34801561020a57600080fd5b50600080516020612315833981519152545b6040516101519190611927565b6101a7610237366004611935565b6106ab565b34801561024857600080fd5b5061017a610764565b34801561025d57600080fd5b50610266610832565b6040516101519190611993565b34801561027f57600080fd5b506101a761028e3660046119a1565b61088f565b34801561029f57600080fd5b5061021c610972565b3480156102b457600080fd5b506101a76102c3366004611935565b610981565b3480156102d457600080fd5b506101a76102e33660046118c2565b610a26565b3480156102f457600080fd5b5061017a610a44565b34801561030957600080fd5b5060035461031d906001600160a01b031681565b6040516101519190611a1f565b34801561033657600080fd5b50610144610345366004611935565b610a53565b34801561035657600080fd5b5061026660025481565b34801561036c57600080fd5b50610375610ad1565b6040516101519190611b5c565b60006001600160e01b031982166363c8929f60e01b14806103b357506001600160e01b0319821663f13bdd4d60e01b145b806103ce57506001600160e01b031982166336e447a160e21b145b806103e957506301ffc9a760e01b6001600160e01b03198316145b92915050565b6004602052600090815260409020805461040890611b83565b80601f016020809104026020016040519081016040528092919081815260200182805461043490611b83565b80156104815780601f1061045657610100808354040283529160200191610481565b820191906000526020600020905b81548152906001019060200180831161046457829003601f168201915b505050505081565b600054610100900460ff16158080156104a95750600054600160ff909116105b806104c35750303b1580156104c3575060005460ff166001145b6104e85760405162461bcd60e51b81526004016104df90611bfa565b60405180910390fd5b6000805460ff19166001179055801561050b576000805461ff0019166101001790555b604080516000815260208101909152610525908590610981565b61053b8460008051602061231583398151915255565b60056105478382611ca2565b5060016105548482611ca2565b5080156105a0576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989061059790600190611d76565b60405180910390a15b50505050565b6001805461040890611b83565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105fb5760405162461bcd60e51b81526004016104df90611dcb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661062d611047565b6001600160a01b0316146106535760405162461bcd60e51b81526004016104df90611e22565b61065c81611063565b604080516000808252602082019092526106789183919061115c565b50565b6106a26040518060400160405280600681526020016555504441544560d01b81525061123e565b61067881611264565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106f35760405162461bcd60e51b81526004016104df90611dcb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610725611047565b6001600160a01b03161461074b5760405162461bcd60e51b81526004016104df90611e22565b61075482611063565b6107608282600161115c565b5050565b6060600254600003610783575060408051602081019091526000815290565b6004600060016002546107969190611e48565b815260200190815260200160002080546107af90611b83565b80601f01602080910402602001604051908101604052809291908181526020018280546107db90611b83565b80156108285780601f106107fd57610100808354040283529160200191610828565b820191906000526020600020905b81548152906001019060200180831161080b57829003601f168201915b5050505050905090565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461087c5760405162461bcd60e51b81526004016104df90611eb3565b5060008051602061233583398151915290565b600054610100900460ff16158080156108af5750600054600160ff909116105b806108c95750303b1580156108c9575060005460ff166001145b6108e55760405162461bcd60e51b81526004016104df90611bfa565b6000805460ff191660011790558015610908576000805461ff0019166101001790555b60056109148382611ca2565b5060016109218482611ca2565b50801561096d576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989061096490600190611d76565b60405180910390a15b505050565b600061097c611047565b905090565b6109896112d3565b6000829050806001600160a01b0316639a06df506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f09190611ece565b600380546001600160a01b0319166001600160a01b03929092169190911790555033600080516020612315833981519152555050565b610a2e6112d3565b6106788160008051602061231583398151915255565b6060600180546107af90611b83565b600354604051633ca8e36d60e11b81526000916001600160a01b031690637951c6da90610a899086906001908790600401611f69565b602060405180830381865afa158015610aa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aca9190611fb0565b9392505050565b60408051600380825260808201909252606091816020015b610b0d60405180606001604052806060815260200160608152602001606081525090565b815260200190600190039081610ae95790505090506000610b8660405180604001604052806040518060400160405280600d81526020016c4352454154455f564f54494e4760981b8152508152602001604051806040016040528060088152602001672b27aa22afa327a960c11b815250815250611327565b90506040518060600160405280610c2660058054610ba390611b83565b80601f0160208091040260200160405190810160405280929190818152602001828054610bcf90611b83565b8015610c1c5780601f10610bf157610100808354040283529160200191610c1c565b820191906000526020600020905b815481529060010190602001808311610bff57829003601f168201915b50505050506113a0565b600081518110610c3857610c38611fd1565b6020026020010151815260200160018054610c5290611b83565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7e90611b83565b8015610ccb5780601f10610ca057610100808354040283529160200191610ccb565b820191906000526020600020905b815481529060010190602001808311610cae57829003601f168201915b505050505081526020018281525082600081518110610cec57610cec611fd1565b60200260200101819052506000610d2e60405180602001604052806040518060400160405280600681526020016511561411549560d21b8152508152506113d4565b90506040518060600160405280610dce60058054610d4b90611b83565b80601f0160208091040260200160405190810160405280929190818152602001828054610d7790611b83565b8015610dc45780601f10610d9957610100808354040283529160200191610dc4565b820191906000526020600020905b815481529060010190602001808311610da757829003601f168201915b5050505050611418565b600081518110610de057610de0611fd1565b6020026020010151815260200160018054610dfa90611b83565b80601f0160208091040260200160405190810160405280929190818152602001828054610e2690611b83565b8015610e735780601f10610e4857610100808354040283529160200191610e73565b820191906000526020600020905b815481529060010190602001808311610e5657829003601f168201915b505050505081526020018281525083600181518110610e9457610e94611fd1565b60200260200101819052506040518060600160405280610f3d60058054610eba90611b83565b80601f0160208091040260200160405190810160405280929190818152602001828054610ee690611b83565b8015610f335780601f10610f0857610100808354040283529160200191610f33565b820191906000526020600020905b815481529060010190602001808311610f1657829003601f168201915b5050505050611439565b600081518110610f4f57610f4f611fd1565b6020026020010151815260200160018054610f6990611b83565b80601f0160208091040260200160405190810160405280929190818152602001828054610f9590611b83565b8015610fe25780601f10610fb757610100808354040283529160200191610fe2565b820191906000526020600020905b815481529060010190602001808311610fc557829003601f168201915b5050505050815260200161102160405180602001604052806040518060400160405280600681526020016555504441544560d01b8152508152506113d4565b8152508360028151811061103757611037611fd1565b6020026020010181905250505090565b600080516020612335833981519152546001600160a01b031690565b60035460408051631082599b60e31b815290516000926001600160a01b031691638412ccd89160048083019260209291908290030181865afa1580156110ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d19190612006565b6001600160a01b031663d10611fc6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561110e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111329190611ece565b9050336001600160a01b038216146107605760405162461bcd60e51b81526004016104df9061206a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561118f5761096d8361145a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156111e9575060408051601f3d908101601f191682019092526111e691810190612085565b60015b6112055760405162461bcd60e51b81526004016104df906120ef565b60008051602061233583398151915281146112325760405162461bcd60e51b81526004016104df90612143565b5061096d8383836114b0565b6112483382610a53565b6106785760405162461bcd60e51b81526004016104df9061218f565b6002805482916004916000918261127a8361219f565b91905055815260200190815260200160002090816112989190611ca2565b507fbdc68c10503e06bda29a088fc440065f6f48d934e35de224cfd493a67ca3127b816040516112c8919061170b565b60405180910390a150565b60006112eb6000805160206123158339815191525490565b90506001600160a01b038116158061130b57506001600160a01b03811633145b6106785760405162461bcd60e51b81526004016104df906121ea565b6040805160028082526060828101909352816020015b606081526020019060019003908161133d5750508251815191925090829060009061136a5761136a611fd1565b602090810291909101015281600160200201518160018151811061139057611390611fd1565b6020026020010181905250919050565b60606103e96040518060200160405280846040516020016113c1919061221c565b6040516020818303038152906040528152505b604080516001808252818301909252606091816020015b60608152602001906001900390816113eb5750508251815191925090829060009061139057611390611fd1565b60606103e96040518060200160405280846040516020016113c1919061223e565b60606103e96040518060200160405280846040516020016113c19190612257565b6001600160a01b0381163b6114815760405162461bcd60e51b81526004016104df906122b8565b60008051602061233583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6114b9836114d5565b6000825111806114c65750805b1561096d576105a08383611515565b6114de8161145a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610aca8383604051806060016040528060278152602001612355602791396060600080856001600160a01b03168560405161155291906122c8565b600060405180830381855af49150503d806000811461158d576040519150601f19603f3d011682016040523d82523d6000602084013e611592565b606091505b50915091506115a3868383876115ad565b9695505050505050565b606083156115ec5782516000036115e5576001600160a01b0385163b6115e55760405162461bcd60e51b81526004016104df90612304565b50816115f6565b6115f683836115fe565b949350505050565b81511561160e5781518083602001fd5b8060405162461bcd60e51b81526004016104df919061170b565b6001600160e01b031981165b811461067857600080fd5b80356103e981611628565b60006020828403121561165f5761165f600080fd5b60006115f6848461163f565b8015155b82525050565b602081016103e9828461166b565b80611634565b80356103e981611683565b6000602082840312156116a9576116a9600080fd5b60006115f68484611689565b60005b838110156116d05781810151838201526020016116b8565b50506000910152565b60006116e3825190565b8084526020840193506116fa8185602086016116b5565b601f01601f19169290920192915050565b60208082528101610aca81846116d9565b60006001600160a01b0382166103e9565b6116348161171c565b80356103e98161172d565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff8211171561177d5761177d611741565b6040525050565b600061178f60405190565b905061179b8282611757565b919050565b600067ffffffffffffffff8211156117ba576117ba611741565b601f19601f83011660200192915050565b82818337506000910152565b60006117ea6117e5846117a0565b611784565b90508281526020810184848401111561180557611805600080fd5b6118108482856117cb565b509392505050565b600082601f83011261182c5761182c600080fd5b81356115f68482602086016117d7565b60008060006060848603121561185457611854600080fd5b60006118608686611736565b935050602084013567ffffffffffffffff81111561188057611880600080fd5b61188c86828701611818565b925050604084013567ffffffffffffffff8111156118ac576118ac600080fd5b6118b886828701611818565b9150509250925092565b6000602082840312156118d7576118d7600080fd5b60006115f68484611736565b6000602082840312156118f8576118f8600080fd5b813567ffffffffffffffff81111561191257611912600080fd5b6115f684828501611818565b61166f8161171c565b602081016103e9828461191e565b6000806040838503121561194b5761194b600080fd5b60006119578585611736565b925050602083013567ffffffffffffffff81111561197757611977600080fd5b61198385828601611818565b9150509250929050565b8061166f565b602081016103e9828461198d565b600080604083850312156119b7576119b7600080fd5b823567ffffffffffffffff8111156119d1576119d1600080fd5b61195785828601611818565b60006103e96001600160a01b0383166119f4565b90565b6001600160a01b031690565b60006103e9826119dd565b60006103e982611a00565b61166f81611a0b565b602081016103e98284611a16565b6000610aca83836116d9565b60200190565b6000611a49825190565b80845260208401935083602082028501611a638560200190565b60005b84811015611a975783830388528151611a7f8482611a2d565b93505060208201602098909801979150600101611a66565b50909695505050505050565b8051606080845260009190840190611abb82826116d9565b91505060208301518482036020860152611ad582826116d9565b91505060408301518482036040860152611aef8282611a3f565b95945050505050565b6000610aca8383611aa3565b6000611b0e825190565b80845260208401935083602082028501611b288560200190565b60005b84811015611a975783830388528151611b448482611af8565b93505060208201602098909801979150600101611b2b565b60208082528101610aca8184611b04565b634e487b7160e01b600052602260045260246000fd5b600281046001821680611b9757607f821691505b602082108103611ba957611ba9611b6d565b50919050565b602e8152602081017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b602082015290505b60400190565b602080825281016103e981611baf565b60006103e96119f18381565b611c1f83611c0a565b815460001960089490940293841b1916921b91909117905550565b600061096d818484611c16565b8181101561076057611c5a600082611c3a565b600101611c47565b601f82111561096d576000818152602090206020601f85010481016020851015611c895750805b611c9b6020601f860104830182611c47565b5050505050565b815167ffffffffffffffff811115611cbc57611cbc611741565b611cc68254611b83565b611cd1828285611c62565b506020601f821160018114611d065760008315611cee5750848201515b600019600885021c1981166002850217855550611c9b565b600084815260208120601f198516915b82811015611d365787850151825560209485019460019092019101611d16565b5084821015611d535783870151600019601f87166008021c191681555b50505050600202600101905550565b600060ff82166103e9565b61166f81611d62565b602081016103e98284611d6d565b602c8152602081017f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682081526b19195b1959d85d1958d85b1b60a21b60208201529050611bf4565b602080825281016103e981611d84565b602c8152602081017f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682081526b6163746976652070726f787960a01b60208201529050611bf4565b602080825281016103e981611ddb565b634e487b7160e01b600052601160045260246000fd5b818103818111156103e9576103e9611e32565b60388152602081017f555550535570677261646561626c653a206d757374206e6f742062652063616c81527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060208201529050611bf4565b602080825281016103e981611e5b565b80516103e98161172d565b600060208284031215611ee357611ee3600080fd5b60006115f68484611ec3565b60008154611efc81611b83565b808552602085019450600182168015611f1c5760018114611f3257611f60565b60ff198316865260208215150286019350611f60565b60008581526020902060005b83811015611f5a57815488820152600190910190602001611f3e565b87019450505b50505092915050565b60608101611f77828661191e565b8181036020830152611f898185611eef565b90508181036040830152611aef81846116d9565b801515611634565b80516103e981611f9d565b600060208284031215611fc557611fc5600080fd5b60006115f68484611fa5565b634e487b7160e01b600052603260045260246000fd5b60006103e98261171c565b61163481611fe7565b80516103e981611ff2565b60006020828403121561201b5761201b600080fd5b60006115f68484611ffb565b60288152602081017f5b5147444b2d3030363030355d2d4e6f7420617574686f72697a656420746f208152673ab833b930b2329760c11b60208201529050611bf4565b602080825281016103e981612027565b80516103e981611683565b60006020828403121561209a5761209a600080fd5b60006115f6848461207a565b602e8152602081017f45524331393637557067726164653a206e657720696d706c656d656e7461746981526d6f6e206973206e6f74205555505360901b60208201529050611bf4565b602080825281016103e9816120a6565b60298152602081017f45524331393637557067726164653a20756e737570706f727465642070726f788152681a58589b195555525160ba1b60208201529050611bf4565b602080825281016103e9816120ff565b60218152602081017f49435050696e674d6f64756c653a207065726d697373696f6e2064656e6965648152601760f91b60208201529050611bf4565b602080825281016103e981612153565b6000600182016121b1576121b1611e32565b5060010190565b601a8152602081017f446570656e64616e743a206e6f7420616e20696e6a6563746f7200000000000081529050611a39565b602080825281016103e9816121b8565b6000612204825190565b6122128185602086016116b5565b9290920192915050565b6d2220a7a6b2b6b132b92937b6329d60911b81525b600e016103e981836121fa565b6d2220a7a2bc3832b93a2937b6329d60911b8152612231565b6d2220a7ab37ba34b733a937b6329d60911b8152612231565b602d8152602081017f455243313936373a206e657720696d706c656d656e746174696f6e206973206e81526c1bdd08184818dbdb9d1c9858dd609a1b60208201529050611bf4565b602080825281016103e981612270565b6103e981836121fa565b601d8152602081017f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081529050611a39565b602080825281016103e9816122d256fe3d1f25f1ac447e55e7fec744471c4dab1c6a2b6ffb897825f9ea3d2e8c9be583360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122046573cfae2c025bbc4352161c5b45d91f2ff3ab0de85042f944e70b2c0ae750964736f6c63430008140033", "deployedBytecode": "0x6080604052600436106101185760003560e01c806352d1902d116100a0578063bb65dc8311610064578063bb65dc83146102e8578063cc7a2049146102fd578063d8ad4e1c1461032a578063eefbf17e1461034a578063f13bdd4d1461036057600080fd5b806352d1902d1461025157806352e9128e146102735780635c60da1b1461029357806369130451146102a85780638cb941cc146102c857600080fd5b80633659cfe6116100e75780633659cfe6146101be5780633adb191b146101de5780633e3b5b19146101fe5780634f1ef28614610229578063526bf76e1461023c57600080fd5b806301ffc9a7146101245780630d80fefd1461015a5780630fa8f705146101875780632b5c06bc146101a957600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5061014461013f36600461164a565b610382565b6040516101519190611675565b60405180910390f35b34801561016657600080fd5b5061017a610175366004611694565b6103ef565b604051610151919061170b565b34801561019357600080fd5b506101a76101a236600461183c565b610489565b005b3480156101b557600080fd5b5061017a6105a6565b3480156101ca57600080fd5b506101a76101d93660046118c2565b6105b3565b3480156101ea57600080fd5b506101a76101f93660046118e3565b61067b565b34801561020a57600080fd5b50600080516020612315833981519152545b6040516101519190611927565b6101a7610237366004611935565b6106ab565b34801561024857600080fd5b5061017a610764565b34801561025d57600080fd5b50610266610832565b6040516101519190611993565b34801561027f57600080fd5b506101a761028e3660046119a1565b61088f565b34801561029f57600080fd5b5061021c610972565b3480156102b457600080fd5b506101a76102c3366004611935565b610981565b3480156102d457600080fd5b506101a76102e33660046118c2565b610a26565b3480156102f457600080fd5b5061017a610a44565b34801561030957600080fd5b5060035461031d906001600160a01b031681565b6040516101519190611a1f565b34801561033657600080fd5b50610144610345366004611935565b610a53565b34801561035657600080fd5b5061026660025481565b34801561036c57600080fd5b50610375610ad1565b6040516101519190611b5c565b60006001600160e01b031982166363c8929f60e01b14806103b357506001600160e01b0319821663f13bdd4d60e01b145b806103ce57506001600160e01b031982166336e447a160e21b145b806103e957506301ffc9a760e01b6001600160e01b03198316145b92915050565b6004602052600090815260409020805461040890611b83565b80601f016020809104026020016040519081016040528092919081815260200182805461043490611b83565b80156104815780601f1061045657610100808354040283529160200191610481565b820191906000526020600020905b81548152906001019060200180831161046457829003601f168201915b505050505081565b600054610100900460ff16158080156104a95750600054600160ff909116105b806104c35750303b1580156104c3575060005460ff166001145b6104e85760405162461bcd60e51b81526004016104df90611bfa565b60405180910390fd5b6000805460ff19166001179055801561050b576000805461ff0019166101001790555b604080516000815260208101909152610525908590610981565b61053b8460008051602061231583398151915255565b60056105478382611ca2565b5060016105548482611ca2565b5080156105a0576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989061059790600190611d76565b60405180910390a15b50505050565b6001805461040890611b83565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105fb5760405162461bcd60e51b81526004016104df90611dcb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661062d611047565b6001600160a01b0316146106535760405162461bcd60e51b81526004016104df90611e22565b61065c81611063565b604080516000808252602082019092526106789183919061115c565b50565b6106a26040518060400160405280600681526020016555504441544560d01b81525061123e565b61067881611264565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106f35760405162461bcd60e51b81526004016104df90611dcb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610725611047565b6001600160a01b03161461074b5760405162461bcd60e51b81526004016104df90611e22565b61075482611063565b6107608282600161115c565b5050565b6060600254600003610783575060408051602081019091526000815290565b6004600060016002546107969190611e48565b815260200190815260200160002080546107af90611b83565b80601f01602080910402602001604051908101604052809291908181526020018280546107db90611b83565b80156108285780601f106107fd57610100808354040283529160200191610828565b820191906000526020600020905b81548152906001019060200180831161080b57829003601f168201915b5050505050905090565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461087c5760405162461bcd60e51b81526004016104df90611eb3565b5060008051602061233583398151915290565b600054610100900460ff16158080156108af5750600054600160ff909116105b806108c95750303b1580156108c9575060005460ff166001145b6108e55760405162461bcd60e51b81526004016104df90611bfa565b6000805460ff191660011790558015610908576000805461ff0019166101001790555b60056109148382611ca2565b5060016109218482611ca2565b50801561096d576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989061096490600190611d76565b60405180910390a15b505050565b600061097c611047565b905090565b6109896112d3565b6000829050806001600160a01b0316639a06df506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f09190611ece565b600380546001600160a01b0319166001600160a01b03929092169190911790555033600080516020612315833981519152555050565b610a2e6112d3565b6106788160008051602061231583398151915255565b6060600180546107af90611b83565b600354604051633ca8e36d60e11b81526000916001600160a01b031690637951c6da90610a899086906001908790600401611f69565b602060405180830381865afa158015610aa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aca9190611fb0565b9392505050565b60408051600380825260808201909252606091816020015b610b0d60405180606001604052806060815260200160608152602001606081525090565b815260200190600190039081610ae95790505090506000610b8660405180604001604052806040518060400160405280600d81526020016c4352454154455f564f54494e4760981b8152508152602001604051806040016040528060088152602001672b27aa22afa327a960c11b815250815250611327565b90506040518060600160405280610c2660058054610ba390611b83565b80601f0160208091040260200160405190810160405280929190818152602001828054610bcf90611b83565b8015610c1c5780601f10610bf157610100808354040283529160200191610c1c565b820191906000526020600020905b815481529060010190602001808311610bff57829003601f168201915b50505050506113a0565b600081518110610c3857610c38611fd1565b6020026020010151815260200160018054610c5290611b83565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7e90611b83565b8015610ccb5780601f10610ca057610100808354040283529160200191610ccb565b820191906000526020600020905b815481529060010190602001808311610cae57829003601f168201915b505050505081526020018281525082600081518110610cec57610cec611fd1565b60200260200101819052506000610d2e60405180602001604052806040518060400160405280600681526020016511561411549560d21b8152508152506113d4565b90506040518060600160405280610dce60058054610d4b90611b83565b80601f0160208091040260200160405190810160405280929190818152602001828054610d7790611b83565b8015610dc45780601f10610d9957610100808354040283529160200191610dc4565b820191906000526020600020905b815481529060010190602001808311610da757829003601f168201915b5050505050611418565b600081518110610de057610de0611fd1565b6020026020010151815260200160018054610dfa90611b83565b80601f0160208091040260200160405190810160405280929190818152602001828054610e2690611b83565b8015610e735780601f10610e4857610100808354040283529160200191610e73565b820191906000526020600020905b815481529060010190602001808311610e5657829003601f168201915b505050505081526020018281525083600181518110610e9457610e94611fd1565b60200260200101819052506040518060600160405280610f3d60058054610eba90611b83565b80601f0160208091040260200160405190810160405280929190818152602001828054610ee690611b83565b8015610f335780601f10610f0857610100808354040283529160200191610f33565b820191906000526020600020905b815481529060010190602001808311610f1657829003601f168201915b5050505050611439565b600081518110610f4f57610f4f611fd1565b6020026020010151815260200160018054610f6990611b83565b80601f0160208091040260200160405190810160405280929190818152602001828054610f9590611b83565b8015610fe25780601f10610fb757610100808354040283529160200191610fe2565b820191906000526020600020905b815481529060010190602001808311610fc557829003601f168201915b5050505050815260200161102160405180602001604052806040518060400160405280600681526020016555504441544560d01b8152508152506113d4565b8152508360028151811061103757611037611fd1565b6020026020010181905250505090565b600080516020612335833981519152546001600160a01b031690565b60035460408051631082599b60e31b815290516000926001600160a01b031691638412ccd89160048083019260209291908290030181865afa1580156110ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d19190612006565b6001600160a01b031663d10611fc6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561110e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111329190611ece565b9050336001600160a01b038216146107605760405162461bcd60e51b81526004016104df9061206a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561118f5761096d8361145a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156111e9575060408051601f3d908101601f191682019092526111e691810190612085565b60015b6112055760405162461bcd60e51b81526004016104df906120ef565b60008051602061233583398151915281146112325760405162461bcd60e51b81526004016104df90612143565b5061096d8383836114b0565b6112483382610a53565b6106785760405162461bcd60e51b81526004016104df9061218f565b6002805482916004916000918261127a8361219f565b91905055815260200190815260200160002090816112989190611ca2565b507fbdc68c10503e06bda29a088fc440065f6f48d934e35de224cfd493a67ca3127b816040516112c8919061170b565b60405180910390a150565b60006112eb6000805160206123158339815191525490565b90506001600160a01b038116158061130b57506001600160a01b03811633145b6106785760405162461bcd60e51b81526004016104df906121ea565b6040805160028082526060828101909352816020015b606081526020019060019003908161133d5750508251815191925090829060009061136a5761136a611fd1565b602090810291909101015281600160200201518160018151811061139057611390611fd1565b6020026020010181905250919050565b60606103e96040518060200160405280846040516020016113c1919061221c565b6040516020818303038152906040528152505b604080516001808252818301909252606091816020015b60608152602001906001900390816113eb5750508251815191925090829060009061139057611390611fd1565b60606103e96040518060200160405280846040516020016113c1919061223e565b60606103e96040518060200160405280846040516020016113c19190612257565b6001600160a01b0381163b6114815760405162461bcd60e51b81526004016104df906122b8565b60008051602061233583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6114b9836114d5565b6000825111806114c65750805b1561096d576105a08383611515565b6114de8161145a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610aca8383604051806060016040528060278152602001612355602791396060600080856001600160a01b03168560405161155291906122c8565b600060405180830381855af49150503d806000811461158d576040519150601f19603f3d011682016040523d82523d6000602084013e611592565b606091505b50915091506115a3868383876115ad565b9695505050505050565b606083156115ec5782516000036115e5576001600160a01b0385163b6115e55760405162461bcd60e51b81526004016104df90612304565b50816115f6565b6115f683836115fe565b949350505050565b81511561160e5781518083602001fd5b8060405162461bcd60e51b81526004016104df919061170b565b6001600160e01b031981165b811461067857600080fd5b80356103e981611628565b60006020828403121561165f5761165f600080fd5b60006115f6848461163f565b8015155b82525050565b602081016103e9828461166b565b80611634565b80356103e981611683565b6000602082840312156116a9576116a9600080fd5b60006115f68484611689565b60005b838110156116d05781810151838201526020016116b8565b50506000910152565b60006116e3825190565b8084526020840193506116fa8185602086016116b5565b601f01601f19169290920192915050565b60208082528101610aca81846116d9565b60006001600160a01b0382166103e9565b6116348161171c565b80356103e98161172d565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff8211171561177d5761177d611741565b6040525050565b600061178f60405190565b905061179b8282611757565b919050565b600067ffffffffffffffff8211156117ba576117ba611741565b601f19601f83011660200192915050565b82818337506000910152565b60006117ea6117e5846117a0565b611784565b90508281526020810184848401111561180557611805600080fd5b6118108482856117cb565b509392505050565b600082601f83011261182c5761182c600080fd5b81356115f68482602086016117d7565b60008060006060848603121561185457611854600080fd5b60006118608686611736565b935050602084013567ffffffffffffffff81111561188057611880600080fd5b61188c86828701611818565b925050604084013567ffffffffffffffff8111156118ac576118ac600080fd5b6118b886828701611818565b9150509250925092565b6000602082840312156118d7576118d7600080fd5b60006115f68484611736565b6000602082840312156118f8576118f8600080fd5b813567ffffffffffffffff81111561191257611912600080fd5b6115f684828501611818565b61166f8161171c565b602081016103e9828461191e565b6000806040838503121561194b5761194b600080fd5b60006119578585611736565b925050602083013567ffffffffffffffff81111561197757611977600080fd5b61198385828601611818565b9150509250929050565b8061166f565b602081016103e9828461198d565b600080604083850312156119b7576119b7600080fd5b823567ffffffffffffffff8111156119d1576119d1600080fd5b61195785828601611818565b60006103e96001600160a01b0383166119f4565b90565b6001600160a01b031690565b60006103e9826119dd565b60006103e982611a00565b61166f81611a0b565b602081016103e98284611a16565b6000610aca83836116d9565b60200190565b6000611a49825190565b80845260208401935083602082028501611a638560200190565b60005b84811015611a975783830388528151611a7f8482611a2d565b93505060208201602098909801979150600101611a66565b50909695505050505050565b8051606080845260009190840190611abb82826116d9565b91505060208301518482036020860152611ad582826116d9565b91505060408301518482036040860152611aef8282611a3f565b95945050505050565b6000610aca8383611aa3565b6000611b0e825190565b80845260208401935083602082028501611b288560200190565b60005b84811015611a975783830388528151611b448482611af8565b93505060208201602098909801979150600101611b2b565b60208082528101610aca8184611b04565b634e487b7160e01b600052602260045260246000fd5b600281046001821680611b9757607f821691505b602082108103611ba957611ba9611b6d565b50919050565b602e8152602081017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b602082015290505b60400190565b602080825281016103e981611baf565b60006103e96119f18381565b611c1f83611c0a565b815460001960089490940293841b1916921b91909117905550565b600061096d818484611c16565b8181101561076057611c5a600082611c3a565b600101611c47565b601f82111561096d576000818152602090206020601f85010481016020851015611c895750805b611c9b6020601f860104830182611c47565b5050505050565b815167ffffffffffffffff811115611cbc57611cbc611741565b611cc68254611b83565b611cd1828285611c62565b506020601f821160018114611d065760008315611cee5750848201515b600019600885021c1981166002850217855550611c9b565b600084815260208120601f198516915b82811015611d365787850151825560209485019460019092019101611d16565b5084821015611d535783870151600019601f87166008021c191681555b50505050600202600101905550565b600060ff82166103e9565b61166f81611d62565b602081016103e98284611d6d565b602c8152602081017f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682081526b19195b1959d85d1958d85b1b60a21b60208201529050611bf4565b602080825281016103e981611d84565b602c8152602081017f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682081526b6163746976652070726f787960a01b60208201529050611bf4565b602080825281016103e981611ddb565b634e487b7160e01b600052601160045260246000fd5b818103818111156103e9576103e9611e32565b60388152602081017f555550535570677261646561626c653a206d757374206e6f742062652063616c81527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060208201529050611bf4565b602080825281016103e981611e5b565b80516103e98161172d565b600060208284031215611ee357611ee3600080fd5b60006115f68484611ec3565b60008154611efc81611b83565b808552602085019450600182168015611f1c5760018114611f3257611f60565b60ff198316865260208215150286019350611f60565b60008581526020902060005b83811015611f5a57815488820152600190910190602001611f3e565b87019450505b50505092915050565b60608101611f77828661191e565b8181036020830152611f898185611eef565b90508181036040830152611aef81846116d9565b801515611634565b80516103e981611f9d565b600060208284031215611fc557611fc5600080fd5b60006115f68484611fa5565b634e487b7160e01b600052603260045260246000fd5b60006103e98261171c565b61163481611fe7565b80516103e981611ff2565b60006020828403121561201b5761201b600080fd5b60006115f68484611ffb565b60288152602081017f5b5147444b2d3030363030355d2d4e6f7420617574686f72697a656420746f208152673ab833b930b2329760c11b60208201529050611bf4565b602080825281016103e981612027565b80516103e981611683565b60006020828403121561209a5761209a600080fd5b60006115f6848461207a565b602e8152602081017f45524331393637557067726164653a206e657720696d706c656d656e7461746981526d6f6e206973206e6f74205555505360901b60208201529050611bf4565b602080825281016103e9816120a6565b60298152602081017f45524331393637557067726164653a20756e737570706f727465642070726f788152681a58589b195555525160ba1b60208201529050611bf4565b602080825281016103e9816120ff565b60218152602081017f49435050696e674d6f64756c653a207065726d697373696f6e2064656e6965648152601760f91b60208201529050611bf4565b602080825281016103e981612153565b6000600182016121b1576121b1611e32565b5060010190565b601a8152602081017f446570656e64616e743a206e6f7420616e20696e6a6563746f7200000000000081529050611a39565b602080825281016103e9816121b8565b6000612204825190565b6122128185602086016116b5565b9290920192915050565b6d2220a7a6b2b6b132b92937b6329d60911b81525b600e016103e981836121fa565b6d2220a7a2bc3832b93a2937b6329d60911b8152612231565b6d2220a7ab37ba34b733a937b6329d60911b8152612231565b602d8152602081017f455243313936373a206e657720696d706c656d656e746174696f6e206973206e81526c1bdd08184818dbdb9d1c9858dd609a1b60208201529050611bf4565b602080825281016103e981612270565b6103e981836121fa565b601d8152602081017f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081529050611a39565b602080825281016103e9816122d256fe3d1f25f1ac447e55e7fec744471c4dab1c6a2b6ffb897825f9ea3d2e8c9be583360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122046573cfae2c025bbc4352161c5b45d91f2ff3ab0de85042f944e70b2c0ae750964736f6c63430008140033", "linkReferences": {}, "deployedLinkReferences": {} }