614 lines
32 KiB
JSON
614 lines
32 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "XAUOracle",
|
|
"sourceName": "contracts/vault/XAUOracle.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"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "EnforcedPause",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ExpectedPause",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "feed",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "oldWeight",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "newWeight",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "FeedWeightUpdated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "timestamp",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "OracleFrozen",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "timestamp",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "OracleUnfrozen",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "Paused",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "feed",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "weight",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "PriceFeedAdded",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "feed",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "PriceFeedRemoved",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "price",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "timestamp",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "PriceUpdated",
|
|
"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": "ADMIN_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "BASIS_POINTS",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "DEFAULT_ADMIN_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "FEED_MANAGER_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "PRICE_DECIMALS",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "SAFETY_MARGIN_BPS",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "feed",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "weight",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "addPriceFeed",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "freeze",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getETHPriceInXAU",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "price",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "timestamp",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "vault",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getLiquidationPrice",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "price",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getPriceFeeds",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "feed",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "weight",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "active",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"internalType": "struct XAUOracle.PriceFeed[]",
|
|
"name": "feeds",
|
|
"type": "tuple[]"
|
|
}
|
|
],
|
|
"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": "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": "isFrozen",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "paused",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "feed",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "removePriceFeed",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "callerConfirmation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "renounceRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "revokeRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "interfaceId",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"name": "supportsInterface",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "unfreeze",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "feed",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "weight",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "updateFeedWeight",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "updatePrice",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x6080346200009257601f6200151b38819003918201601f19168301916001600160401b0383118484101762000097578084926020946040528339810103126200009257516001600160a01b03811681036200009257620000819060ff19600154166001556200006e81620000ad565b506200007a816200012d565b50620001cf565b5060405161128e90816200026d8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff166200012957818052816020526040822081835260205260408220600160ff198254161790553391600080516020620014fb8339815191528180a4600190565b5090565b6001600160a01b031660008181527f7d7ffb7a348e1c6a02869081a26547b49160dd3df72d1d75a570eb9b698292ec60205260408120549091907fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217759060ff16620001ca57808352826020526040832082845260205260408320600160ff19825416179055600080516020620014fb833981519152339380a4600190565b505090565b6001600160a01b031660008181527f51ff18b21c447e105ebe7f1df018a6388f6b0b95b88884a053f40188c31af6b160205260408120549091907fddbe48f52bb812894c8051224ff4457244fc2b78c8caa3e39179c65d4b6de4129060ff16620001ca57808352826020526040832082845260205260408320600160ff19825416179055600080516020620014fb833981519152339380a460019056fe608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a714610d3d575080630a0fb5a814610cfd57806317d8de8214610c89578063248a9ca314610c5f5780632f2ff15d14610c3757806333eeb14714610baf57806336568abe14610bf05780634d7442a614610bd35780635c975abb14610baf57806362a5af3b14610b2d578063673a7e28146107a95780636a28f000146107175780636ca42ae3146105ec57806375b238fc146105b157806391d148541461056b57806398e3936014610530578063a217fddf14610515578063bc9141fc14610436578063d547741f146103f9578063e1f1c4a7146103dc578063e3b6457c14610209578063f1a640f8146101e95763fceb00241461012157600080fd5b346101e55760203660031901126101e55761013a610d91565b6101426110c5565b60018060a01b0316918284528060205261016160ff8386205416610fb3565b82845260036020528184205460001981019081116101d257906002610187869493610e97565b50019060ff199182815416905584845260205281832090815416905560036020528120557ffd58461c4683df397133c7e91fe2aa71559919b405f9e09c9c3af7e875f54e3b8280a280f35b634e487b7160e01b855260118252602485fd5b8280fd5b8382346102055781600319360112610205576020905160128152f35b5080fd5b50829034610205578060031936011261020557610224610d91565b60243561022f6110c5565b6001600160a01b039182169283156103a35781151580610397575b61025390610fff565b83855260209286845260ff828720541661035457815161027281610ee8565b858152848101848152838201926001845260025468010000000000000000811015610341578060016102a79201600255610e97565b93909361032f57917fe13df32f0c6a39b2568691ac1b9a248057271175c00d4050e76ba14bdf9a652c98999a939160029351166bffffffffffffffffffffffff60a01b83541617825551600182015501915115159160ff199260ff8483541691161790556002548789526003865283892055845260018288209182541617905551908152a280f35b634e487b7160e01b8a52898b5260248afd5b634e487b7160e01b8a5260418b5260248afd5b815162461bcd60e51b8152808801859052601e60248201527f5841554f7261636c653a206665656420616c72656164792065786973747300006044820152606490fd5b5061271082111561024a565b5162461bcd60e51b8152602081870152601460248201527316105553dc9858db194e881e995c9bc81999595960621b6044820152606490fd5b838234610205578160031936011261020557602090516127108152f35b50346101e557806003193601126101e557610432913561042d600161041c610dac565b938387528660205286200154611121565b6111c5565b5080f35b50829034610205578060031936011261020557610451610d91565b906024359161045e6110c5565b60018060a01b0316918284528460205261047d60ff8386205416610fb3565b80151580610509575b61048f90610fff565b8284526003602052818420546000198101919082116104f65790817fc20fd563f55def11340110371be21596592086fc922adfe081eb60418097f938939260016104e5816104dc86610e97565b50015494610e97565b50015582519182526020820152a280f35b634e487b7160e01b855260118652602485fd5b50612710811115610486565b83823461020557816003193601126102055751908152602090f35b838234610205578160031936011261020557602090517fddbe48f52bb812894c8051224ff4457244fc2b78c8caa3e39179c65d4b6de4128152f35b5090346101e557816003193601126101e5578160209360ff9261058c610dac565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b838234610205578160031936011261020557602090517fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758152f35b509190346102055781600319360112610205576002906002549067ffffffffffffffff821161070457509160209284519061062c858260051b0183610f1a565b8082528482018094600285527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9085925b8484106106bc575050505050845193808501918186525180925285850193925b82811061068a5785850386f35b835180516001600160a01b0316865280830151868401528701511515878601526060909401939281019260010161067d565b6003896001928c9b98999b516106d181610ee8565b848060a01b03875416815284870154838201528d60ff87890154161515908201528152019301930192919795949761065d565b634e487b7160e01b845260419052602483fd5b5090346101e557826003193601126101e55761073161104b565b6001549060ff82161561079b57507fd7e99a2ab898176aa244229005d7fbf756ced51e97e9e84659e12aec97a97bc99160209160ff19166001557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa828251338152a151428152a180f35b8251638dfc202b60e01b8152fd5b509190346102055781600319360112610205576107c461123a565b60028054918215610af457839291849285915b81831061086e57505050821561082b57506108147f945c1c4e99aa89f648fbfe3df471b916f719e16d960fcec0737d4d56bd696838928592610e77565b80600555426006558151908152426020820152a180f35b606490602086519162461bcd60e51b8352820152601a60248201527f5841554f7261636c653a206e6f206163746976652066656564730000000000006044820152fd5b9091948161087b87610e97565b50015460ff90811615610aea5761089187610e97565b50548951633fabe5a360e21b81526001600160a01b039091169160a09182818981875afa908115610ae0578b938c92610a8c575b50508a831315610a49576108da811515610f53565b4203428111610a3657601e6108f0911115610f53565b81928b51809163313ce56760e01b8252818a60209485935afa918215610a2c578c926109f1575b50501660129182821060001461099e5750810390811161098b579161096e61094d61098193610947600196610f98565b90610e4e565b975b61096861095b8b610e97565b509986809b015490610e4e565b90610fa6565b9661097889610e97565b50015490610fa6565b955b0191906107d7565b634e487b7160e01b895260118652602489fd5b9181989398116109ba575b505060019161096e6109819261094f565b91965090601119810190811161098b579161096e6109e6610981936109e0600196610f98565b90610e77565b9792508193506109a9565b90809250813d8311610a25575b610a088183610f1a565b81010312610a2157518181168103610a21573880610917565b8a80fd5b503d6109fe565b8d513d8e823e3d90fd5b634e487b7160e01b8b526011885260248bfd5b8b5162461bcd60e51b81526020818a0152601860248201527f5841554f7261636c653a20696e76616c696420707269636500000000000000006044820152606490fd5b8194508092503d8311610ad9575b610aa48183610f1a565b81010312610ad557610ab582610f3c565b506020820151610acc608060608501519401610f3c565b509138806108c5565b8980fd5b503d610a9a565b8c513d8d823e3d90fd5b5094600190610983565b606490602086519162461bcd60e51b835282015260136024820152725841554f7261636c653a206e6f20666565647360681b6044820152fd5b83823461020557816003193601126102055760207f4e7cc2dd8b446a64bb3a25a4eef455511dc158a1736e510f08dc0287c4e640db91610b6b61104b565b610b7361123a565b600160ff19815416176001557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258828251338152a151428152a180f35b83823461020557816003193601126102055760209060ff6001541690519015158152f35b838234610205578160031936011261020557602090516101f48152f35b50829034610205578060031936011261020557610c0b610dac565b90336001600160a01b03831603610c2857506104329192356111c5565b5163334bd91960e11b81528390fd5b50346101e557806003193601126101e5576104329135610c5a600161041c610dac565b611147565b5090346101e55760203660031901126101e557816020936001923581528085522001549051908152f35b509134610cfa576020366003190112610cfa57610ca4610d91565b50610cb460ff6001541615610dc2565b610cc16006541515610e02565b6005549161251c92838102938185041490151715610ce757602083612710865191048152f35b634e487b7160e01b825260119052602490fd5b80fd5b508234610cfa5780600319360112610cfa5750610d1f60ff6001541615610dc2565b600654610d2d811515610e02565b6005549082519182526020820152f35b849084346101e55760203660031901126101e5573563ffffffff60e01b81168091036101e55760209250637965db0b60e01b8114908115610d80575b5015158152f35b6301ffc9a760e01b14905083610d79565b600435906001600160a01b0382168203610da757565b600080fd5b602435906001600160a01b0382168203610da757565b15610dc957565b60405162461bcd60e51b815260206004820152601160248201527016105553dc9858db194e881c185d5cd959607a1b6044820152606490fd5b15610e0957565b60405162461bcd60e51b815260206004820152601860248201527f5841554f7261636c653a206e6f207072696365206461746100000000000000006044820152606490fd5b81810292918115918404141715610e6157565b634e487b7160e01b600052601160045260246000fd5b8115610e81570490565b634e487b7160e01b600052601260045260246000fd5b600254811015610ed2576003906002600052027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0190600090565b634e487b7160e01b600052603260045260246000fd5b6060810190811067ffffffffffffffff821117610f0457604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610f0457604052565b519069ffffffffffffffffffff82168203610da757565b15610f5a57565b60405162461bcd60e51b81526020600482015260166024820152755841554f7261636c653a207374616c6520707269636560501b6044820152606490fd5b604d8111610e6157600a0a90565b91908201809211610e6157565b15610fba57565b60405162461bcd60e51b815260206004820152601960248201527f5841554f7261636c653a2066656564206e6f7420666f756e64000000000000006044820152606490fd5b1561100657565b60405162461bcd60e51b815260206004820152601960248201527f5841554f7261636c653a20696e76616c696420776569676874000000000000006044820152606490fd5b3360009081527f7d7ffb7a348e1c6a02869081a26547b49160dd3df72d1d75a570eb9b698292ec60205260409020547fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217759060ff16156110a75750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3360009081527f51ff18b21c447e105ebe7f1df018a6388f6b0b95b88884a053f40188c31af6b160205260409020547fddbe48f52bb812894c8051224ff4457244fc2b78c8caa3e39179c65d4b6de4129060ff16156110a75750565b80600052600060205260406000203360005260205260ff60406000205416156110a75750565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416156000146111c057808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146111c05780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b60ff6001541661124657565b60405163d93c066560e01b8152600490fdfea26469706673582212209323e0c7da30edeea58e306da6de2febd97c978bfcbb9d91bb4c48709b303f1c64736f6c634300081600332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
|
|
"deployedBytecode": "0x608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a714610d3d575080630a0fb5a814610cfd57806317d8de8214610c89578063248a9ca314610c5f5780632f2ff15d14610c3757806333eeb14714610baf57806336568abe14610bf05780634d7442a614610bd35780635c975abb14610baf57806362a5af3b14610b2d578063673a7e28146107a95780636a28f000146107175780636ca42ae3146105ec57806375b238fc146105b157806391d148541461056b57806398e3936014610530578063a217fddf14610515578063bc9141fc14610436578063d547741f146103f9578063e1f1c4a7146103dc578063e3b6457c14610209578063f1a640f8146101e95763fceb00241461012157600080fd5b346101e55760203660031901126101e55761013a610d91565b6101426110c5565b60018060a01b0316918284528060205261016160ff8386205416610fb3565b82845260036020528184205460001981019081116101d257906002610187869493610e97565b50019060ff199182815416905584845260205281832090815416905560036020528120557ffd58461c4683df397133c7e91fe2aa71559919b405f9e09c9c3af7e875f54e3b8280a280f35b634e487b7160e01b855260118252602485fd5b8280fd5b8382346102055781600319360112610205576020905160128152f35b5080fd5b50829034610205578060031936011261020557610224610d91565b60243561022f6110c5565b6001600160a01b039182169283156103a35781151580610397575b61025390610fff565b83855260209286845260ff828720541661035457815161027281610ee8565b858152848101848152838201926001845260025468010000000000000000811015610341578060016102a79201600255610e97565b93909361032f57917fe13df32f0c6a39b2568691ac1b9a248057271175c00d4050e76ba14bdf9a652c98999a939160029351166bffffffffffffffffffffffff60a01b83541617825551600182015501915115159160ff199260ff8483541691161790556002548789526003865283892055845260018288209182541617905551908152a280f35b634e487b7160e01b8a52898b5260248afd5b634e487b7160e01b8a5260418b5260248afd5b815162461bcd60e51b8152808801859052601e60248201527f5841554f7261636c653a206665656420616c72656164792065786973747300006044820152606490fd5b5061271082111561024a565b5162461bcd60e51b8152602081870152601460248201527316105553dc9858db194e881e995c9bc81999595960621b6044820152606490fd5b838234610205578160031936011261020557602090516127108152f35b50346101e557806003193601126101e557610432913561042d600161041c610dac565b938387528660205286200154611121565b6111c5565b5080f35b50829034610205578060031936011261020557610451610d91565b906024359161045e6110c5565b60018060a01b0316918284528460205261047d60ff8386205416610fb3565b80151580610509575b61048f90610fff565b8284526003602052818420546000198101919082116104f65790817fc20fd563f55def11340110371be21596592086fc922adfe081eb60418097f938939260016104e5816104dc86610e97565b50015494610e97565b50015582519182526020820152a280f35b634e487b7160e01b855260118652602485fd5b50612710811115610486565b83823461020557816003193601126102055751908152602090f35b838234610205578160031936011261020557602090517fddbe48f52bb812894c8051224ff4457244fc2b78c8caa3e39179c65d4b6de4128152f35b5090346101e557816003193601126101e5578160209360ff9261058c610dac565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b838234610205578160031936011261020557602090517fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758152f35b509190346102055781600319360112610205576002906002549067ffffffffffffffff821161070457509160209284519061062c858260051b0183610f1a565b8082528482018094600285527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9085925b8484106106bc575050505050845193808501918186525180925285850193925b82811061068a5785850386f35b835180516001600160a01b0316865280830151868401528701511515878601526060909401939281019260010161067d565b6003896001928c9b98999b516106d181610ee8565b848060a01b03875416815284870154838201528d60ff87890154161515908201528152019301930192919795949761065d565b634e487b7160e01b845260419052602483fd5b5090346101e557826003193601126101e55761073161104b565b6001549060ff82161561079b57507fd7e99a2ab898176aa244229005d7fbf756ced51e97e9e84659e12aec97a97bc99160209160ff19166001557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa828251338152a151428152a180f35b8251638dfc202b60e01b8152fd5b509190346102055781600319360112610205576107c461123a565b60028054918215610af457839291849285915b81831061086e57505050821561082b57506108147f945c1c4e99aa89f648fbfe3df471b916f719e16d960fcec0737d4d56bd696838928592610e77565b80600555426006558151908152426020820152a180f35b606490602086519162461bcd60e51b8352820152601a60248201527f5841554f7261636c653a206e6f206163746976652066656564730000000000006044820152fd5b9091948161087b87610e97565b50015460ff90811615610aea5761089187610e97565b50548951633fabe5a360e21b81526001600160a01b039091169160a09182818981875afa908115610ae0578b938c92610a8c575b50508a831315610a49576108da811515610f53565b4203428111610a3657601e6108f0911115610f53565b81928b51809163313ce56760e01b8252818a60209485935afa918215610a2c578c926109f1575b50501660129182821060001461099e5750810390811161098b579161096e61094d61098193610947600196610f98565b90610e4e565b975b61096861095b8b610e97565b509986809b015490610e4e565b90610fa6565b9661097889610e97565b50015490610fa6565b955b0191906107d7565b634e487b7160e01b895260118652602489fd5b9181989398116109ba575b505060019161096e6109819261094f565b91965090601119810190811161098b579161096e6109e6610981936109e0600196610f98565b90610e77565b9792508193506109a9565b90809250813d8311610a25575b610a088183610f1a565b81010312610a2157518181168103610a21573880610917565b8a80fd5b503d6109fe565b8d513d8e823e3d90fd5b634e487b7160e01b8b526011885260248bfd5b8b5162461bcd60e51b81526020818a0152601860248201527f5841554f7261636c653a20696e76616c696420707269636500000000000000006044820152606490fd5b8194508092503d8311610ad9575b610aa48183610f1a565b81010312610ad557610ab582610f3c565b506020820151610acc608060608501519401610f3c565b509138806108c5565b8980fd5b503d610a9a565b8c513d8d823e3d90fd5b5094600190610983565b606490602086519162461bcd60e51b835282015260136024820152725841554f7261636c653a206e6f20666565647360681b6044820152fd5b83823461020557816003193601126102055760207f4e7cc2dd8b446a64bb3a25a4eef455511dc158a1736e510f08dc0287c4e640db91610b6b61104b565b610b7361123a565b600160ff19815416176001557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258828251338152a151428152a180f35b83823461020557816003193601126102055760209060ff6001541690519015158152f35b838234610205578160031936011261020557602090516101f48152f35b50829034610205578060031936011261020557610c0b610dac565b90336001600160a01b03831603610c2857506104329192356111c5565b5163334bd91960e11b81528390fd5b50346101e557806003193601126101e5576104329135610c5a600161041c610dac565b611147565b5090346101e55760203660031901126101e557816020936001923581528085522001549051908152f35b509134610cfa576020366003190112610cfa57610ca4610d91565b50610cb460ff6001541615610dc2565b610cc16006541515610e02565b6005549161251c92838102938185041490151715610ce757602083612710865191048152f35b634e487b7160e01b825260119052602490fd5b80fd5b508234610cfa5780600319360112610cfa5750610d1f60ff6001541615610dc2565b600654610d2d811515610e02565b6005549082519182526020820152f35b849084346101e55760203660031901126101e5573563ffffffff60e01b81168091036101e55760209250637965db0b60e01b8114908115610d80575b5015158152f35b6301ffc9a760e01b14905083610d79565b600435906001600160a01b0382168203610da757565b600080fd5b602435906001600160a01b0382168203610da757565b15610dc957565b60405162461bcd60e51b815260206004820152601160248201527016105553dc9858db194e881c185d5cd959607a1b6044820152606490fd5b15610e0957565b60405162461bcd60e51b815260206004820152601860248201527f5841554f7261636c653a206e6f207072696365206461746100000000000000006044820152606490fd5b81810292918115918404141715610e6157565b634e487b7160e01b600052601160045260246000fd5b8115610e81570490565b634e487b7160e01b600052601260045260246000fd5b600254811015610ed2576003906002600052027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0190600090565b634e487b7160e01b600052603260045260246000fd5b6060810190811067ffffffffffffffff821117610f0457604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610f0457604052565b519069ffffffffffffffffffff82168203610da757565b15610f5a57565b60405162461bcd60e51b81526020600482015260166024820152755841554f7261636c653a207374616c6520707269636560501b6044820152606490fd5b604d8111610e6157600a0a90565b91908201809211610e6157565b15610fba57565b60405162461bcd60e51b815260206004820152601960248201527f5841554f7261636c653a2066656564206e6f7420666f756e64000000000000006044820152606490fd5b1561100657565b60405162461bcd60e51b815260206004820152601960248201527f5841554f7261636c653a20696e76616c696420776569676874000000000000006044820152606490fd5b3360009081527f7d7ffb7a348e1c6a02869081a26547b49160dd3df72d1d75a570eb9b698292ec60205260409020547fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217759060ff16156110a75750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3360009081527f51ff18b21c447e105ebe7f1df018a6388f6b0b95b88884a053f40188c31af6b160205260409020547fddbe48f52bb812894c8051224ff4457244fc2b78c8caa3e39179c65d4b6de4129060ff16156110a75750565b80600052600060205260406000203360005260205260ff60406000205416156110a75750565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416156000146111c057808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146111c05780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b60ff6001541661124657565b60405163d93c066560e01b8152600490fdfea26469706673582212209323e0c7da30edeea58e306da6de2febd97c978bfcbb9d91bb4c48709b303f1c64736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|