510 lines
32 KiB
JSON
510 lines
32 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "TokenRegistry",
|
|
"sourceName": "contracts/iso4217w/registry/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": "string",
|
|
"name": "currencyCode",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "timestamp",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "TokenDeactivated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "string",
|
|
"name": "currencyCode",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "tokenAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "tokenSymbol",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "custodian",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "TokenRegistered",
|
|
"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": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "currencyCode",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "deactivateToken",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getRegisteredCurrencies",
|
|
"outputs": [
|
|
{
|
|
"internalType": "string[]",
|
|
"name": "currencies",
|
|
"type": "string[]"
|
|
}
|
|
],
|
|
"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": "currencyCode",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "getTokenAddress",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenAddress",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "currencyCode",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "getTokenInfo",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "currencyCode",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "tokenSymbol",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "uint8",
|
|
"name": "decimals",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "custodian",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "mintController",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "burnController",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "isActive",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "createdAt",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"internalType": "struct ITokenRegistry.TokenInfo",
|
|
"name": "info",
|
|
"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": "string",
|
|
"name": "currencyCode",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "isRegistered",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "isRegistered",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "currencyCode",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "tokenSymbol",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "uint8",
|
|
"name": "decimals",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "custodian",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "registerToken",
|
|
"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": "string",
|
|
"name": "currencyCode",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "burnController",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "setBurnController",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "currencyCode",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "mintController",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "setMintController",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "interfaceId",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"name": "supportsInterface",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x6080346200007c57601f6200163b38819003918201601f19168301916001600160401b0383118484101762000081578084926020946040528339810103126200007c57516001600160a01b03811681036200007c5780620000646200006b9262000097565b5062000117565b506040516114619081620001ba8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff166200011357818052816020526040822081835260205260408220600160ff1982541617905533916000805160206200161b8339815191528180a4600190565b5090565b6001600160a01b031660008181527f01ddc098da42acdf4176da08ec75800bc0fb2bce2be978b2037bcb0ae696651960205260408120549091907fedcc084d3dcd65a1f7f23c65c46722faca6953d28e43150a467cf43e5c3092389060ff16620001b457808352826020526040832082845260205260408320600160ff198254161790556000805160206200161b833981519152339380a4600190565b50509056fe60a0806040526004908136101561001557600080fd5b600091823560e01c91826301ffc9a714610dd0575081630eac8a03146108065781631efa730f146107f0578163248a9ca3146107c45781632f2ff15d1461078757816336568abe146107415781638e0ad1cc146105775781639015b3601461044157816391d14854146103f8578163a217fddf146103dc578163bf72bfe7146102d4578163c409123614610251578163c822d7f0146101f0578163d155bcaa14610156578163d547741f14610111575063f68e9553146100d457600080fd5b3461010e578060031936011261010e5760206040517fedcc084d3dcd65a1f7f23c65c46722faca6953d28e43150a467cf43e5c3092388152f35b80fd5b9050346101525760403660031901126101525761014e9035610131610ed4565b90808452836020526101496001604086200154611298565b6113b6565b5080f35b5080fd5b823461010e57602060056101cb61016c36610eea565b61017794919461121e565b604051906101a560ff8751938581818b019661019481838a610f2c565b8101600381520301902054166110e1565b6001600160a01b0316946101ba86151561112d565b604051938492839251928391610f2c565b8101600181520301902001906bffffffffffffffffffffffff60a01b82541617905580f35b823461010e57602036600319011261010e5781359067ffffffffffffffff821161010e57602060ff61023b8261022836878901610e78565b8160405193828580945193849201610f2c565b8101600381520301902054166040519015158152f35b823461010e57602036600319011261010e5781359067ffffffffffffffff821161010e57602061028336848601610e78565b604051906102a060ff82519385818186019661019481838a610f2c565b6102b260405192839251928391610f2c565b600190820190815281900382019020546040516001600160a01b039091168152f35b9050346101525781600319360112610152576002549067ffffffffffffffff82116103c957509060209160405191610311848360051b0184610e56565b8183526002815283830191817f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace845b8383106103a55750505050604051928484019085855251809152604084019460408260051b8601019392955b8287106103795785850386f35b909192938280610395600193603f198a82030186528851610f4f565b960192019601959291909261036c565b60018881926103b7859b9a989b611179565b81520192019201919096939596610340565b634e487b7160e01b835260419052602482fd5b823461010e578060031936011261010e57602090604051908152f35b90503461015257604036600319011261015257604060209260ff9261041b610ed4565b903582528185528282206001600160a01b03909116825284522054604051911615158152f35b905034610152576020908160031936011261057357803567ffffffffffffffff811161056f576104749036908301610e78565b9061047d61121e565b6040519061049a60ff84519386818188019661019481838a610f2c565b60ff6005604051868187516104b081838a610f2c565b81016001815203019020015460a01c161561052b57507f09fa72018b771e0bec7655ad908a20799b1f03bb0b49089579f248bc8b2cca509160056105038561052094604051809381928751928391610f2c565b60019082019081520301902001805460ff60a01b191690556110c1565b91604051428152a280f35b60405162461bcd60e51b8152908101849052601f60248201527f546f6b656e52656769737472793a20616c726561647920696e616374697665006044820152606490fd5b8380fd5b8280fd5b905034610152576020918260031936011261010e57813567ffffffffffffffff81116101525761060c916105af859236908601610e78565b906101006040516105bf81610e23565b828152606085820152606060408201528260608201528260808201528260a08201528260c08201528260e08201520152604051906101ba60ff82519385818186019661019481838a610f2c565b8101600181520301902090604080519261062584610e23565b80546001600160a01b0316845261063e60018201611179565b908585019182528461065260028301611179565b848201908152600383015460ff61070560608501988284168a52608086019360018060a01b039060081c16845260018060a01b0390870154169360a086019485526106f260066005890154988560e060c08b019a60018060a01b038d168c52019a60a01c1615158a520154986101008d01998a528a518e819f9e829f835260018060a01b03905116910152518c6101209b8c9101526101408d0190610f4f565b90518b8203601f190160608d0152610f4f565b9751166080890152516001600160a01b0390811660a08901529051811660c088015290511660e086015251151561010085015251908301520390f35b823461010e57604036600319011261010e5761075b610ed4565b336001600160a01b038216036107765761014e9192356113b6565b60405163334bd91960e11b81528390fd5b9050346101525760403660031901126101525761014e90356107a7610ed4565b90808452836020526107bf6001604086200154611298565b611338565b905034610152576020366003190112610152576040602092600192358152808452200154604051908152f35b905034610152576020906101cb61016c36610eea565b9050346101525760a03660031901126101525767ffffffffffffffff813581811161056f576108389036908401610e78565b90610841610ed4565b916044918235908111610dcc5761085b9036908601610e78565b91606480359560ff8716809703610dc8576001600160a01b0360848035828116999198908a9003610dc457829061089061121e565b16978815610d7b578915610d38576040519460ff88519660206080526080518a01976108bd81838b610f2c565b8101600381528160805191030190205416610ceb576108db886112be565b15610c9957875186207f3bce5d33306651a6f825323e347f7dde6e7d478f739d7801dd1a156d1082ef578114908115610c6f575b8115610c45575b8115610c1b575b50610bc95760405196608051880197808a5161093a818c8c610f2c565b8101605760f81b608051820152039861095d602160019b8c810185520183610e56565b8b516080518d01209151902003610b7457505050858a858b85898d600697610a208f6040519361098c85610e23565b8452610a166080518501948b865260408101928352606081019485526080810198895260a08101968b885260c082019b8c5260e082019a818c5261010083019d8e4290526109e260405192839251928391610f2c565b81018281528160805191030190209e8f925116966bffffffffffffffffffffffff60a01b9788845416178355519101610fae565b5160028c01610fae565b60ff60038b01915116815495610100600160a81b03905160081b16906affffffffffffffffffffff60a81b80971617179055828a8a0192511690825416179055600587019351169083549260ff60a01b9051151560a01b16921617179055519101556002549068010000000000000000821015610b615783820180600255821015610b4e575092610b4892610b13610b3193610b03847f2054d194fad2d9d0e57800f7044b8d85b16001326db2b7558f200ec17b59e2479860028e527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01610fae565b6040519182918551928391610f2c565b8101600381528160805191030190209060ff198254161790556110c1565b926040519182916080518352608051830190610f4f565b0390a480f35b634e487b7160e01b895260329052602488fd5b634e487b7160e01b895260419052602488fd5b85917f546f6b656e52656769737472793a20746f6b656e2073796d626f6c206d75737469206265203c4343433e5760b01b926040519462461bcd60e51b865260805190860152602a6024860152840152820152fd5b60405162461bcd60e51b815260805181870152602660248201527f546f6b656e52656769737472793a204752552069736f6c6174696f6e2076696f81890152653630ba34b7b760d11b91810191909152fd5b7fb12041addd3285c2b6d2a98e6dc83b6f7dc08f5942fa2296e6ce355782d133de9150143861091d565b7f9dd967dd89b196c3d39f30180cbfe6d91b2a16dc0c0a05c39a100e33eea78be781149150610916565b7fd634abdbffb01f6071633c28617c54d198c23dc58ff500f0d76b6ec64ea3e64c8114915061090f565b60405162461bcd60e51b815260805181870152602660248201527f546f6b656e52656769737472793a20696e76616c69642049534f2d34323137208189015265199bdc9b585d60d21b91810191909152fd5b60405162461bcd60e51b815260805181870152602160248201527f546f6b656e52656769737472793a20616c72656164792072656769737465726581890152601960fa1b91810191909152fd5b5050507f546f6b656e52656769737472793a207a65726f20637573746f6469616e0000008360206040519362461bcd60e51b8552840152601d6024840152820152fd5b60405162461bcd60e51b8152602081860152602160248201527f546f6b656e52656769737472793a207a65726f20746f6b656e2061646472657381880152607360f81b81870152fd5b8a80fd5b8780fd5b8580fd5b915034610573576020366003190112610573573563ffffffff60e01b81168091036105735760209250637965db0b60e01b8114908115610e12575b5015158152f35b6301ffc9a760e01b14905038610e0b565b610120810190811067ffffffffffffffff821117610e4057604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610e4057604052565b81601f82011215610ecf5780359067ffffffffffffffff8211610e405760405192610ead601f8401601f191660200185610e56565b82845260208383010111610ecf57816000926020809301838601378301015290565b600080fd5b602435906001600160a01b0382168203610ecf57565b6040600319820112610ecf576004359067ffffffffffffffff8211610ecf57610f1591600401610e78565b906024356001600160a01b0381168103610ecf5790565b60005b838110610f3f5750506000910152565b8181015183820152602001610f2f565b90602091610f6881518092818552858086019101610f2c565b601f01601f1916010190565b90600182811c92168015610fa4575b6020831014610f8e57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610f83565b919091825167ffffffffffffffff8111610e4057610fcc8254610f74565b601f8111611077575b50602080601f8311600114611012575081929394600092611007575b50508160011b916000199060031b1c1916179055565b015190503880610ff1565b90601f19831695846000526020600020926000905b88821061105f57505083600195969710611046575b505050811b019055565b015160001960f88460031b161c1916905538808061103c565b80600185968294968601518155019501930190611027565b6000836000526020600020601f840160051c810192602085106110b7575b601f0160051c01915b8281106110ac575050610fd5565b81815560010161109e565b9092508290611095565b6110d990602060405192828480945193849201610f2c565b810103902090565b156110e857565b60405162461bcd60e51b815260206004820152601d60248201527f546f6b656e52656769737472793a206e6f7420726567697374657265640000006044820152606490fd5b1561113457565b60405162461bcd60e51b815260206004820152601b60248201527f546f6b656e52656769737472793a207a65726f206164647265737300000000006044820152606490fd5b9060405191826000825461118c81610f74565b908184526020946001916001811690816000146111fc57506001146111bd575b5050506111bb92500383610e56565b565b600090815285812095935091905b8183106111e45750506111bb93508201013880806111ac565b855488840185015294850194879450918301916111cb565b925050506111bb94925060ff191682840152151560051b8201013880806111ac565b3360009081527f01ddc098da42acdf4176da08ec75800bc0fb2bce2be978b2037bcb0ae696651960205260409020547fedcc084d3dcd65a1f7f23c65c46722faca6953d28e43150a467cf43e5c3092389060ff161561127a5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff604060002054161561127a5750565b60039060038151036113315760005b8281106112dc57505050600190565b815181101561131b576020818301015160f81c60418110908115611310575b50611308576001016112cd565b505050600090565b605a915011386112fb565b634e487b7160e01b600052603260045260246000fd5b5050600090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416156000146113b157808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146113b15780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a460019056fea26469706673582212202c22d3cf73bd2ea074cfc52168768a579d4ec4dccfe5b5a74afb38af555121fb64736f6c634300081600332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
|
|
"deployedBytecode": "0x60a0806040526004908136101561001557600080fd5b600091823560e01c91826301ffc9a714610dd0575081630eac8a03146108065781631efa730f146107f0578163248a9ca3146107c45781632f2ff15d1461078757816336568abe146107415781638e0ad1cc146105775781639015b3601461044157816391d14854146103f8578163a217fddf146103dc578163bf72bfe7146102d4578163c409123614610251578163c822d7f0146101f0578163d155bcaa14610156578163d547741f14610111575063f68e9553146100d457600080fd5b3461010e578060031936011261010e5760206040517fedcc084d3dcd65a1f7f23c65c46722faca6953d28e43150a467cf43e5c3092388152f35b80fd5b9050346101525760403660031901126101525761014e9035610131610ed4565b90808452836020526101496001604086200154611298565b6113b6565b5080f35b5080fd5b823461010e57602060056101cb61016c36610eea565b61017794919461121e565b604051906101a560ff8751938581818b019661019481838a610f2c565b8101600381520301902054166110e1565b6001600160a01b0316946101ba86151561112d565b604051938492839251928391610f2c565b8101600181520301902001906bffffffffffffffffffffffff60a01b82541617905580f35b823461010e57602036600319011261010e5781359067ffffffffffffffff821161010e57602060ff61023b8261022836878901610e78565b8160405193828580945193849201610f2c565b8101600381520301902054166040519015158152f35b823461010e57602036600319011261010e5781359067ffffffffffffffff821161010e57602061028336848601610e78565b604051906102a060ff82519385818186019661019481838a610f2c565b6102b260405192839251928391610f2c565b600190820190815281900382019020546040516001600160a01b039091168152f35b9050346101525781600319360112610152576002549067ffffffffffffffff82116103c957509060209160405191610311848360051b0184610e56565b8183526002815283830191817f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace845b8383106103a55750505050604051928484019085855251809152604084019460408260051b8601019392955b8287106103795785850386f35b909192938280610395600193603f198a82030186528851610f4f565b960192019601959291909261036c565b60018881926103b7859b9a989b611179565b81520192019201919096939596610340565b634e487b7160e01b835260419052602482fd5b823461010e578060031936011261010e57602090604051908152f35b90503461015257604036600319011261015257604060209260ff9261041b610ed4565b903582528185528282206001600160a01b03909116825284522054604051911615158152f35b905034610152576020908160031936011261057357803567ffffffffffffffff811161056f576104749036908301610e78565b9061047d61121e565b6040519061049a60ff84519386818188019661019481838a610f2c565b60ff6005604051868187516104b081838a610f2c565b81016001815203019020015460a01c161561052b57507f09fa72018b771e0bec7655ad908a20799b1f03bb0b49089579f248bc8b2cca509160056105038561052094604051809381928751928391610f2c565b60019082019081520301902001805460ff60a01b191690556110c1565b91604051428152a280f35b60405162461bcd60e51b8152908101849052601f60248201527f546f6b656e52656769737472793a20616c726561647920696e616374697665006044820152606490fd5b8380fd5b8280fd5b905034610152576020918260031936011261010e57813567ffffffffffffffff81116101525761060c916105af859236908601610e78565b906101006040516105bf81610e23565b828152606085820152606060408201528260608201528260808201528260a08201528260c08201528260e08201520152604051906101ba60ff82519385818186019661019481838a610f2c565b8101600181520301902090604080519261062584610e23565b80546001600160a01b0316845261063e60018201611179565b908585019182528461065260028301611179565b848201908152600383015460ff61070560608501988284168a52608086019360018060a01b039060081c16845260018060a01b0390870154169360a086019485526106f260066005890154988560e060c08b019a60018060a01b038d168c52019a60a01c1615158a520154986101008d01998a528a518e819f9e829f835260018060a01b03905116910152518c6101209b8c9101526101408d0190610f4f565b90518b8203601f190160608d0152610f4f565b9751166080890152516001600160a01b0390811660a08901529051811660c088015290511660e086015251151561010085015251908301520390f35b823461010e57604036600319011261010e5761075b610ed4565b336001600160a01b038216036107765761014e9192356113b6565b60405163334bd91960e11b81528390fd5b9050346101525760403660031901126101525761014e90356107a7610ed4565b90808452836020526107bf6001604086200154611298565b611338565b905034610152576020366003190112610152576040602092600192358152808452200154604051908152f35b905034610152576020906101cb61016c36610eea565b9050346101525760a03660031901126101525767ffffffffffffffff813581811161056f576108389036908401610e78565b90610841610ed4565b916044918235908111610dcc5761085b9036908601610e78565b91606480359560ff8716809703610dc8576001600160a01b0360848035828116999198908a9003610dc457829061089061121e565b16978815610d7b578915610d38576040519460ff88519660206080526080518a01976108bd81838b610f2c565b8101600381528160805191030190205416610ceb576108db886112be565b15610c9957875186207f3bce5d33306651a6f825323e347f7dde6e7d478f739d7801dd1a156d1082ef578114908115610c6f575b8115610c45575b8115610c1b575b50610bc95760405196608051880197808a5161093a818c8c610f2c565b8101605760f81b608051820152039861095d602160019b8c810185520183610e56565b8b516080518d01209151902003610b7457505050858a858b85898d600697610a208f6040519361098c85610e23565b8452610a166080518501948b865260408101928352606081019485526080810198895260a08101968b885260c082019b8c5260e082019a818c5261010083019d8e4290526109e260405192839251928391610f2c565b81018281528160805191030190209e8f925116966bffffffffffffffffffffffff60a01b9788845416178355519101610fae565b5160028c01610fae565b60ff60038b01915116815495610100600160a81b03905160081b16906affffffffffffffffffffff60a81b80971617179055828a8a0192511690825416179055600587019351169083549260ff60a01b9051151560a01b16921617179055519101556002549068010000000000000000821015610b615783820180600255821015610b4e575092610b4892610b13610b3193610b03847f2054d194fad2d9d0e57800f7044b8d85b16001326db2b7558f200ec17b59e2479860028e527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01610fae565b6040519182918551928391610f2c565b8101600381528160805191030190209060ff198254161790556110c1565b926040519182916080518352608051830190610f4f565b0390a480f35b634e487b7160e01b895260329052602488fd5b634e487b7160e01b895260419052602488fd5b85917f546f6b656e52656769737472793a20746f6b656e2073796d626f6c206d75737469206265203c4343433e5760b01b926040519462461bcd60e51b865260805190860152602a6024860152840152820152fd5b60405162461bcd60e51b815260805181870152602660248201527f546f6b656e52656769737472793a204752552069736f6c6174696f6e2076696f81890152653630ba34b7b760d11b91810191909152fd5b7fb12041addd3285c2b6d2a98e6dc83b6f7dc08f5942fa2296e6ce355782d133de9150143861091d565b7f9dd967dd89b196c3d39f30180cbfe6d91b2a16dc0c0a05c39a100e33eea78be781149150610916565b7fd634abdbffb01f6071633c28617c54d198c23dc58ff500f0d76b6ec64ea3e64c8114915061090f565b60405162461bcd60e51b815260805181870152602660248201527f546f6b656e52656769737472793a20696e76616c69642049534f2d34323137208189015265199bdc9b585d60d21b91810191909152fd5b60405162461bcd60e51b815260805181870152602160248201527f546f6b656e52656769737472793a20616c72656164792072656769737465726581890152601960fa1b91810191909152fd5b5050507f546f6b656e52656769737472793a207a65726f20637573746f6469616e0000008360206040519362461bcd60e51b8552840152601d6024840152820152fd5b60405162461bcd60e51b8152602081860152602160248201527f546f6b656e52656769737472793a207a65726f20746f6b656e2061646472657381880152607360f81b81870152fd5b8a80fd5b8780fd5b8580fd5b915034610573576020366003190112610573573563ffffffff60e01b81168091036105735760209250637965db0b60e01b8114908115610e12575b5015158152f35b6301ffc9a760e01b14905038610e0b565b610120810190811067ffffffffffffffff821117610e4057604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610e4057604052565b81601f82011215610ecf5780359067ffffffffffffffff8211610e405760405192610ead601f8401601f191660200185610e56565b82845260208383010111610ecf57816000926020809301838601378301015290565b600080fd5b602435906001600160a01b0382168203610ecf57565b6040600319820112610ecf576004359067ffffffffffffffff8211610ecf57610f1591600401610e78565b906024356001600160a01b0381168103610ecf5790565b60005b838110610f3f5750506000910152565b8181015183820152602001610f2f565b90602091610f6881518092818552858086019101610f2c565b601f01601f1916010190565b90600182811c92168015610fa4575b6020831014610f8e57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610f83565b919091825167ffffffffffffffff8111610e4057610fcc8254610f74565b601f8111611077575b50602080601f8311600114611012575081929394600092611007575b50508160011b916000199060031b1c1916179055565b015190503880610ff1565b90601f19831695846000526020600020926000905b88821061105f57505083600195969710611046575b505050811b019055565b015160001960f88460031b161c1916905538808061103c565b80600185968294968601518155019501930190611027565b6000836000526020600020601f840160051c810192602085106110b7575b601f0160051c01915b8281106110ac575050610fd5565b81815560010161109e565b9092508290611095565b6110d990602060405192828480945193849201610f2c565b810103902090565b156110e857565b60405162461bcd60e51b815260206004820152601d60248201527f546f6b656e52656769737472793a206e6f7420726567697374657265640000006044820152606490fd5b1561113457565b60405162461bcd60e51b815260206004820152601b60248201527f546f6b656e52656769737472793a207a65726f206164647265737300000000006044820152606490fd5b9060405191826000825461118c81610f74565b908184526020946001916001811690816000146111fc57506001146111bd575b5050506111bb92500383610e56565b565b600090815285812095935091905b8183106111e45750506111bb93508201013880806111ac565b855488840185015294850194879450918301916111cb565b925050506111bb94925060ff191682840152151560051b8201013880806111ac565b3360009081527f01ddc098da42acdf4176da08ec75800bc0fb2bce2be978b2037bcb0ae696651960205260409020547fedcc084d3dcd65a1f7f23c65c46722faca6953d28e43150a467cf43e5c3092389060ff161561127a5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff604060002054161561127a5750565b60039060038151036113315760005b8281106112dc57505050600190565b815181101561131b576020818301015160f81c60418110908115611310575b50611308576001016112cd565b505050600090565b605a915011386112fb565b634e487b7160e01b600052603260045260246000fd5b5050600090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416156000146113b157808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146113b15780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a460019056fea26469706673582212202c22d3cf73bd2ea074cfc52168768a579d4ec4dccfe5b5a74afb38af555121fb64736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|