Files
smom-dbis-138/artifacts/contracts/bridge/interop/MintBurnController.sol/MintBurnController.json
2026-03-02 12:14:09 -08:00

685 lines
37 KiB
JSON

{
"_format": "hh-sol-artifact-1",
"contractName": "MintBurnController",
"sourceName": "contracts/bridge/interop/MintBurnController.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"internalType": "address",
"name": "_wXRP",
"type": "address"
},
{
"internalType": "address",
"name": "_hsmSigner",
"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"
},
{
"inputs": [],
"name": "DeadlineExpired",
"type": "error"
},
{
"inputs": [],
"name": "ECDSAInvalidSignature",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "length",
"type": "uint256"
}
],
"name": "ECDSAInvalidSignatureLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "ECDSAInvalidSignatureS",
"type": "error"
},
{
"inputs": [],
"name": "EnforcedPause",
"type": "error"
},
{
"inputs": [],
"name": "ExpectedPause",
"type": "error"
},
{
"inputs": [],
"name": "InvalidNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidShortString",
"type": "error"
},
{
"inputs": [],
"name": "InvalidSignature",
"type": "error"
},
{
"inputs": [],
"name": "NonceAlreadyUsed",
"type": "error"
},
{
"inputs": [
{
"internalType": "string",
"name": "str",
"type": "string"
}
],
"name": "StringTooLong",
"type": "error"
},
{
"inputs": [],
"name": "ZeroAddress",
"type": "error"
},
{
"inputs": [],
"name": "ZeroAmount",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "xrplTxHash",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "address",
"name": "executor",
"type": "address"
}
],
"name": "BurnExecuted",
"type": "event"
},
{
"anonymous": false,
"inputs": [],
"name": "EIP712DomainChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "oldSigner",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newSigner",
"type": "address"
}
],
"name": "HSMSignerUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "xrplTxHash",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "address",
"name": "executor",
"type": "address"
}
],
"name": "MintExecuted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Paused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "previousAdminRole",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "newAdminRole",
"type": "bytes32"
}
],
"name": "RoleAdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleGranted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleRevoked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Unpaused",
"type": "event"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "OPERATOR_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "eip712Domain",
"outputs": [
{
"internalType": "bytes1",
"name": "fields",
"type": "bytes1"
},
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "version",
"type": "string"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
},
{
"internalType": "address",
"name": "verifyingContract",
"type": "address"
},
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256[]",
"name": "extensions",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "xrplTxHash",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "hsmSignature",
"type": "bytes"
}
],
"internalType": "struct MintBurnController.BurnRequest",
"name": "request",
"type": "tuple"
}
],
"name": "executeBurn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "xrplTxHash",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "hsmSignature",
"type": "bytes"
}
],
"internalType": "struct MintBurnController.MintRequest",
"name": "request",
"type": "tuple"
}
],
"name": "executeMint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"name": "getRoleAdmin",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "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": [],
"name": "hsmSigner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "paused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "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": "address",
"name": "newSigner",
"type": "address"
}
],
"name": "setHSMSigner",
"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": [],
"name": "unpause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "usedNonces",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "wXRP_TOKEN",
"outputs": [
{
"internalType": "contract wXRP",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x610180346200020f57601f620019fe38819003918201601f19168301926001600160401b0392909183851183861017620001f95781606092849260409788528339810103126200020f57620000548162000230565b926200007081620000686020850162000230565b930162000230565b908051916200007f8362000214565b6012835260208301947126b4b73a213ab93721b7b73a3937b63632b960711b8652825196620000ae8862000214565b6001885260208801603160f81b815260ff1960015416600155620000d28662000367565b97610120988952620000e48a62000544565b96610140978852519020988960e0525190209761010098808a524660a05285519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f84528783015260608201524660808201523060a082015260a0815260c081019381851090851117620001f9576200017a9386525190206080523060c052620001738162000245565b50620002c5565b5060018060a01b039081610160951685521660018060a01b0319600554161760055551926112e49485620006fa863960805185610e67015260a05185610f33015260c05185610e31015260e05185610eb601525184610edc015251836104ea015251826105140152518181816102530152818161066301526107ec0152f35b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620001f957604052565b51906001600160a01b03821682036200020f57565b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff16620002c157818052816020526040822081835260205260408220600160ff198254161790553391600080516020620019de8339815191528180a4600190565b5090565b6001600160a01b031660008181527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f60205260408120549091907f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9299060ff166200036257808352826020526040832082845260205260408320600160ff19825416179055600080516020620019de833981519152339380a4600190565b505090565b805160209081811015620004045750601f825111620003a357808251920151908083106200039457501790565b82600019910360031b1b161790565b90604051809263305a27a960e01b82528060048301528251908160248401526000935b828510620003ea575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350620003c6565b906001600160401b038211620001f957600254926001938481811c9116801562000539575b838210146200052357601f8111620004e9575b5081601f84116001146200047d575092829391839260009462000471575b50501b916000199060031b1c19161760025560ff90565b0151925038806200045a565b919083601f198116600260005284600020946000905b88838310620004ce5750505010620004b4575b505050811b0160025560ff90565b015160001960f88460031b161c19169055388080620004a6565b85870151885590960195948501948793509081019062000493565b600260005284601f84600020920160051c820191601f860160051c015b828110620005165750506200043c565b6000815501859062000506565b634e487b7160e01b600052602260045260246000fd5b90607f169062000429565b80516020919082811015620005d4575090601f8251116200057357808251920151908083106200039457501790565b90604051809263305a27a960e01b82528060048301528251908160248401526000935b828510620005ba575050604492506000838284010152601f80199101168101030190fd5b848101820151868601604401529381019385935062000596565b6001600160401b038111620001f9576003928354926001938481811c91168015620006ee575b838210146200052357601f8111620006b5575b5081601f84116001146200064c575092829391839260009462000640575b50501b9160001990841b1c191617905560ff90565b0151925038806200062b565b919083601f1981168760005284600020946000905b888383106200069a575050501062000681575b505050811b01905560ff90565b015160001983861b60f8161c1916905538808062000674565b85870151885590960195948501948793509081019062000661565b8560005284601f84600020920160051c820191601f860160051c015b828110620006e15750506200060d565b60008155018590620006d1565b90607f1690620005fa56fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610a3057508163248a9ca314610a065781632f2ff15d146109dc57816336568abe146109965781633f4ba83a1461092c578163461080bc146109035781634e225abf146106e25781635c975abb146106be5781636717e41c146106925781637b3a87591461064e5781638456cb59146105f457816384b0196e146104d257816391d148541461048d57816398c5b8cd146103f4578163a217fddf146103d9578163d547741f1461039a578163e31b9a1d14610128575063f5b541a6146100eb57600080fd5b34610124578160031936011261012457602090517f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9298152f35b5080fd5b919050346103965761013936610a99565b90610142610c75565b61014a610dea565b6001600160a01b03908161015d84610b0b565b1615610387576020830135928315610377576080810135948542116103695760608201358088528160205260ff848920541661035b5761022d6102246102076101a586610b0b565b878701359a8851908a60208301937f0b0b1fda6e501b6b9ff27ac4ac008981e65ed36316809ca78e996e5838613ef48552168a8301528b60608301528c60808301528660a083015260c082015260c081526101ff81610b65565b519020610e08565b61021e61021760a0880188610ba3565b3691610bd6565b90610f59565b90929192610f95565b85806005541691160361034c5787526020819052828720805460ff1916600117905586907f000000000000000000000000000000000000000000000000000000000000000085169061027e84610b0b565b90823b15610348578551630f22c5f760e11b81526001600160a01b0390921690820190815260208101889052604081018990529091839183919082908490829060600103925af1801561033e57610326575b50507ff4ea3a6e23e4c337b96a976d2efc4bccd728a39057ce8298120357956ed1d8af9361030061032092610b0b565b925190815260208101959095523360408601529116929081906060820190565b0390a280f35b61032f90610b1f565b61033a5785386102d0565b8580fd5b84513d84823e3d90fd5b8380fd5b508251638baa579f60e01b8152fd5b508251623f613760e71b8152fd5b8251631ab7da6b60e01b8152fd5b8151631f2a200560e01b81528590fd5b5163d92e233d60e01b81528390fd5b8280fd5b919050346103965780600319360112610396576103d591356103d060016103bf610a83565b938387528660205286200154610cd1565b610d75565b5080f35b50503461012457816003193601126101245751908152602090f35b838334610124576020366003190112610124576001600160a01b0383358181169081900361048857610424610c1d565b8015610478577fc14c8e924441c0b8f15a7eb65f6a3498b356989ea53b61a06924facf07a0d00793945060055491816bffffffffffffffffffffffff60a01b8416176005558351921682526020820152a180f35b825163d92e233d60e01b81528590fd5b600080fd5b905034610396578160031936011261039657816020936104ab610a83565b92358152808552209060018060a01b0316600052825260ff81600020541690519015158152f35b9190503461039657826003193601126103965761050e7f000000000000000000000000000000000000000000000000000000000000000061101a565b926105387f0000000000000000000000000000000000000000000000000000000000000000611146565b90825192602092602085019585871067ffffffffffffffff8811176105df5750926020610595838896610588998b9996528686528151998a99600f60f81b8b5260e0868c015260e08b0190610acb565b91898303908a0152610acb565b924660608801523060808801528460a088015286840360c088015251928381520193925b8281106105c857505050500390f35b8351855286955093810193928101926001016105b9565b604190634e487b7160e01b6000525260246000fd5b50503461012457816003193601126101245760207f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25891610632610c1d565b61063a610dea565b600160ff198154161760015551338152a180f35b505034610124578160031936011261012457517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b90503461039657602036600319011261039657816020938260ff93358252855220541690519015158152f35b50503461012457816003193601126101245760209060ff6001541690519015158152f35b83915034610124576106f336610a99565b926106fc610c75565b610704610dea565b6001600160a01b03908161071786610b0b565b16156108f457602085013580156108e4576080860135938442116103695760608701358087528160205260ff848820541661035b576107c86102246107b861075e8b610b0b565b878c0135998851908a60208301937fb18e2cdf3dfbadd86e5b1d4bf17e24d40bd24567b166edcf5f70fed4e67ed2538552168a8301528860608301528b60808301528660a083015260c082015260c081526101ff81610b65565b61021e61021760a08d018d610ba3565b85806005541691160361034c57865280602052828620600160ff19825416179055837f0000000000000000000000000000000000000000000000000000000000000000169061081688610b0b565b90823b156108e05784516395b809bd60e01b81526001600160a01b0390921690820190815260208101849052604081018790529091879183919082908490829060600103925af180156108d657610899575b50610320906103007f9698b6205194af099bbc74f91452f7225261abe392df7ba8e3ee652147c1d81d959697610b0b565b906103007f9698b6205194af099bbc74f91452f7225261abe392df7ba8e3ee652147c1d81d95966108cc61032094610b1f565b9695505090610868565b83513d88823e3d90fd5b8780fd5b8151631f2a200560e01b81528490fd5b5163d92e233d60e01b81529050fd5b50503461012457816003193601126101245760055490516001600160a01b039091168152602090f35b905034610396578260031936011261039657610946610c1d565b6001549060ff821615610988575060ff1916600155513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa90602090a180f35b8251638dfc202b60e01b8152fd5b8383346101245780600319360112610124576109b0610a83565b90336001600160a01b038316036109cd57506103d5919235610d75565b5163334bd91960e11b81528390fd5b919050346103965780600319360112610396576103d59135610a0160016103bf610a83565b610cf7565b90503461039657602036600319011261039657816020936001923581528085522001549051908152f35b849134610396576020366003190112610396573563ffffffff60e01b81168091036103965760209250637965db0b60e01b8114908115610a72575b5015158152f35b6301ffc9a760e01b14905083610a6b565b602435906001600160a01b038216820361048857565b60031990602081830112610488576004359167ffffffffffffffff8311610488578260c0920301126104885760040190565b919082519283825260005b848110610af7575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610ad6565b356001600160a01b03811681036104885790565b67ffffffffffffffff8111610b3357604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610b3357604052565b60e0810190811067ffffffffffffffff821117610b3357604052565b90601f8019910116810190811067ffffffffffffffff821117610b3357604052565b903590601e1981360301821215610488570180359067ffffffffffffffff82116104885760200191813603831361048857565b92919267ffffffffffffffff8211610b335760405191610c00601f8201601f191660200184610b81565b829481845281830111610488578281602093846000960137010152565b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff1615610c575750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3360009081527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f60205260409020547f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9299060ff1615610c575750565b80600052600060205260406000203360005260205260ff6040600020541615610c575750565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014610d7057808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014610d705780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b60ff60015416610df657565b60405163d93c066560e01b8152600490fd5b604290610e13610e2e565b906040519161190160f01b8352600283015260228201522090565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480610f30575b15610e89577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610b335760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610e60565b8151919060418303610f8a57610f8392506020820151906060604084015193015160001a9061121e565b9192909190565b505060009160029190565b60048110156110045780610fa7575050565b60018103610fc15760405163f645eedf60e01b8152600490fd5b60028103610fe25760405163fce698f760e01b815260048101839052602490fd5b600314610fec5750565b602490604051906335e2f38360e21b82526004820152fd5b634e487b7160e01b600052602160045260246000fd5b60ff81146110585760ff811690601f8211611046576040519161103c83610b49565b8252602082015290565b604051632cd44ac360e21b8152600490fd5b5060405160006002549060018260011c906001841693841561113c575b6020948584108114611128578387528694939291811561110857506001146110a9575b50506110a692500382610b81565b90565b9093915060026000527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace936000915b8183106110f05750506110a693508201013880611098565b855487840185015294850194869450918301916110d8565b9150506110a694925060ff191682840152151560051b8201013880611098565b634e487b7160e01b85526022600452602485fd5b91607f1691611075565b60ff81146111685760ff811690601f8211611046576040519161103c83610b49565b5060405160006003549060018260011c9060018416938415611214575b6020948584108114611128578387528694939291811561110857506001146111b55750506110a692500382610b81565b9093915060036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b936000915b8183106111fc5750506110a693508201013880611098565b855487840185015294850194869450918301916111e4565b91607f1691611185565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116112a257926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa156112965780516001600160a01b0381161561128d57918190565b50809160019190565b604051903d90823e3d90fd5b5050506000916003919056fea26469706673582212204f327956251db4a97a2d12ad0759791a6777d870b38b11a400c142d834708b8f64736f6c634300081600332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
"deployedBytecode": "0x608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610a3057508163248a9ca314610a065781632f2ff15d146109dc57816336568abe146109965781633f4ba83a1461092c578163461080bc146109035781634e225abf146106e25781635c975abb146106be5781636717e41c146106925781637b3a87591461064e5781638456cb59146105f457816384b0196e146104d257816391d148541461048d57816398c5b8cd146103f4578163a217fddf146103d9578163d547741f1461039a578163e31b9a1d14610128575063f5b541a6146100eb57600080fd5b34610124578160031936011261012457602090517f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9298152f35b5080fd5b919050346103965761013936610a99565b90610142610c75565b61014a610dea565b6001600160a01b03908161015d84610b0b565b1615610387576020830135928315610377576080810135948542116103695760608201358088528160205260ff848920541661035b5761022d6102246102076101a586610b0b565b878701359a8851908a60208301937f0b0b1fda6e501b6b9ff27ac4ac008981e65ed36316809ca78e996e5838613ef48552168a8301528b60608301528c60808301528660a083015260c082015260c081526101ff81610b65565b519020610e08565b61021e61021760a0880188610ba3565b3691610bd6565b90610f59565b90929192610f95565b85806005541691160361034c5787526020819052828720805460ff1916600117905586907f000000000000000000000000000000000000000000000000000000000000000085169061027e84610b0b565b90823b15610348578551630f22c5f760e11b81526001600160a01b0390921690820190815260208101889052604081018990529091839183919082908490829060600103925af1801561033e57610326575b50507ff4ea3a6e23e4c337b96a976d2efc4bccd728a39057ce8298120357956ed1d8af9361030061032092610b0b565b925190815260208101959095523360408601529116929081906060820190565b0390a280f35b61032f90610b1f565b61033a5785386102d0565b8580fd5b84513d84823e3d90fd5b8380fd5b508251638baa579f60e01b8152fd5b508251623f613760e71b8152fd5b8251631ab7da6b60e01b8152fd5b8151631f2a200560e01b81528590fd5b5163d92e233d60e01b81528390fd5b8280fd5b919050346103965780600319360112610396576103d591356103d060016103bf610a83565b938387528660205286200154610cd1565b610d75565b5080f35b50503461012457816003193601126101245751908152602090f35b838334610124576020366003190112610124576001600160a01b0383358181169081900361048857610424610c1d565b8015610478577fc14c8e924441c0b8f15a7eb65f6a3498b356989ea53b61a06924facf07a0d00793945060055491816bffffffffffffffffffffffff60a01b8416176005558351921682526020820152a180f35b825163d92e233d60e01b81528590fd5b600080fd5b905034610396578160031936011261039657816020936104ab610a83565b92358152808552209060018060a01b0316600052825260ff81600020541690519015158152f35b9190503461039657826003193601126103965761050e7f000000000000000000000000000000000000000000000000000000000000000061101a565b926105387f0000000000000000000000000000000000000000000000000000000000000000611146565b90825192602092602085019585871067ffffffffffffffff8811176105df5750926020610595838896610588998b9996528686528151998a99600f60f81b8b5260e0868c015260e08b0190610acb565b91898303908a0152610acb565b924660608801523060808801528460a088015286840360c088015251928381520193925b8281106105c857505050500390f35b8351855286955093810193928101926001016105b9565b604190634e487b7160e01b6000525260246000fd5b50503461012457816003193601126101245760207f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25891610632610c1d565b61063a610dea565b600160ff198154161760015551338152a180f35b505034610124578160031936011261012457517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b90503461039657602036600319011261039657816020938260ff93358252855220541690519015158152f35b50503461012457816003193601126101245760209060ff6001541690519015158152f35b83915034610124576106f336610a99565b926106fc610c75565b610704610dea565b6001600160a01b03908161071786610b0b565b16156108f457602085013580156108e4576080860135938442116103695760608701358087528160205260ff848820541661035b576107c86102246107b861075e8b610b0b565b878c0135998851908a60208301937fb18e2cdf3dfbadd86e5b1d4bf17e24d40bd24567b166edcf5f70fed4e67ed2538552168a8301528860608301528b60808301528660a083015260c082015260c081526101ff81610b65565b61021e61021760a08d018d610ba3565b85806005541691160361034c57865280602052828620600160ff19825416179055837f0000000000000000000000000000000000000000000000000000000000000000169061081688610b0b565b90823b156108e05784516395b809bd60e01b81526001600160a01b0390921690820190815260208101849052604081018790529091879183919082908490829060600103925af180156108d657610899575b50610320906103007f9698b6205194af099bbc74f91452f7225261abe392df7ba8e3ee652147c1d81d959697610b0b565b906103007f9698b6205194af099bbc74f91452f7225261abe392df7ba8e3ee652147c1d81d95966108cc61032094610b1f565b9695505090610868565b83513d88823e3d90fd5b8780fd5b8151631f2a200560e01b81528490fd5b5163d92e233d60e01b81529050fd5b50503461012457816003193601126101245760055490516001600160a01b039091168152602090f35b905034610396578260031936011261039657610946610c1d565b6001549060ff821615610988575060ff1916600155513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa90602090a180f35b8251638dfc202b60e01b8152fd5b8383346101245780600319360112610124576109b0610a83565b90336001600160a01b038316036109cd57506103d5919235610d75565b5163334bd91960e11b81528390fd5b919050346103965780600319360112610396576103d59135610a0160016103bf610a83565b610cf7565b90503461039657602036600319011261039657816020936001923581528085522001549051908152f35b849134610396576020366003190112610396573563ffffffff60e01b81168091036103965760209250637965db0b60e01b8114908115610a72575b5015158152f35b6301ffc9a760e01b14905083610a6b565b602435906001600160a01b038216820361048857565b60031990602081830112610488576004359167ffffffffffffffff8311610488578260c0920301126104885760040190565b919082519283825260005b848110610af7575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610ad6565b356001600160a01b03811681036104885790565b67ffffffffffffffff8111610b3357604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610b3357604052565b60e0810190811067ffffffffffffffff821117610b3357604052565b90601f8019910116810190811067ffffffffffffffff821117610b3357604052565b903590601e1981360301821215610488570180359067ffffffffffffffff82116104885760200191813603831361048857565b92919267ffffffffffffffff8211610b335760405191610c00601f8201601f191660200184610b81565b829481845281830111610488578281602093846000960137010152565b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff1615610c575750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3360009081527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f60205260409020547f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9299060ff1615610c575750565b80600052600060205260406000203360005260205260ff6040600020541615610c575750565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014610d7057808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014610d705780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b60ff60015416610df657565b60405163d93c066560e01b8152600490fd5b604290610e13610e2e565b906040519161190160f01b8352600283015260228201522090565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480610f30575b15610e89577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610b335760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610e60565b8151919060418303610f8a57610f8392506020820151906060604084015193015160001a9061121e565b9192909190565b505060009160029190565b60048110156110045780610fa7575050565b60018103610fc15760405163f645eedf60e01b8152600490fd5b60028103610fe25760405163fce698f760e01b815260048101839052602490fd5b600314610fec5750565b602490604051906335e2f38360e21b82526004820152fd5b634e487b7160e01b600052602160045260246000fd5b60ff81146110585760ff811690601f8211611046576040519161103c83610b49565b8252602082015290565b604051632cd44ac360e21b8152600490fd5b5060405160006002549060018260011c906001841693841561113c575b6020948584108114611128578387528694939291811561110857506001146110a9575b50506110a692500382610b81565b90565b9093915060026000527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace936000915b8183106110f05750506110a693508201013880611098565b855487840185015294850194869450918301916110d8565b9150506110a694925060ff191682840152151560051b8201013880611098565b634e487b7160e01b85526022600452602485fd5b91607f1691611075565b60ff81146111685760ff811690601f8211611046576040519161103c83610b49565b5060405160006003549060018260011c9060018416938415611214575b6020948584108114611128578387528694939291811561110857506001146111b55750506110a692500382610b81565b9093915060036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b936000915b8183106111fc5750506110a693508201013880611098565b855487840185015294850194869450918301916111e4565b91607f1691611185565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116112a257926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa156112965780516001600160a01b0381161561128d57918190565b50809160019190565b604051903d90823e3d90fd5b5050506000916003919056fea26469706673582212204f327956251db4a97a2d12ad0759791a6777d870b38b11a400c142d834708b8f64736f6c63430008160033",
"linkReferences": {},
"deployedLinkReferences": {}
}