530 lines
37 KiB
JSON
530 lines
37 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "ChallengeManager",
|
|
"sourceName": "contracts/bridge/trustless/ChallengeManager.sol",
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "_bondManager",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "_challengeWindow",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ChallengeAlreadyResolved",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ChallengeNotFound",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ChallengeWindowExpired",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ChallengeWindowNotExpired",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ClaimAlreadyChallenged",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ClaimAlreadyFinalized",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ClaimNotFound",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "InvalidFraudProof",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ReentrancyGuardReentrantCall",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ZeroDepositId",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "depositId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "challenger",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "ChallengeRejected",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "depositId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "challenger",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "enum ChallengeManager.FraudProofType",
|
|
"name": "proofType",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"name": "ClaimChallenged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "depositId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "ClaimFinalized",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "depositId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "asset",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "challengeWindowEnd",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "ClaimSubmitted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "depositId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "challenger",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "enum ChallengeManager.FraudProofType",
|
|
"name": "proofType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "slashedAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "FraudProven",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "bondManager",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract BondManager",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "depositId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "canFinalize",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "canFinalize_",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "reason",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "depositId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "enum ChallengeManager.FraudProofType",
|
|
"name": "proofType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "proof",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "challengeClaim",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "challengeWindow",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "challenges",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "challenger",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "depositId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "enum ChallengeManager.FraudProofType",
|
|
"name": "proofType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "proof",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "timestamp",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "resolved",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "claims",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "depositId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "asset",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "challengeWindowEnd",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "finalized",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "challenged",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "depositId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "finalizeClaim",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "depositIds",
|
|
"type": "uint256[]"
|
|
}
|
|
],
|
|
"name": "finalizeClaimsBatch",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "depositId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "getChallenge",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "challenger",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "depositId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "enum ChallengeManager.FraudProofType",
|
|
"name": "proofType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "proof",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "timestamp",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "resolved",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"internalType": "struct ChallengeManager.Challenge",
|
|
"name": "",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "depositId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "getClaim",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "depositId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "asset",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "challengeWindowEnd",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "finalized",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "challenged",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"internalType": "struct ChallengeManager.Claim",
|
|
"name": "",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "depositId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "asset",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "registerClaim",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x60c03461014357601f611a3038819003918201601f19168301916001600160401b038311848410176101485780849260409485528339810103126101435780516001600160a01b0381169190829003610143576020015190600160005580156100f257811561009d5760805260a0526040516118d1908161015f82396080518181816109bb0152610bec015260a0518181816101b301526105920152f35b60405162461bcd60e51b815260206004820152602760248201527f4368616c6c656e67654d616e616765723a207a65726f206368616c6c656e67656044820152662077696e646f7760c81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f4368616c6c656e67654d616e616765723a207a65726f20626f6e64206d616e6160448201526233b2b960e91b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b60003560e01c9081631bdd4b7414610c1b57508063363cc42714610bd65780633f55e2b91461077d5780635aef2447146106825780637a971114146105b5578063861a14121461057a5780638f1d3776146104e8578063a1f52f7114610343578063a35ab3f41461015c578063a888c2cd146100dc5763e4e2bfe41461009857600080fd5b346100d75760203660031901126100d7576100b4600435610f5a565b906100d360405192839215158352604060208401526040830190610d50565b0390f35b600080fd5b346100d75760203660031901126100d757600435600052600160205260e0604060002060ff81549160018060a01b0390816001820154169160028201541660038201549060056004840154930154936040519687526020870152604086015260608501526080840152818116151560a084015260081c16151560c0820152f35b346100d75760803660031901126100d7576001600160a01b0360243581811690600435908290036100d757604435606435938085168095036100d7578215610331578260005260016020526040600020546102d9577f00000000000000000000000000000000000000000000000000000000000000004201918242116102c3577f27116f075ea6e3db82cac788996d26ab67152bb482a429eea07b5e668bbf1de392604092856102a16005865161021281610dca565b838152602081018b81528882018d81526060830190898252608084019289845260a085019860008a5260c086019860008a5260005260016020528c600020955186558060018701925116916001600160601b0360a01b928382541617905560028601925116908254161790555160038301555160048201550192511515839060ff801983541691151516179055565b51815461ff00191690151560081b61ff001617905582519182526020820152a4005b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b815260206004820152602a60248201527f4368616c6c656e67654d616e616765723a20636c61696d20616c7265616479206044820152691c9959da5cdd195c995960b21b6064820152608490fd5b60405163144584ed60e11b8152600490fd5b346100d7576020806003193601126100d757600435906001600160401b03908183116100d757366023840112156100d75782600401359182116100d757600560243684831b86018201116100d75783156104a357603284116104545760005b8481106103ab57005b8082600192851b88010135801561044e578060005282808752604060002090815415610446578682019182549060ff80831661043b578260081c1661043157600401544211156104285760ff19161790557f6c2dd2ac62fb80fbaaafb2573e33bbc27d477f387981d247380d77548d619cc5600080a25b016103a2565b50505050610422565b5050505050610422565b505050505050610422565b505050610422565b50610422565b60405162461bcd60e51b815260206004820152602160248201527f4368616c6c656e67654d616e616765723a20626174636820746f6f206c6172676044820152606560f81b6064820152608490fd5b60405162461bcd60e51b815260206004820152601d60248201527f4368616c6c656e67654d616e616765723a20656d7074792061727261790000006044820152606490fd5b346100d75760203660031901126100d7576004356000526002602052604060002060018060a01b0381541660018201549160ff60028201541661056961053060038401610e57565b61055860ff600560048701549601541693604051978897885260208801526040870190610d20565b60c0606086015260c0850190610d50565b916080840152151560a08301520390f35b346100d75760003660031901126100d75760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346100d75760203660031901126100d757600435801561033157806000526001602052604060002080541561067057600581019081549060ff821661065e5760ff8260081c1661064c576004015442111561063a5760ff191660011790557f6c2dd2ac62fb80fbaaafb2573e33bbc27d477f387981d247380d77548d619cc5600080a2005b604051632b25acb560e21b8152600490fd5b60405163085c345b60e41b8152600490fd5b604051631342957960e11b8152600490fd5b60405163022af77760e11b8152600490fd5b346100d75760203660031901126100d757600060c06040516106a381610dca565b8281528260208201528260408201528260608201528260808201528260a08201520152600435600052600160205260e06040600020604051906106e582610dca565b80549182815260018060a01b0391826001820154169260208301938452806002830154169060408401918252600383015491606085019283528160056004860154956080880196875201549660ff60c060a0890198828b1615158a52019860081c1615158852604051988952511660208801525116604086015251606085015251608084015251151560a083015251151560c0820152f35b346100d75760603660031901126100d757600460243510156100d7576001600160401b036044358181116100d757366023820112156100d7578060040135918083116100d757602482019160248436920101116100d757600260005414610bc457600260005560043515610331576004356000526001602052604060002080541561067057600581019081549060ff821661065e5760ff8260081c1661064c5760048101544211610bb257858561083a92602435906004356110de565b15610ba05761ff0019166101001790556040519261085784610daf565b33845261087f60208501936004358552604086019261087860243585610efc565b3691610f23565b9060608501918252426080860152600060a0860152600435600052600260205260406000209360018060a01b038651166001600160601b0360a01b8654161785555160018501556002840190516004811015610b8a5760ff80198354169116179055518051918211610b74576108f86003840154610d75565b601f8111610b2d575b50602090601f8311600114610ab557938260059360a09361095d97600092610aaa575b50508160011b916000199060031b1c19161760038501555b608081015160048501550151151591019060ff801983541691151516179055565b60405161096c81602435610d20565b33907f91047bf062d15c9fef4c1eecf310e2905b26f5dfa736d78e82bbe87ec8d972a4602060043592a360408051630750ee8360e21b81526004803590820152336024820152908160448160007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115610a9e57600091610a6c575b5060043560005260026020526005604060002001600160ff198254161790558060011b90808204600214901517156102c35760405190610a3682602435610d20565b602082015233907fb2afd3626fc3570b0f30573b28def4db38f5099c0a65392b98a76645d5f1a50f604060043592a36001600055005b90506040813d604011610a96575b81610a8760409383610e36565b810103126100d75751816109f4565b3d9150610a7a565b6040513d6000823e3d90fd5b015190508780610924565b906003840160005260206000209160005b601f1985168110610b1557508360a09361095d9793600193600597601f19811610610afc575b505050811b01600385015561093c565b015160001960f88460031b161c19169055878080610aec565b91926020600181928685015181550194019201610ac6565b600384016000526020600020601f840160051c810160208510610b6d575b601f830160051c82018110610b61575050610901565b60008155600101610b4b565b5080610b4b565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60405163b120ea6560e01b8152600490fd5b604051632b0fbfc560e11b8152600490fd5b604051633ee5aeb560e01b8152600490fd5b346100d75760003660031901126100d7576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346100d757602090816003193601126100d75760a081610c3c600093610daf565b8281528284820152826040820152606080820152826080820152015260043560005260028152604060002060405190610c7482610daf565b60018060a01b0392838254168352610d0d6001830154828501908152610cfb60ff600286015416610ca9604088019182610efc565b610cb560038701610e57565b926060880193845260ff600560048901549860808b01998a520154169560a089019615158752604051998a99828b52511690890152516040880152516060870190610d20565b5160c0608086015260e0850190610d50565b915160a084015251151560c08301520390f35b906004821015610b8a5752565b60005b838110610d405750506000910152565b8181015183820152602001610d30565b90602091610d6981518092818552858086019101610d2d565b601f01601f1916010190565b90600182811c92168015610da5575b6020831014610d8f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610d84565b60c081019081106001600160401b03821117610b7457604052565b60e081019081106001600160401b03821117610b7457604052565b60a081019081106001600160401b03821117610b7457604052565b604081019081106001600160401b03821117610b7457604052565b606081019081106001600160401b03821117610b7457604052565b90601f801991011681019081106001600160401b03821117610b7457604052565b90604051918260008254610e6a81610d75565b90818452602094600191600181169081600014610eda5750600114610e9b575b505050610e9992500383610e36565b565b600090815285812095935091905b818310610ec2575050610e999350820101388080610e8a565b85548884018501529485019487945091830191610ea9565b92505050610e9994925060ff191682840152151560051b820101388080610e8a565b6004821015610b8a5752565b6001600160401b038111610b7457601f01601f191660200190565b929192610f2f82610f08565b91610f3d6040519384610e36565b8294818452818301116100d7578281602093846000960137010152565b9060009182526020600181526040928381208451610f7781610dca565b81549081815260018060a01b038060018501541686830152600284015416878201526003830154606082015260056004840154936080830194855201549160ff60c060a084019382861615158552019360081c1615158352156110b157516110835751611053575142111561101b576001938051928301908382106001600160401b038311176110075752815290565b634e487b7160e01b83526041600452602483fd5b7f4368616c6c656e67652077696e646f77206e6f742065787069726564000000009093519161104983610e00565b601c835282015290565b507310db185a5b481dd85cc818da185b1b195b99d95960621b9093519161107983610e00565b6014835282015290565b505070105b1c9958591e48199a5b985b1a5e9959607a1b909351916110a783610e00565b6011835282015290565b5050506e10db185a5b481b9bdd08199bdd5b99608a1b909351916110d483610e00565b600f835282015290565b939291831561113f576004811015610b8a578061110257506110ff936114f0565b90565b6001810361111457506110ff9361140a565b6002810361112657506110ff936112ab565b6003146111365750505050600090565b6110ff93611149565b5050505050600090565b929161115791923691610f23565b604090815161116581610de5565b600094858252856080602093828582015260608782015260608082015201528251830160a0848483019203126112a757828401519385810151906060810151926001600160401b03938481116112a35781876111c3928501016116ff565b9360808301519081116112a3576111e483928860a093608097960101611765565b910151938851926111f484610de5565b8884528784015288830152606082015201528214611214575b5050505090565b6001918552528220908154158015611294575b61128f5760018060a01b03806001840154168160018401541614928361127c575b83611264575b50505061125e573880808061120d565b50600190565b6002908101549201548116911614905038808061124e565b9250600383015460038301541492611248565b505090565b5060ff60058301541615611227565b8a80fd5b8680fd5b916112b891933691610f23565b6112c06117a7565b5080519060209181019260c0828486019503126100d75782820151936040830151936060840151936001600160401b03948581116100d7578383611306928401016116ff565b608082015190966001600160a01b03968783169591928690036100d75760a08401519081116100d75760c0918561133f92860101611765565b92015190604051986113508a610daf565b895283890152604088019687526060880193845281608089015260a088015251156113b65750829051168260028701541681146113ab578560036113a29460016110ff990154169101549042936117da565b91519051611822565b505050505050600090565b6084906040519062461bcd60e51b82526004820152602760248201527f4d65726b6c6550726f6f6656657269666965723a20656d70747920626c6f636b604482015266103432b0b232b960c91b6064820152fd5b9161141791933691610f23565b61141f6117a7565b5080519160209282019160c0818585019403126100d75783810151936040820151916060810151926001600160401b03938481116100d7578684611465928501016116ff565b9560808301519460a08401519081116100d75760c0918561148892860101611765565b920151906040519761149989610daf565b885283880152604087019586526060870193845281608088015260a087015251156113b6575051906003850154821461113f576110ff946113a29260018060a01b03600281600185015416930154169142936117da565b916114fe9194933691610f23565b604093845161150c81610dca565b6000918282528260c0602093828582015260608a820152826060820152826080820152606060a08201520152835184019260e0858486019503126116fc57828501519088860151966060870151936001600160401b03948581116116f8578787611578928b01016116ff565b9760808101519760a08201519660c08301519081116116f45760e091896115a192850101611765565b9101518c51956115b087610dca565b86528786019a8b528c8601998a5260608601988952608086019687528160a087015260c086015251156116a057600181015460038201546002909201546116089342936001600160a01b0392831693909216906117da565b965180970361169657508590519451935191519110908161168c575b501561163657506110ff939450611822565b60849086519062461bcd60e51b82526004820152602a60248201527f4d65726b6c6550726f6f6656657269666965723a20696e76616c6964207369626044820152693634b7339037b93232b960b11b6064820152fd5b9050841038611624565b9750505050505050565b8a5162461bcd60e51b815260048101879052602760248201527f4d65726b6c6550726f6f6656657269666965723a20656d70747920626c6f636b604482015266103432b0b232b960c91b6064820152608490fd5b8580fd5b8380fd5b80fd5b81601f820112156100d7578051916020916001600160401b038411610b74578360051b906040519461173385840187610e36565b855283808601928201019283116100d7578301905b828210611756575050505090565b81518152908301908301611748565b81601f820112156100d757805161177b81610f08565b926117896040519485610e36565b818452602082840101116100d7576110ff9160208085019101610d2d565b604051906117b482610daf565b600060a08382815282602082015260606040820152826060820152606060808201520152565b93919260405193602085019586526001600160601b0319809360601b166040860152605485015260601b16607483015260888201526088815261181c81610daf565b51902090565b9091906000915b8151831015611894576001906020808560051b8501015180831060001461187057604090815192830193845281830152815261186481610e1b565b519020925b0191611829565b91604090815192830193845281830152815261188b81610e1b565b51902092611869565b915050149056fea2646970667358221220ee91d1ec1fc0496f21f9a74c153481ea89a1b806c65b05852f607b0f37a6440b64736f6c63430008160033",
|
|
"deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c9081631bdd4b7414610c1b57508063363cc42714610bd65780633f55e2b91461077d5780635aef2447146106825780637a971114146105b5578063861a14121461057a5780638f1d3776146104e8578063a1f52f7114610343578063a35ab3f41461015c578063a888c2cd146100dc5763e4e2bfe41461009857600080fd5b346100d75760203660031901126100d7576100b4600435610f5a565b906100d360405192839215158352604060208401526040830190610d50565b0390f35b600080fd5b346100d75760203660031901126100d757600435600052600160205260e0604060002060ff81549160018060a01b0390816001820154169160028201541660038201549060056004840154930154936040519687526020870152604086015260608501526080840152818116151560a084015260081c16151560c0820152f35b346100d75760803660031901126100d7576001600160a01b0360243581811690600435908290036100d757604435606435938085168095036100d7578215610331578260005260016020526040600020546102d9577f00000000000000000000000000000000000000000000000000000000000000004201918242116102c3577f27116f075ea6e3db82cac788996d26ab67152bb482a429eea07b5e668bbf1de392604092856102a16005865161021281610dca565b838152602081018b81528882018d81526060830190898252608084019289845260a085019860008a5260c086019860008a5260005260016020528c600020955186558060018701925116916001600160601b0360a01b928382541617905560028601925116908254161790555160038301555160048201550192511515839060ff801983541691151516179055565b51815461ff00191690151560081b61ff001617905582519182526020820152a4005b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b815260206004820152602a60248201527f4368616c6c656e67654d616e616765723a20636c61696d20616c7265616479206044820152691c9959da5cdd195c995960b21b6064820152608490fd5b60405163144584ed60e11b8152600490fd5b346100d7576020806003193601126100d757600435906001600160401b03908183116100d757366023840112156100d75782600401359182116100d757600560243684831b86018201116100d75783156104a357603284116104545760005b8481106103ab57005b8082600192851b88010135801561044e578060005282808752604060002090815415610446578682019182549060ff80831661043b578260081c1661043157600401544211156104285760ff19161790557f6c2dd2ac62fb80fbaaafb2573e33bbc27d477f387981d247380d77548d619cc5600080a25b016103a2565b50505050610422565b5050505050610422565b505050505050610422565b505050610422565b50610422565b60405162461bcd60e51b815260206004820152602160248201527f4368616c6c656e67654d616e616765723a20626174636820746f6f206c6172676044820152606560f81b6064820152608490fd5b60405162461bcd60e51b815260206004820152601d60248201527f4368616c6c656e67654d616e616765723a20656d7074792061727261790000006044820152606490fd5b346100d75760203660031901126100d7576004356000526002602052604060002060018060a01b0381541660018201549160ff60028201541661056961053060038401610e57565b61055860ff600560048701549601541693604051978897885260208801526040870190610d20565b60c0606086015260c0850190610d50565b916080840152151560a08301520390f35b346100d75760003660031901126100d75760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346100d75760203660031901126100d757600435801561033157806000526001602052604060002080541561067057600581019081549060ff821661065e5760ff8260081c1661064c576004015442111561063a5760ff191660011790557f6c2dd2ac62fb80fbaaafb2573e33bbc27d477f387981d247380d77548d619cc5600080a2005b604051632b25acb560e21b8152600490fd5b60405163085c345b60e41b8152600490fd5b604051631342957960e11b8152600490fd5b60405163022af77760e11b8152600490fd5b346100d75760203660031901126100d757600060c06040516106a381610dca565b8281528260208201528260408201528260608201528260808201528260a08201520152600435600052600160205260e06040600020604051906106e582610dca565b80549182815260018060a01b0391826001820154169260208301938452806002830154169060408401918252600383015491606085019283528160056004860154956080880196875201549660ff60c060a0890198828b1615158a52019860081c1615158852604051988952511660208801525116604086015251606085015251608084015251151560a083015251151560c0820152f35b346100d75760603660031901126100d757600460243510156100d7576001600160401b036044358181116100d757366023820112156100d7578060040135918083116100d757602482019160248436920101116100d757600260005414610bc457600260005560043515610331576004356000526001602052604060002080541561067057600581019081549060ff821661065e5760ff8260081c1661064c5760048101544211610bb257858561083a92602435906004356110de565b15610ba05761ff0019166101001790556040519261085784610daf565b33845261087f60208501936004358552604086019261087860243585610efc565b3691610f23565b9060608501918252426080860152600060a0860152600435600052600260205260406000209360018060a01b038651166001600160601b0360a01b8654161785555160018501556002840190516004811015610b8a5760ff80198354169116179055518051918211610b74576108f86003840154610d75565b601f8111610b2d575b50602090601f8311600114610ab557938260059360a09361095d97600092610aaa575b50508160011b916000199060031b1c19161760038501555b608081015160048501550151151591019060ff801983541691151516179055565b60405161096c81602435610d20565b33907f91047bf062d15c9fef4c1eecf310e2905b26f5dfa736d78e82bbe87ec8d972a4602060043592a360408051630750ee8360e21b81526004803590820152336024820152908160448160007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115610a9e57600091610a6c575b5060043560005260026020526005604060002001600160ff198254161790558060011b90808204600214901517156102c35760405190610a3682602435610d20565b602082015233907fb2afd3626fc3570b0f30573b28def4db38f5099c0a65392b98a76645d5f1a50f604060043592a36001600055005b90506040813d604011610a96575b81610a8760409383610e36565b810103126100d75751816109f4565b3d9150610a7a565b6040513d6000823e3d90fd5b015190508780610924565b906003840160005260206000209160005b601f1985168110610b1557508360a09361095d9793600193600597601f19811610610afc575b505050811b01600385015561093c565b015160001960f88460031b161c19169055878080610aec565b91926020600181928685015181550194019201610ac6565b600384016000526020600020601f840160051c810160208510610b6d575b601f830160051c82018110610b61575050610901565b60008155600101610b4b565b5080610b4b565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60405163b120ea6560e01b8152600490fd5b604051632b0fbfc560e11b8152600490fd5b604051633ee5aeb560e01b8152600490fd5b346100d75760003660031901126100d7576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346100d757602090816003193601126100d75760a081610c3c600093610daf565b8281528284820152826040820152606080820152826080820152015260043560005260028152604060002060405190610c7482610daf565b60018060a01b0392838254168352610d0d6001830154828501908152610cfb60ff600286015416610ca9604088019182610efc565b610cb560038701610e57565b926060880193845260ff600560048901549860808b01998a520154169560a089019615158752604051998a99828b52511690890152516040880152516060870190610d20565b5160c0608086015260e0850190610d50565b915160a084015251151560c08301520390f35b906004821015610b8a5752565b60005b838110610d405750506000910152565b8181015183820152602001610d30565b90602091610d6981518092818552858086019101610d2d565b601f01601f1916010190565b90600182811c92168015610da5575b6020831014610d8f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610d84565b60c081019081106001600160401b03821117610b7457604052565b60e081019081106001600160401b03821117610b7457604052565b60a081019081106001600160401b03821117610b7457604052565b604081019081106001600160401b03821117610b7457604052565b606081019081106001600160401b03821117610b7457604052565b90601f801991011681019081106001600160401b03821117610b7457604052565b90604051918260008254610e6a81610d75565b90818452602094600191600181169081600014610eda5750600114610e9b575b505050610e9992500383610e36565b565b600090815285812095935091905b818310610ec2575050610e999350820101388080610e8a565b85548884018501529485019487945091830191610ea9565b92505050610e9994925060ff191682840152151560051b820101388080610e8a565b6004821015610b8a5752565b6001600160401b038111610b7457601f01601f191660200190565b929192610f2f82610f08565b91610f3d6040519384610e36565b8294818452818301116100d7578281602093846000960137010152565b9060009182526020600181526040928381208451610f7781610dca565b81549081815260018060a01b038060018501541686830152600284015416878201526003830154606082015260056004840154936080830194855201549160ff60c060a084019382861615158552019360081c1615158352156110b157516110835751611053575142111561101b576001938051928301908382106001600160401b038311176110075752815290565b634e487b7160e01b83526041600452602483fd5b7f4368616c6c656e67652077696e646f77206e6f742065787069726564000000009093519161104983610e00565b601c835282015290565b507310db185a5b481dd85cc818da185b1b195b99d95960621b9093519161107983610e00565b6014835282015290565b505070105b1c9958591e48199a5b985b1a5e9959607a1b909351916110a783610e00565b6011835282015290565b5050506e10db185a5b481b9bdd08199bdd5b99608a1b909351916110d483610e00565b600f835282015290565b939291831561113f576004811015610b8a578061110257506110ff936114f0565b90565b6001810361111457506110ff9361140a565b6002810361112657506110ff936112ab565b6003146111365750505050600090565b6110ff93611149565b5050505050600090565b929161115791923691610f23565b604090815161116581610de5565b600094858252856080602093828582015260608782015260608082015201528251830160a0848483019203126112a757828401519385810151906060810151926001600160401b03938481116112a35781876111c3928501016116ff565b9360808301519081116112a3576111e483928860a093608097960101611765565b910151938851926111f484610de5565b8884528784015288830152606082015201528214611214575b5050505090565b6001918552528220908154158015611294575b61128f5760018060a01b03806001840154168160018401541614928361127c575b83611264575b50505061125e573880808061120d565b50600190565b6002908101549201548116911614905038808061124e565b9250600383015460038301541492611248565b505090565b5060ff60058301541615611227565b8a80fd5b8680fd5b916112b891933691610f23565b6112c06117a7565b5080519060209181019260c0828486019503126100d75782820151936040830151936060840151936001600160401b03948581116100d7578383611306928401016116ff565b608082015190966001600160a01b03968783169591928690036100d75760a08401519081116100d75760c0918561133f92860101611765565b92015190604051986113508a610daf565b895283890152604088019687526060880193845281608089015260a088015251156113b65750829051168260028701541681146113ab578560036113a29460016110ff990154169101549042936117da565b91519051611822565b505050505050600090565b6084906040519062461bcd60e51b82526004820152602760248201527f4d65726b6c6550726f6f6656657269666965723a20656d70747920626c6f636b604482015266103432b0b232b960c91b6064820152fd5b9161141791933691610f23565b61141f6117a7565b5080519160209282019160c0818585019403126100d75783810151936040820151916060810151926001600160401b03938481116100d7578684611465928501016116ff565b9560808301519460a08401519081116100d75760c0918561148892860101611765565b920151906040519761149989610daf565b885283880152604087019586526060870193845281608088015260a087015251156113b6575051906003850154821461113f576110ff946113a29260018060a01b03600281600185015416930154169142936117da565b916114fe9194933691610f23565b604093845161150c81610dca565b6000918282528260c0602093828582015260608a820152826060820152826080820152606060a08201520152835184019260e0858486019503126116fc57828501519088860151966060870151936001600160401b03948581116116f8578787611578928b01016116ff565b9760808101519760a08201519660c08301519081116116f45760e091896115a192850101611765565b9101518c51956115b087610dca565b86528786019a8b528c8601998a5260608601988952608086019687528160a087015260c086015251156116a057600181015460038201546002909201546116089342936001600160a01b0392831693909216906117da565b965180970361169657508590519451935191519110908161168c575b501561163657506110ff939450611822565b60849086519062461bcd60e51b82526004820152602a60248201527f4d65726b6c6550726f6f6656657269666965723a20696e76616c6964207369626044820152693634b7339037b93232b960b11b6064820152fd5b9050841038611624565b9750505050505050565b8a5162461bcd60e51b815260048101879052602760248201527f4d65726b6c6550726f6f6656657269666965723a20656d70747920626c6f636b604482015266103432b0b232b960c91b6064820152608490fd5b8580fd5b8380fd5b80fd5b81601f820112156100d7578051916020916001600160401b038411610b74578360051b906040519461173385840187610e36565b855283808601928201019283116100d7578301905b828210611756575050505090565b81518152908301908301611748565b81601f820112156100d757805161177b81610f08565b926117896040519485610e36565b818452602082840101116100d7576110ff9160208085019101610d2d565b604051906117b482610daf565b600060a08382815282602082015260606040820152826060820152606060808201520152565b93919260405193602085019586526001600160601b0319809360601b166040860152605485015260601b16607483015260888201526088815261181c81610daf565b51902090565b9091906000915b8151831015611894576001906020808560051b8501015180831060001461187057604090815192830193845281830152815261186481610e1b565b519020925b0191611829565b91604090815192830193845281830152815261188b81610e1b565b51902092611869565b915050149056fea2646970667358221220ee91d1ec1fc0496f21f9a74c153481ea89a1b806c65b05852f607b0f37a6440b64736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|