560 lines
34 KiB
JSON
560 lines
34 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "TokenRegistry",
|
|
"sourceName": "contracts/utils/TokenRegistry.sol",
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "admin",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "AccessControlBadConfirmation",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "neededRole",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "AccessControlUnauthorizedAccount",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"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": "tokenAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "name",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "symbol",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint8",
|
|
"name": "decimals",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "timestamp",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "TokenRegistered",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "tokenAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "timestamp",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "TokenRemoved",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "tokenAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "isActive",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "timestamp",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "TokenUpdated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "DEFAULT_ADMIN_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "REGISTRAR_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getAllTokens",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getRoleAdmin",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "symbol",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "getTokenBySymbol",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getTokenCount",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenAddress",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getTokenInfo",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "name",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "symbol",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "uint8",
|
|
"name": "decimals",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "isActive",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "isNative",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "bridgeAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "registeredAt",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "lastUpdated",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"internalType": "struct TokenRegistry.TokenInfo",
|
|
"name": "",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"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": "tokenAddress",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "isTokenActive",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenAddress",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "isTokenRegistered",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "name",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "symbol",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "uint8",
|
|
"name": "decimals",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "isNative",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "bridgeAddress",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "registerToken",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenAddress",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "removeToken",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "callerConfirmation",
|
|
"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": "bytes4",
|
|
"name": "interfaceId",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"name": "supportsInterface",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "isActive",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "updateTokenStatus",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x6080346200007c57601f620016cc38819003918201601f19168301916001600160401b0383118484101762000081578084926020946040528339810103126200007c57516001600160a01b03811681036200007c5780620000646200006b9262000097565b5062000117565b506040516114f29081620001ba8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff166200011357818052816020526040822081835260205260408220600160ff198254161790553391600080516020620016ac8339815191528180a4600190565b5090565b6001600160a01b031660008181527f01ddc098da42acdf4176da08ec75800bc0fb2bce2be978b2037bcb0ae696651960205260408120549091907fedcc084d3dcd65a1f7f23c65c46722faca6953d28e43150a467cf43e5c3092389060ff16620001b457808352826020526040832082845260205260408320600160ff19825416179055600080516020620016ac833981519152339380a4600190565b50509056fe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a714610fb1575080631f69565f14610e36578063248a9ca314610e0757806326aa101f14610dca5780632a5c792a14610d025780632f2ff15d14610cc357806336568abe14610c7c5780635fa7b58414610a4157806378a8956714610a23578063895b327e14610955578063900ed1781461089957806391d148541461084c578063a217fddf14610830578063ac61eef6146101b7578063d547741f14610176578063efa74f1f1461011a5763f68e9553146100da57600080fd5b346101155760003660031901126101155760206040517fedcc084d3dcd65a1f7f23c65c46722faca6953d28e43150a467cf43e5c3092388152f35b600080fd5b346101155760203660031901126101155760043567ffffffffffffffff81116101155761014d6020913690600401611070565b80604051928337600290820190815281900382019020546040516001600160a01b039091168152f35b34610115576040366003190112610115576101b560043561019561101a565b908060005260006020526101b06001604060002001546113a3565b611447565b005b346101155760c0366003190112610115576101d0611004565b60243567ffffffffffffffff8111610115576101f0903690600401611070565b919060443567ffffffffffffffff811161011557610212903690600401611070565b9390926064359460ff861686036101155760843580151581036101155760a4356001600160a01b03811681036101155761024a611329565b6001600160a01b038416156107eb576001600160a01b0384811660009081526001602052604090205416610796576040518388823760028185019081528190036020019020546001600160a01b03166107465781156106ed575b604051916102b18361109e565b6001600160a01b03851683526102c83687896112c1565b60208401526102d836858a6112c1565b604084015260ff8916606084015260016080840152151560a083015260018060a01b031660c08201524260e08201524261010082015260018060a01b038316600052600160205260406000209060018060a01b038151166bffffffffffffffffffffffff60a01b835416178255602081015180519067ffffffffffffffff82116105645761036960018501546110dd565b601f81116106b8575b50602090601f8311600114610646576103a492916000918361063b575b50508160011b916000199060031b1c19161790565b60018301555b604081015180519067ffffffffffffffff8211610564576103ce60028501546110dd565b601f81116105fb575b50602090601f83116001146105855782610100936005959361040f9360009261057a5750508160011b916000199060031b1c19161790565b60028501555b6060810151600385018054608084015160a085015160c08601516301000000600160b81b0360189190911b1662ff000091151560101b919091166001600160b81b031990931660ff9095169490941790151560081b61ff0016171791909117905560e081015160048501550151910155604051818682376002828201908152819003602001902080546001600160a01b0319166001600160a01b03841617905560035468010000000000000000811015610564577f64126b90f173bd1c16e2e4a8c4c032556ef2760eee5db033c50ede372e91be909560ff92610523856105058560016105489701600355611214565b90919060018060a01b038084549260031b9316831b921b1916179055565b61053a604051978897608089526080890191611308565b918683036020880152611308565b951660408301524260608301526001600160a01b0316930390a2005b634e487b7160e01b600052604160045260246000fd5b015190508d8061038f565b906002850160005260206000209160005b601f19851681106105e3575092600594926001926101009583601f198116106105ca575b505050811b016002850155610415565b015160001960f88460031b161c191690558c80806105ba565b91926020600181928685015181550194019201610596565b61062b90600286016000526020600020601f850160051c81019160208610610631575b601f0160051c0190611261565b8a6103d7565b909150819061061e565b015190508b8061038f565b9190600185016000526020600020906000935b601f198416851061069d576001945083601f19811610610684575b505050811b0160018301556103aa565b015160001960f88460031b161c191690558a8080610674565b81810151835560209485019460019093019290910190610659565b6106e790600186016000526020600020601f850160051c8101916020861061063157601f0160051c0190611261565b8a610372565b833b6102a45760405162461bcd60e51b815260206004820152602560248201527f546f6b656e52656769737472793a20696e76616c696420746f6b656e20636f6e6044820152641d1c9858dd60da1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f546f6b656e52656769737472793a2073796d626f6c20616c7265616479207573604482015261195960f21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f546f6b656e52656769737472793a20746f6b656e20616c7265616479207265676044820152661a5cdd195c995960ca1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601b60248201527f546f6b656e52656769737472793a207a65726f206164647265737300000000006044820152606490fd5b3461011557600036600319011261011557602060405160008152f35b346101155760403660031901126101155761086561101a565b600435600052600060205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34610115576040366003190112610115576108b2611004565b60243580151590818103610115577fcac50bd348eed3636ac2f6d57db9f054b1305b47fe8d18c9b961ef650c2e03c6916040916108ed611329565b6001600160a01b0394851660008181526001602052849020549095610914911615156111bc565b8460005260016020526109418360002091600383019061ff00825491151560081b169061ff001916179055565b6005429101558151908152426020820152a2005b346101155760203660031901126101155760206001600160a01b0380610979611004565b16600052600182526040600020906040516109938161109e565b8183541681526109a560018401611117565b848201526109b560028401611117565b6040820152600560038401549360ff851660608401528360ff8660081c1615159586608086015260ff8160101c16151560a086015260181c1660c0840152600481015460e08401520154610100820152511615159081610a1b575b506040519015158152f35b905082610a10565b34610115576000366003190112610115576020600354604051908152f35b346101155760208060031936011261011557610a5b611004565b90610a64611329565b60018060a01b03809216908160005260018093818352610a8c816040600020541615156111bc565b8360005281835260026040600020018360405191600090805490610aaf826110dd565b91858882169182600014610c64575050600114610c30575b50506002815282900301902080546001600160a01b031916905590506000845b610b4f575b837fbe9bb4bdca0a094babd75e3a98b1d2e2390633430d0a2f6e2b9970e2ee03fb2e846000600589858352808452610b2c60408420918483558201611278565b610b3860028201611278565b8260038201558260048201550155604051428152a2005b6003805480831015610c29578584610b6685611214565b905490851b1c1614610b7c575050840184610ae7565b949590946000199392818501918211610c135761050584610b9f610bac94611214565b9054908a1b1c1691611214565b8454918215610bfd577fbe9bb4bdca0a094babd75e3a98b1d2e2390633430d0a2f6e2b9970e2ee03fb2e956000946005940191610be883611214565b9091825491841b1b1916905555949350610aec565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b5050610aec565b909150600052816000206000905b828210610c5057505082018289610ac7565b805485830152899688949092019101610c3e565b925093505060ff191682528015150281019089610ac7565b3461011557604036600319011261011557610c9561101a565b336001600160a01b03821603610cb1576101b590600435611447565b60405163334bd91960e11b8152600490fd5b34610115576040366003190112610115576101b5600435610ce261101a565b90806000526000602052610cfd6001604060002001546113a3565b6113c9565b3461011557600036600319011261011557604051806003548083526020809301809160036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b9060005b86828210610dad578686610d64828803836110bb565b604051928392818401908285525180915260408401929160005b828110610d8d57505050500390f35b83516001600160a01b031685528695509381019392810192600101610d7e565b83546001600160a01b031685529093019260019283019201610d4e565b346101155760203660031901126101155760206001600160a01b0380610dee611004565b1660005260018252604060002054161515604051908152f35b346101155760203660031901126101155760043560005260006020526020600160406000200154604051908152f35b346101155760208060031936011261011557610e50611004565b9060405191610e5e8361109e565b6000808452606083850181905260408086018290529085018290526080850182905260a0850182905260c0850182905260e085018290526101009485018290526001600160a01b0392831682526001845290819020905193610ebf8561109e565b815483168552610ed160018301611117565b85850190815290610ee460028401611117565b9260408701938452600381015494606088019560ff81168752608089018160081c60ff161515815260a08a01908260101c60ff16151582528360c08c019360181c16835260048501549460e08c019586526005015496868c019788528a856040519d8e9d8e525116908c01525197610120988960408d01526101408c01610f6a91611030565b90518b8203601f190160608d0152610f829190611030565b985160ff1660808b015251151560a08a015251151560c0890152511660e0870152519085015251908301520390f35b34610115576020366003190112610115576004359063ffffffff60e01b821680920361011557602091637965db0b60e01b8114908115610ff3575b5015158152f35b6301ffc9a760e01b14905083610fec565b600435906001600160a01b038216820361011557565b602435906001600160a01b038216820361011557565b919082519283825260005b84811061105c575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161103b565b9181601f840112156101155782359167ffffffffffffffff8311610115576020838186019501011161011557565b610120810190811067ffffffffffffffff82111761056457604052565b90601f8019910116810190811067ffffffffffffffff82111761056457604052565b90600182811c9216801561110d575b60208310146110f757565b634e487b7160e01b600052602260045260246000fd5b91607f16916110ec565b9060405191826000825461112a816110dd565b9081845260209460019160018116908160001461119a575060011461115b575b505050611159925003836110bb565b565b600090815285812095935091905b818310611182575050611159935082010138808061114a565b85548884018501529485019487945091830191611169565b9250505061115994925060ff191682840152151560051b82010138808061114a565b156111c357565b60405162461bcd60e51b815260206004820152602360248201527f546f6b656e52656769737472793a20746f6b656e206e6f7420726567697374656044820152621c995960ea1b6064820152608490fd5b60035481101561124b5760036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0190600090565b634e487b7160e01b600052603260045260246000fd5b81811061126c575050565b60008155600101611261565b61128281546110dd565b908161128c575050565b81601f6000931160011461129e575055565b9080839182526112bd601f60208420940160051c840160018501611261565b5555565b92919267ffffffffffffffff821161056457604051916112eb601f8201601f1916602001846110bb565b829481845281830111610115578281602093846000960137010152565b908060209392818452848401376000828201840152601f01601f1916010190565b3360009081527f01ddc098da42acdf4176da08ec75800bc0fb2bce2be978b2037bcb0ae696651960205260409020547fedcc084d3dcd65a1f7f23c65c46722faca6953d28e43150a467cf43e5c3092389060ff16156113855750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff60406000205416156113855750565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054161560001461144257808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146114425780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a460019056fea2646970667358221220cc843006dbb98f3c178b29e4069d5ed8f65860f88789cabdceea6c61733804d364736f6c634300081600332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
|
|
"deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a714610fb1575080631f69565f14610e36578063248a9ca314610e0757806326aa101f14610dca5780632a5c792a14610d025780632f2ff15d14610cc357806336568abe14610c7c5780635fa7b58414610a4157806378a8956714610a23578063895b327e14610955578063900ed1781461089957806391d148541461084c578063a217fddf14610830578063ac61eef6146101b7578063d547741f14610176578063efa74f1f1461011a5763f68e9553146100da57600080fd5b346101155760003660031901126101155760206040517fedcc084d3dcd65a1f7f23c65c46722faca6953d28e43150a467cf43e5c3092388152f35b600080fd5b346101155760203660031901126101155760043567ffffffffffffffff81116101155761014d6020913690600401611070565b80604051928337600290820190815281900382019020546040516001600160a01b039091168152f35b34610115576040366003190112610115576101b560043561019561101a565b908060005260006020526101b06001604060002001546113a3565b611447565b005b346101155760c0366003190112610115576101d0611004565b60243567ffffffffffffffff8111610115576101f0903690600401611070565b919060443567ffffffffffffffff811161011557610212903690600401611070565b9390926064359460ff861686036101155760843580151581036101155760a4356001600160a01b03811681036101155761024a611329565b6001600160a01b038416156107eb576001600160a01b0384811660009081526001602052604090205416610796576040518388823760028185019081528190036020019020546001600160a01b03166107465781156106ed575b604051916102b18361109e565b6001600160a01b03851683526102c83687896112c1565b60208401526102d836858a6112c1565b604084015260ff8916606084015260016080840152151560a083015260018060a01b031660c08201524260e08201524261010082015260018060a01b038316600052600160205260406000209060018060a01b038151166bffffffffffffffffffffffff60a01b835416178255602081015180519067ffffffffffffffff82116105645761036960018501546110dd565b601f81116106b8575b50602090601f8311600114610646576103a492916000918361063b575b50508160011b916000199060031b1c19161790565b60018301555b604081015180519067ffffffffffffffff8211610564576103ce60028501546110dd565b601f81116105fb575b50602090601f83116001146105855782610100936005959361040f9360009261057a5750508160011b916000199060031b1c19161790565b60028501555b6060810151600385018054608084015160a085015160c08601516301000000600160b81b0360189190911b1662ff000091151560101b919091166001600160b81b031990931660ff9095169490941790151560081b61ff0016171791909117905560e081015160048501550151910155604051818682376002828201908152819003602001902080546001600160a01b0319166001600160a01b03841617905560035468010000000000000000811015610564577f64126b90f173bd1c16e2e4a8c4c032556ef2760eee5db033c50ede372e91be909560ff92610523856105058560016105489701600355611214565b90919060018060a01b038084549260031b9316831b921b1916179055565b61053a604051978897608089526080890191611308565b918683036020880152611308565b951660408301524260608301526001600160a01b0316930390a2005b634e487b7160e01b600052604160045260246000fd5b015190508d8061038f565b906002850160005260206000209160005b601f19851681106105e3575092600594926001926101009583601f198116106105ca575b505050811b016002850155610415565b015160001960f88460031b161c191690558c80806105ba565b91926020600181928685015181550194019201610596565b61062b90600286016000526020600020601f850160051c81019160208610610631575b601f0160051c0190611261565b8a6103d7565b909150819061061e565b015190508b8061038f565b9190600185016000526020600020906000935b601f198416851061069d576001945083601f19811610610684575b505050811b0160018301556103aa565b015160001960f88460031b161c191690558a8080610674565b81810151835560209485019460019093019290910190610659565b6106e790600186016000526020600020601f850160051c8101916020861061063157601f0160051c0190611261565b8a610372565b833b6102a45760405162461bcd60e51b815260206004820152602560248201527f546f6b656e52656769737472793a20696e76616c696420746f6b656e20636f6e6044820152641d1c9858dd60da1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f546f6b656e52656769737472793a2073796d626f6c20616c7265616479207573604482015261195960f21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f546f6b656e52656769737472793a20746f6b656e20616c7265616479207265676044820152661a5cdd195c995960ca1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601b60248201527f546f6b656e52656769737472793a207a65726f206164647265737300000000006044820152606490fd5b3461011557600036600319011261011557602060405160008152f35b346101155760403660031901126101155761086561101a565b600435600052600060205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34610115576040366003190112610115576108b2611004565b60243580151590818103610115577fcac50bd348eed3636ac2f6d57db9f054b1305b47fe8d18c9b961ef650c2e03c6916040916108ed611329565b6001600160a01b0394851660008181526001602052849020549095610914911615156111bc565b8460005260016020526109418360002091600383019061ff00825491151560081b169061ff001916179055565b6005429101558151908152426020820152a2005b346101155760203660031901126101155760206001600160a01b0380610979611004565b16600052600182526040600020906040516109938161109e565b8183541681526109a560018401611117565b848201526109b560028401611117565b6040820152600560038401549360ff851660608401528360ff8660081c1615159586608086015260ff8160101c16151560a086015260181c1660c0840152600481015460e08401520154610100820152511615159081610a1b575b506040519015158152f35b905082610a10565b34610115576000366003190112610115576020600354604051908152f35b346101155760208060031936011261011557610a5b611004565b90610a64611329565b60018060a01b03809216908160005260018093818352610a8c816040600020541615156111bc565b8360005281835260026040600020018360405191600090805490610aaf826110dd565b91858882169182600014610c64575050600114610c30575b50506002815282900301902080546001600160a01b031916905590506000845b610b4f575b837fbe9bb4bdca0a094babd75e3a98b1d2e2390633430d0a2f6e2b9970e2ee03fb2e846000600589858352808452610b2c60408420918483558201611278565b610b3860028201611278565b8260038201558260048201550155604051428152a2005b6003805480831015610c29578584610b6685611214565b905490851b1c1614610b7c575050840184610ae7565b949590946000199392818501918211610c135761050584610b9f610bac94611214565b9054908a1b1c1691611214565b8454918215610bfd577fbe9bb4bdca0a094babd75e3a98b1d2e2390633430d0a2f6e2b9970e2ee03fb2e956000946005940191610be883611214565b9091825491841b1b1916905555949350610aec565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b5050610aec565b909150600052816000206000905b828210610c5057505082018289610ac7565b805485830152899688949092019101610c3e565b925093505060ff191682528015150281019089610ac7565b3461011557604036600319011261011557610c9561101a565b336001600160a01b03821603610cb1576101b590600435611447565b60405163334bd91960e11b8152600490fd5b34610115576040366003190112610115576101b5600435610ce261101a565b90806000526000602052610cfd6001604060002001546113a3565b6113c9565b3461011557600036600319011261011557604051806003548083526020809301809160036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b9060005b86828210610dad578686610d64828803836110bb565b604051928392818401908285525180915260408401929160005b828110610d8d57505050500390f35b83516001600160a01b031685528695509381019392810192600101610d7e565b83546001600160a01b031685529093019260019283019201610d4e565b346101155760203660031901126101155760206001600160a01b0380610dee611004565b1660005260018252604060002054161515604051908152f35b346101155760203660031901126101155760043560005260006020526020600160406000200154604051908152f35b346101155760208060031936011261011557610e50611004565b9060405191610e5e8361109e565b6000808452606083850181905260408086018290529085018290526080850182905260a0850182905260c0850182905260e085018290526101009485018290526001600160a01b0392831682526001845290819020905193610ebf8561109e565b815483168552610ed160018301611117565b85850190815290610ee460028401611117565b9260408701938452600381015494606088019560ff81168752608089018160081c60ff161515815260a08a01908260101c60ff16151582528360c08c019360181c16835260048501549460e08c019586526005015496868c019788528a856040519d8e9d8e525116908c01525197610120988960408d01526101408c01610f6a91611030565b90518b8203601f190160608d0152610f829190611030565b985160ff1660808b015251151560a08a015251151560c0890152511660e0870152519085015251908301520390f35b34610115576020366003190112610115576004359063ffffffff60e01b821680920361011557602091637965db0b60e01b8114908115610ff3575b5015158152f35b6301ffc9a760e01b14905083610fec565b600435906001600160a01b038216820361011557565b602435906001600160a01b038216820361011557565b919082519283825260005b84811061105c575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161103b565b9181601f840112156101155782359167ffffffffffffffff8311610115576020838186019501011161011557565b610120810190811067ffffffffffffffff82111761056457604052565b90601f8019910116810190811067ffffffffffffffff82111761056457604052565b90600182811c9216801561110d575b60208310146110f757565b634e487b7160e01b600052602260045260246000fd5b91607f16916110ec565b9060405191826000825461112a816110dd565b9081845260209460019160018116908160001461119a575060011461115b575b505050611159925003836110bb565b565b600090815285812095935091905b818310611182575050611159935082010138808061114a565b85548884018501529485019487945091830191611169565b9250505061115994925060ff191682840152151560051b82010138808061114a565b156111c357565b60405162461bcd60e51b815260206004820152602360248201527f546f6b656e52656769737472793a20746f6b656e206e6f7420726567697374656044820152621c995960ea1b6064820152608490fd5b60035481101561124b5760036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0190600090565b634e487b7160e01b600052603260045260246000fd5b81811061126c575050565b60008155600101611261565b61128281546110dd565b908161128c575050565b81601f6000931160011461129e575055565b9080839182526112bd601f60208420940160051c840160018501611261565b5555565b92919267ffffffffffffffff821161056457604051916112eb601f8201601f1916602001846110bb565b829481845281830111610115578281602093846000960137010152565b908060209392818452848401376000828201840152601f01601f1916010190565b3360009081527f01ddc098da42acdf4176da08ec75800bc0fb2bce2be978b2037bcb0ae696651960205260409020547fedcc084d3dcd65a1f7f23c65c46722faca6953d28e43150a467cf43e5c3092389060ff16156113855750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff60406000205416156113855750565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054161560001461144257808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146114425780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a460019056fea2646970667358221220cc843006dbb98f3c178b29e4069d5ed8f65860f88789cabdceea6c61733804d364736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|