818 lines
41 KiB
JSON
818 lines
41 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "Stabilizer",
|
|
"sourceName": "contracts/bridge/trustless/integration/Stabilizer.sol",
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "admin",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "_privatePoolRegistry",
|
|
"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": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "target",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "AddressEmptyCode",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "AddressInsufficientBalance",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "BlockDelayNotMet",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "FailedInnerCall",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "GasPriceTooHigh",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "InsufficientBalance",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "NoDeviationSource",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "NoPrivatePool",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ReentrancyGuardReentrantCall",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "SafeERC20FailedOperation",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ShouldNotRebalance",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "SlippageExceeded",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "VolumeCapExceeded",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ZeroAmount",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "key",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "value",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "ConfigUpdated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "manager",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "asset",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "PegSourceCommoditySet",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "manager",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "asset",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "PegSourceStablecoinSet",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "tokenIn",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "tokenOut",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amountIn",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amountOut",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "PrivateSwapExecuted",
|
|
"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"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "DEFAULT_ADMIN_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "MAX_DEVIATION_SAMPLES",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "STABILIZER_KEEPER_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "checkDeviation",
|
|
"outputs": [
|
|
{
|
|
"internalType": "int256",
|
|
"name": "deviationBps",
|
|
"type": "int256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "shouldRebalance",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "commodityPegAsset",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "commodityPegManager",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract ICommodityPegManager",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "tradeSize",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenIn",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenOut",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "executePrivateSwap",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amountOut",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"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": "lastExecutionBlock",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "maxGasPriceForStabilizer",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "maxSlippageBps",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "maxStabilizationVolumePerBlock",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "minBlocksBetweenExecution",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "privatePoolRegistry",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract PrivatePoolRegistry",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "recordDeviation",
|
|
"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": "address",
|
|
"name": "manager",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "asset",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "setCommodityPegSource",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "v",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setMaxGasPriceForStabilizer",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "v",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setMaxSlippageBps",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "v",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setMaxStabilizationVolumePerBlock",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "v",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setMinBlocksBetweenExecution",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "manager",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "asset",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "setStablecoinPegSource",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "v",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setSustainedDeviationBlocks",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "v",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setThresholdBps",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "stablecoinPegAsset",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "stablecoinPegManager",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract IStablecoinPegManager",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "interfaceId",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"name": "supportsInterface",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "sustainedDeviationBlocks",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "thresholdBps",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "useStablecoinPeg",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "volumeBlockNumber",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "volumeThisBlock",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x60a0346200015257601f6200196938819003918201601f19168301916001600160401b038311848410176200015757808492604094855283398101031262000152576200005a602062000052836200016d565b92016200016d565b6001805560036005819055603260075560085560646009556001600160a01b0390828216156200010d5716908115620000c857806200009d620000a49262000182565b5062000202565b506080526040516116a49081620002a582396080518181816103e001526109f20152f35b60405162461bcd60e51b815260206004820152601960248201527f53746162696c697a65723a207a65726f207265676973747279000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601660248201527f53746162696c697a65723a207a65726f2061646d696e000000000000000000006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200015257565b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff16620001fe57818052816020526040822081835260205260408220600160ff198254161790553391600080516020620019498339815191528180a4600190565b5090565b6001600160a01b031660008181527f0e416215b4df1b64135c60f4be8454b302ceac552bc44a8ee70d2f0c0aecdb9260205260408120549091907ff8e89960bb12677eccb321f57cf4ca928974e50008319c5b381640914f7e8eb49060ff166200029f57808352826020526040832082845260205260408320600160ff1982541617905560008051602062001949833981519152339380a4600190565b50509056fe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a71461106d5750806322a5476214611032578063248a9ca31461100957806325fc1b3d14610fac5780632915c7ff14610f515780632f2ff15d14610f28578063306528b814610ebc57806332e562b714610ea157806336568abe14610e5a5780633eb933b314610e335780635de21a6914610e0a5780636f634f0814610d9e5780637156635214610ce45780637195022214610cc5578063765e7a0d14610c9c5780637d43000714610c7357806391d1485414610c2e5780639c37137314610b915780639f8c250e14610b72578063a1a64cd414610b53578063a217fddf14610b38578063a9e83fb814610b0f578063b2dea4d714610af0578063c1072ea614610a40578063c1144b7114610a21578063c3586dc8146109dd578063c4aa7395146109be578063cab8f9aa14610952578063d081887a1461028c578063d547741f1461024e578063e2c67dc61461022f578063ec36418a14610206578063ede06e3e146101e7578063f0e5c3f7146101c45763f782d9c7146101a457600080fd5b346101c057826003193601126101c05760209250549051908152f35b8280fd5b5050346101e357816003193601126101e3576020906005549051908152f35b5080fd5b5050346101e357816003193601126101e3576020906006549051908152f35b5050346101e357816003193601126101e357600d5490516001600160a01b039091168152602090f35b5050346101e357816003193601126101e3576020906002549051908152f35b5090346101c057806003193601126101c057610288913561028360016102726110c1565b93838752866020528620015461121e565b6112c2565b5080f35b5090346101c05760603660031901126101c0578135926102aa6110c1565b926044359460018060a01b039182871693848803610635576002600154146109435760026001557ff8e89960bb12677eccb321f57cf4ca928974e50008319c5b381640914f7e8eb497888252602098828a528783203384528a5260ff8884205416156109255750831561091557600a54801515908161090b575b506108fb576103386002546005549061112c565b43106108eb5761034f610349611354565b4361156a565b8651635de21a6960e01b815287818581305afa9081156108475783916108b4575b50156108a45782544303610898575b60035461038c858261112c565b60065410610888576103db916103a3868c9361112c565b60035543600255885163c427540d60e01b81526001600160a01b03808c16878301908152921660208301529283918291604090910190565b0381887f0000000000000000000000000000000000000000000000000000000000000000165afa90811561087e579085918391610861575b50168015610851578651632512469560e11b81529489868581855afa958615610847578396610828575b508751636a5cb82360e11b81528a818681865afa80156107f1576107fb575b50875163ee27c68960e01b8152988a8a8681865afa998a156107f157849a6107be575b50811695168514978860001461076f576104a2670de0b6b3a764000091866111b3565b045b600954906127109182039082821161075c57906104c0916111b3565b88516370a0823160e01b81523086820152919004986024918b8184818b5afa908115610752579087918691610721575b50106107115788518b810163a9059cbb60e01b8152848483015287604483015260448252608082019167ffffffffffffffff92818110848211176106ff578c52518691829190828c5af1903d156106f2573d9081116106e057610575918d918c519061056584601f19601f840116018361114f565b81528781933d92013e5b896115eb565b80518c81151591826106bc575b505090506106a757918a91849360001461064a57895180948193630ccd5aff60e11b835289898401525af191821561063f57809261060c575b5050955b86106105fe5750837f4d40f62616a2ccc9c9ce5b0fcbb35e5a46d578f1dbb3d117ce8a59cf9c27425e9181519081528688820152a36001805551908152f35b8451638199f5f360e01b8152fd5b9091508882813d8311610638575b610624818361114f565b8101031261063557505138806105bb565b80fd5b503d61061a565b8751903d90823e3d90fd5b89518094819363d7a2e4c960e01b835289898401525af191821561063f578092610677575b5050956105bf565b9091508882813d83116106a0575b61068f818361114f565b81010312610635575051388061066f565b503d610685565b508751635274afe760e01b8152808501879052fd5b83809293500103126106dc578b6106d39101611187565b15808c38610582565b8480fd5b634e487b7160e01b8652604187528386fd5b506105759060609061056f565b634e487b7160e01b8852604189528588fd5b8851631e9acf1760e31b81528590fd5b8092508d8092503d831161074b575b61073a818361114f565b810103126106dc57869051386104f0565b503d610730565b8a513d87823e3d90fd5b634e487b7160e01b855260118652602485fd5b670de0b6b3a76400008502670de0b6b3a763ffff19868204016107ab57811561079857046104a4565b634e487b7160e01b845260128552602484fd5b634e487b7160e01b845260118552602484fd5b9099508a81813d83116107ea575b6107d6818361114f565b810103126107e65751988161047f565b8380fd5b503d6107cc565b89513d86823e3d90fd5b61081a908b3d8d11610821575b610812818361114f565b810190611194565b503861045c565b503d610808565b6108409196508a3d8c1161082157610812818361114f565b943861043d565b88513d85823e3d90fd5b8651630121063160e11b81528390fd5b61087891508a3d8c1161082157610812818361114f565b38610413565b87513d84823e3d90fd5b8751630696ce2760e31b81528490fd5b4383558160035561037f565b8651632e82bb9d60e01b81528390fd5b90508781813d83116108e4575b6108cb818361114f565b810103126101c057896108de9101611187565b38610370565b503d6108c1565b865163ee85936360e01b81528390fd5b865163317ed41360e21b81528390fd5b9050481138610324565b8651631f2a200560e01b81528390fd5b875163e2517d3f60e01b815233818601526024810191909152604490fd5b508451633ee5aeb560e01b8152fd5b50346101c05760203660031901126101c05760008051602061164f83398151915291608091356109806111c6565b80600a5560188251928084528301527f6d61784761735072696365466f7253746162696c697a6572000000000000000060608301526020820152a180f35b5050346101e357816003193601126101e3576020906009549051908152f35b5050346101e357816003193601126101e357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5050346101e357816003193601126101e3576020906007549051908152f35b5050346101e357806003193601126101e3577f09463324c55086cfc97877f1a242dd01e26f1f0b471a3f4bbc1af8433324a46690610a7c6110dc565b610aea610a876110c1565b92610a906111c6565b600b80546001600160a01b039485166001600160a01b03199182168117909255600c80549690951695168517909355600e8054600160a01b60ff60a01b199091161790555191825260208201929092529081906040820190565b0390a180f35b5050346101e357816003193601126101e357602090600a549051908152f35b5050346101e357816003193601126101e357600c5490516001600160a01b039091168152602090f35b5050346101e357816003193601126101e35751908152602090f35b5050346101e357816003193601126101e3576020906003549051908152f35b8334610635578060031936011261063557610b8e610349611354565b80f35b5050346101e357806003193601126101e3577f41669ca598075a6af2a7c5992e53d913a5d0969a24342e2ddfef64c24e3d053c90610bcd6110dc565b610aea610bd86110c1565b92610be16111c6565b600d80546001600160a01b0319166001600160a01b03948516908117909155600e80546001600160a81b031916959094169485179093555191825260208201929092529081906040820190565b50346101c057816003193601126101c0578160209360ff92610c4e6110c1565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b5050346101e357816003193601126101e357600b5490516001600160a01b039091168152602090f35b5050346101e357816003193601126101e357600e5490516001600160a01b039091168152602090f35b5050346101e357816003193601126101e3576020906008549051908152f35b50346101c05760203660031901126101c057803590610d016111c6565b60208211610d5b575060008051602061164f833981519152918160809260085560188251928084528301527f7375737461696e6564446576696174696f6e426c6f636b73000000000000000060608301526020820152a180f35b606490602084519162461bcd60e51b8352820152601860248201527f53746162696c697a65723a2073616d706c65206c696d697400000000000000006044820152fd5b50346101c05760203660031901126101c05760008051602061164f8339815191529160809135610dcc6111c6565b80600655601e8251928084528301527f6d617853746162696c697a6174696f6e566f6c756d65506572426c6f636b000060608301526020820152a180f35b82843461063557806003193601126106355750610e256110f2565b825191825215156020820152f35b5050346101e357816003193601126101e35760209060ff600e5460a01c1690519015158152f35b509190346101e357806003193601126101e357610e756110c1565b90336001600160a01b03831603610e9257506102889192356112c2565b5163334bd91960e11b81528390fd5b5050346101e357816003193601126101e35760209051818152f35b50346101c05760203660031901126101c05760008051602061164f8339815191529160809135610eea6111c6565b8060055560198251928084528301527f6d696e426c6f636b734265747765656e457865637574696f6e0000000000000060608301526020820152a180f35b5090346101c057806003193601126101c0576102889135610f4c60016102726110c1565b611244565b50346101c05760203660031901126101c05760008051602061164f8339815191529160809135610f7f6111c6565b80600755600c8251928084528301526b7468726573686f6c6442707360a01b60608301526020820152a180f35b50346101c05760203660031901126101c05760008051602061164f8339815191529160809135610fda6111c6565b80600955600e8251928084528301526d6d6178536c69707061676542707360901b60608301526020820152a180f35b50346101c05760203660031901126101c057816020936001923581528085522001549051908152f35b5050346101e357816003193601126101e357602090517ff8e89960bb12677eccb321f57cf4ca928974e50008319c5b381640914f7e8eb48152f35b925050346101c05760203660031901126101c0573563ffffffff60e01b81168091036101c05760209250637965db0b60e01b81149081156110b0575b5015158152f35b6301ffc9a760e01b149050386110a9565b602435906001600160a01b03821682036110d757565b600080fd5b600435906001600160a01b03821682036110d757565b6110fa611354565b9060008212156111265761110d82611494565b60075412156111215761111e6114a5565b90565b600090565b8161110d565b9190820180921161113957565b634e487b7160e01b600052601160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761117157604052565b634e487b7160e01b600052604160045260246000fd5b519081151582036110d757565b908160209103126110d757516001600160a01b03811681036110d75790565b8181029291811591840414171561113957565b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff16156112005750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff60406000205416156112005750565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416156000146112bd57808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146112bd5780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b91908260409103126110d757602061134e83611187565b92015190565b600e5460ff8160a01c16808091611480575b8061146c575b611427571580611413575b80611401575b6113875750600090565b600d546040805163347915a560e21b81526001600160a01b03938416600482015292909183916024918391165afa9081156113f5576000916113c7575090565b6113e9915060403d6040116113ee575b6113e1818361114f565b810190611337565b905090565b503d6113d7565b6040513d6000823e3d90fd5b506001600160a01b038116151561137d565b50600d546001600160a01b03161515611377565b5050600b54600c5460408051631b9029b160e01b81526001600160a01b03928316600482015292909183916024918391165afa9081156113f5576000916113c7575090565b50600c546001600160a01b0316151561136c565b50600b546001600160a01b03161515611366565b600160ff1b81146111395760000390565b600854801561156457806050541061155e57604f5460075490601f808201916020919082810180851190821160005b8881106114e957505050505050505050600190565b816111395782611139578481850301878111611139578686821610156115485760011b603e1660100154889060008112156115435761152790611494565b1115611535576001016114d4565b505050505050505050600090565b611527565b634e487b7160e01b600052603260045260246000fd5b50600090565b50600190565b90604f5490604051926040840184811067ffffffffffffffff821117611171576040528352602083019081526020601f8316101561154857603e60109260011b16925183600f015551910155604f5460018101811161113957600160209108604f55605054602081106115da5750565b600019811461113957600101605055565b90611612575080511561160057805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611645575b611623575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561161b56fe12c9dccd129ff783f1c8228eacdfa8e334ddecb7ec5c9a79ec662a4aed3d012aa26469706673582212204be0973b154cdf04d4f3ec990eb19a97dc1bbc3920c9ff71f2f2c4507242a38c64736f6c634300081600332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
|
|
"deployedBytecode": "0x6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a71461106d5750806322a5476214611032578063248a9ca31461100957806325fc1b3d14610fac5780632915c7ff14610f515780632f2ff15d14610f28578063306528b814610ebc57806332e562b714610ea157806336568abe14610e5a5780633eb933b314610e335780635de21a6914610e0a5780636f634f0814610d9e5780637156635214610ce45780637195022214610cc5578063765e7a0d14610c9c5780637d43000714610c7357806391d1485414610c2e5780639c37137314610b915780639f8c250e14610b72578063a1a64cd414610b53578063a217fddf14610b38578063a9e83fb814610b0f578063b2dea4d714610af0578063c1072ea614610a40578063c1144b7114610a21578063c3586dc8146109dd578063c4aa7395146109be578063cab8f9aa14610952578063d081887a1461028c578063d547741f1461024e578063e2c67dc61461022f578063ec36418a14610206578063ede06e3e146101e7578063f0e5c3f7146101c45763f782d9c7146101a457600080fd5b346101c057826003193601126101c05760209250549051908152f35b8280fd5b5050346101e357816003193601126101e3576020906005549051908152f35b5080fd5b5050346101e357816003193601126101e3576020906006549051908152f35b5050346101e357816003193601126101e357600d5490516001600160a01b039091168152602090f35b5050346101e357816003193601126101e3576020906002549051908152f35b5090346101c057806003193601126101c057610288913561028360016102726110c1565b93838752866020528620015461121e565b6112c2565b5080f35b5090346101c05760603660031901126101c0578135926102aa6110c1565b926044359460018060a01b039182871693848803610635576002600154146109435760026001557ff8e89960bb12677eccb321f57cf4ca928974e50008319c5b381640914f7e8eb497888252602098828a528783203384528a5260ff8884205416156109255750831561091557600a54801515908161090b575b506108fb576103386002546005549061112c565b43106108eb5761034f610349611354565b4361156a565b8651635de21a6960e01b815287818581305afa9081156108475783916108b4575b50156108a45782544303610898575b60035461038c858261112c565b60065410610888576103db916103a3868c9361112c565b60035543600255885163c427540d60e01b81526001600160a01b03808c16878301908152921660208301529283918291604090910190565b0381887f0000000000000000000000000000000000000000000000000000000000000000165afa90811561087e579085918391610861575b50168015610851578651632512469560e11b81529489868581855afa958615610847578396610828575b508751636a5cb82360e11b81528a818681865afa80156107f1576107fb575b50875163ee27c68960e01b8152988a8a8681865afa998a156107f157849a6107be575b50811695168514978860001461076f576104a2670de0b6b3a764000091866111b3565b045b600954906127109182039082821161075c57906104c0916111b3565b88516370a0823160e01b81523086820152919004986024918b8184818b5afa908115610752579087918691610721575b50106107115788518b810163a9059cbb60e01b8152848483015287604483015260448252608082019167ffffffffffffffff92818110848211176106ff578c52518691829190828c5af1903d156106f2573d9081116106e057610575918d918c519061056584601f19601f840116018361114f565b81528781933d92013e5b896115eb565b80518c81151591826106bc575b505090506106a757918a91849360001461064a57895180948193630ccd5aff60e11b835289898401525af191821561063f57809261060c575b5050955b86106105fe5750837f4d40f62616a2ccc9c9ce5b0fcbb35e5a46d578f1dbb3d117ce8a59cf9c27425e9181519081528688820152a36001805551908152f35b8451638199f5f360e01b8152fd5b9091508882813d8311610638575b610624818361114f565b8101031261063557505138806105bb565b80fd5b503d61061a565b8751903d90823e3d90fd5b89518094819363d7a2e4c960e01b835289898401525af191821561063f578092610677575b5050956105bf565b9091508882813d83116106a0575b61068f818361114f565b81010312610635575051388061066f565b503d610685565b508751635274afe760e01b8152808501879052fd5b83809293500103126106dc578b6106d39101611187565b15808c38610582565b8480fd5b634e487b7160e01b8652604187528386fd5b506105759060609061056f565b634e487b7160e01b8852604189528588fd5b8851631e9acf1760e31b81528590fd5b8092508d8092503d831161074b575b61073a818361114f565b810103126106dc57869051386104f0565b503d610730565b8a513d87823e3d90fd5b634e487b7160e01b855260118652602485fd5b670de0b6b3a76400008502670de0b6b3a763ffff19868204016107ab57811561079857046104a4565b634e487b7160e01b845260128552602484fd5b634e487b7160e01b845260118552602484fd5b9099508a81813d83116107ea575b6107d6818361114f565b810103126107e65751988161047f565b8380fd5b503d6107cc565b89513d86823e3d90fd5b61081a908b3d8d11610821575b610812818361114f565b810190611194565b503861045c565b503d610808565b6108409196508a3d8c1161082157610812818361114f565b943861043d565b88513d85823e3d90fd5b8651630121063160e11b81528390fd5b61087891508a3d8c1161082157610812818361114f565b38610413565b87513d84823e3d90fd5b8751630696ce2760e31b81528490fd5b4383558160035561037f565b8651632e82bb9d60e01b81528390fd5b90508781813d83116108e4575b6108cb818361114f565b810103126101c057896108de9101611187565b38610370565b503d6108c1565b865163ee85936360e01b81528390fd5b865163317ed41360e21b81528390fd5b9050481138610324565b8651631f2a200560e01b81528390fd5b875163e2517d3f60e01b815233818601526024810191909152604490fd5b508451633ee5aeb560e01b8152fd5b50346101c05760203660031901126101c05760008051602061164f83398151915291608091356109806111c6565b80600a5560188251928084528301527f6d61784761735072696365466f7253746162696c697a6572000000000000000060608301526020820152a180f35b5050346101e357816003193601126101e3576020906009549051908152f35b5050346101e357816003193601126101e357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5050346101e357816003193601126101e3576020906007549051908152f35b5050346101e357806003193601126101e3577f09463324c55086cfc97877f1a242dd01e26f1f0b471a3f4bbc1af8433324a46690610a7c6110dc565b610aea610a876110c1565b92610a906111c6565b600b80546001600160a01b039485166001600160a01b03199182168117909255600c80549690951695168517909355600e8054600160a01b60ff60a01b199091161790555191825260208201929092529081906040820190565b0390a180f35b5050346101e357816003193601126101e357602090600a549051908152f35b5050346101e357816003193601126101e357600c5490516001600160a01b039091168152602090f35b5050346101e357816003193601126101e35751908152602090f35b5050346101e357816003193601126101e3576020906003549051908152f35b8334610635578060031936011261063557610b8e610349611354565b80f35b5050346101e357806003193601126101e3577f41669ca598075a6af2a7c5992e53d913a5d0969a24342e2ddfef64c24e3d053c90610bcd6110dc565b610aea610bd86110c1565b92610be16111c6565b600d80546001600160a01b0319166001600160a01b03948516908117909155600e80546001600160a81b031916959094169485179093555191825260208201929092529081906040820190565b50346101c057816003193601126101c0578160209360ff92610c4e6110c1565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b5050346101e357816003193601126101e357600b5490516001600160a01b039091168152602090f35b5050346101e357816003193601126101e357600e5490516001600160a01b039091168152602090f35b5050346101e357816003193601126101e3576020906008549051908152f35b50346101c05760203660031901126101c057803590610d016111c6565b60208211610d5b575060008051602061164f833981519152918160809260085560188251928084528301527f7375737461696e6564446576696174696f6e426c6f636b73000000000000000060608301526020820152a180f35b606490602084519162461bcd60e51b8352820152601860248201527f53746162696c697a65723a2073616d706c65206c696d697400000000000000006044820152fd5b50346101c05760203660031901126101c05760008051602061164f8339815191529160809135610dcc6111c6565b80600655601e8251928084528301527f6d617853746162696c697a6174696f6e566f6c756d65506572426c6f636b000060608301526020820152a180f35b82843461063557806003193601126106355750610e256110f2565b825191825215156020820152f35b5050346101e357816003193601126101e35760209060ff600e5460a01c1690519015158152f35b509190346101e357806003193601126101e357610e756110c1565b90336001600160a01b03831603610e9257506102889192356112c2565b5163334bd91960e11b81528390fd5b5050346101e357816003193601126101e35760209051818152f35b50346101c05760203660031901126101c05760008051602061164f8339815191529160809135610eea6111c6565b8060055560198251928084528301527f6d696e426c6f636b734265747765656e457865637574696f6e0000000000000060608301526020820152a180f35b5090346101c057806003193601126101c0576102889135610f4c60016102726110c1565b611244565b50346101c05760203660031901126101c05760008051602061164f8339815191529160809135610f7f6111c6565b80600755600c8251928084528301526b7468726573686f6c6442707360a01b60608301526020820152a180f35b50346101c05760203660031901126101c05760008051602061164f8339815191529160809135610fda6111c6565b80600955600e8251928084528301526d6d6178536c69707061676542707360901b60608301526020820152a180f35b50346101c05760203660031901126101c057816020936001923581528085522001549051908152f35b5050346101e357816003193601126101e357602090517ff8e89960bb12677eccb321f57cf4ca928974e50008319c5b381640914f7e8eb48152f35b925050346101c05760203660031901126101c0573563ffffffff60e01b81168091036101c05760209250637965db0b60e01b81149081156110b0575b5015158152f35b6301ffc9a760e01b149050386110a9565b602435906001600160a01b03821682036110d757565b600080fd5b600435906001600160a01b03821682036110d757565b6110fa611354565b9060008212156111265761110d82611494565b60075412156111215761111e6114a5565b90565b600090565b8161110d565b9190820180921161113957565b634e487b7160e01b600052601160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761117157604052565b634e487b7160e01b600052604160045260246000fd5b519081151582036110d757565b908160209103126110d757516001600160a01b03811681036110d75790565b8181029291811591840414171561113957565b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff16156112005750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff60406000205416156112005750565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416156000146112bd57808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146112bd5780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b91908260409103126110d757602061134e83611187565b92015190565b600e5460ff8160a01c16808091611480575b8061146c575b611427571580611413575b80611401575b6113875750600090565b600d546040805163347915a560e21b81526001600160a01b03938416600482015292909183916024918391165afa9081156113f5576000916113c7575090565b6113e9915060403d6040116113ee575b6113e1818361114f565b810190611337565b905090565b503d6113d7565b6040513d6000823e3d90fd5b506001600160a01b038116151561137d565b50600d546001600160a01b03161515611377565b5050600b54600c5460408051631b9029b160e01b81526001600160a01b03928316600482015292909183916024918391165afa9081156113f5576000916113c7575090565b50600c546001600160a01b0316151561136c565b50600b546001600160a01b03161515611366565b600160ff1b81146111395760000390565b600854801561156457806050541061155e57604f5460075490601f808201916020919082810180851190821160005b8881106114e957505050505050505050600190565b816111395782611139578481850301878111611139578686821610156115485760011b603e1660100154889060008112156115435761152790611494565b1115611535576001016114d4565b505050505050505050600090565b611527565b634e487b7160e01b600052603260045260246000fd5b50600090565b50600190565b90604f5490604051926040840184811067ffffffffffffffff821117611171576040528352602083019081526020601f8316101561154857603e60109260011b16925183600f015551910155604f5460018101811161113957600160209108604f55605054602081106115da5750565b600019811461113957600101605055565b90611612575080511561160057805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611645575b611623575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561161b56fe12c9dccd129ff783f1c8228eacdfa8e334ddecb7ec5c9a79ec662a4aed3d012aa26469706673582212204be0973b154cdf04d4f3ec990eb19a97dc1bbc3920c9ff71f2f2c4507242a38c64736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|