1212 lines
74 KiB
JSON
1212 lines
74 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "DODOPMMIntegration",
|
|
"sourceName": "contracts/dex/DODOPMMIntegration.sol",
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "admin",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "dodoVendingMachine_",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "dodoApprove_",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "officialUSDT_",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "officialUSDC_",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "compliantUSDT_",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "compliantUSDC_",
|
|
"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": "FailedInnerCall",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ReentrancyGuardReentrantCall",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "SafeERC20FailedOperation",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "provider",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "baseAmount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "quoteAmount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "lpShares",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "LiquidityAdded",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "baseToken",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "quoteToken",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "creator",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "PoolCreated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "PoolRemoved",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "reserveSystem",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "ReserveSystemSet",
|
|
"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": true,
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"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"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "trader",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "SwapExecuted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "DEFAULT_ADMIN_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "POOL_MANAGER_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "SWAP_OPERATOR_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "baseAmount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "quoteAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "addLiquidity",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "baseShare",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "quoteShare",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "lpShare",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "allPools",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "compliantUSDC",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "compliantUSDT",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "lpFeeRate",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "initialPrice",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "k",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "isOpenTWAP",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "createCUSDCUSDCPool",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "lpFeeRate",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "initialPrice",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "k",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "isOpenTWAP",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "createCUSDTCUSDCPool",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "lpFeeRate",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "initialPrice",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "k",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "isOpenTWAP",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "createCUSDTUSDTPool",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "baseToken",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "quoteToken",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "lpFeeRate",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "initialPrice",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "k",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "isOpenTWAP",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "createPool",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "dodoApprove",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "dodoVendingMachine",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getAllPools",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getPoolConfig",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "baseToken",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "quoteToken",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "lpFeeRate",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "i",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "k",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "isOpenTWAP",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "createdAt",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"internalType": "struct DODOPMMIntegration.PoolConfig",
|
|
"name": "config",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getPoolPrice",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "price",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getPoolPriceOrOracle",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "price",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getPoolReserves",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "baseReserve",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "quoteReserve",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"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": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "isRegisteredPool",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "officialUSDC",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "officialUSDT",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "poolConfigs",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "baseToken",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "quoteToken",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "lpFeeRate",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "i",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "k",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "isOpenTWAP",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "createdAt",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "pools",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "removePool",
|
|
"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": [],
|
|
"name": "reserveSystem",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract IReserveSystem",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"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": "reserveSystem_",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "setReserveSystem",
|
|
"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": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amountIn",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "minAmountOut",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "swapCUSDCForUSDC",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amountOut",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amountIn",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "minAmountOut",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "swapCUSDTForUSDC",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amountOut",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amountIn",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "minAmountOut",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "swapCUSDTForUSDT",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amountOut",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amountIn",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "minAmountOut",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "swapUSDCForCUSDC",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amountOut",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amountIn",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "minAmountOut",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "swapUSDCForCUSDT",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amountOut",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amountIn",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "minAmountOut",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "swapUSDTForCUSDT",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amountOut",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x610140346200041857601f620033c838819003918201601f1916830191906001600160401b038311848410176200041d578160e092859260409586528339810103126200041857620000518262000433565b906020916200006283850162000433565b6200006f83860162000433565b6200007d6060870162000433565b916200008c6080880162000433565b93620000a960c0620000a160a08b0162000433565b990162000433565b60018055966001600160a01b0382811615620003d457808416156200039057808616156200034c57808716156200030857808a1615620002c45788161562000281575080620000fc6200010f9262000448565b506200010881620004c8565b506200056a565b5060805260a05260c05260e0526101009283526101209182525190612da092836200060884396080518381816104c401528181610736015281816110a1015281816114d60152612120015260a051836113b2015260c05183818161050901528181610698015281816106e7015281816107af015281816108690152818161094b01528181610ee30152611871015260e05183818161038e01528181610ba901528181611438015281816114870152818161154f01528181611609015281816116eb0152611fca015251828181610664015281816107080152818161077d015281816108400152818161096f01528181610a5901528181610c9301528181610f6e015281816117e601528181612084015261230401525181818161042b01528181610ada01528181610b6b01528181610cd001528181610d9901528181611404015281816114a80152818161151d015281816115e00152818161170f015281816118ef01528181611f3f01526120b90152f35b60649087519062461bcd60e51b82526004820152601e60248201527f444f444f504d4d496e746567726174696f6e3a207a65726f20635553444300006044820152fd5b875162461bcd60e51b815260048101839052601e60248201527f444f444f504d4d496e746567726174696f6e3a207a65726f20635553445400006044820152606490fd5b875162461bcd60e51b815260048101839052601d60248201527f444f444f504d4d496e746567726174696f6e3a207a65726f20555344430000006044820152606490fd5b875162461bcd60e51b815260048101839052601d60248201527f444f444f504d4d496e746567726174696f6e3a207a65726f20555344540000006044820152606490fd5b875162461bcd60e51b815260048101839052601c60248201527f444f444f504d4d496e746567726174696f6e3a207a65726f2044564d000000006044820152606490fd5b875162461bcd60e51b815260048101839052601e60248201527f444f444f504d4d496e746567726174696f6e3a207a65726f2061646d696e00006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200041857565b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff16620004c457818052816020526040822081835260205260408220600160ff198254161790553391600080516020620033a88339815191528180a4600190565b5090565b6001600160a01b031660008181527f729ef9451dd492832bd2a98139702ced95dfa0cec7e99526dbbcb957abcbc47660205260408120549091907f6077685936c8169d09204a1d97db12e41713588c38e1d29a61867d3dcee98aff9060ff166200056557808352826020526040832082845260205260408320600160ff19825416179055600080516020620033a8833981519152339380a4600190565b505090565b6001600160a01b031660008181527f9d8e7dc370dae9c1f756f61ce68f43f0344133b2a8bc8e554f38c04fd860918160205260408120549091907f0bf01987eb944ac9d01a98005777b55d68cdb9dea34d590e6dd77437b43d65639060ff166200056557808352826020526040832082845260205260408320600160ff19825416179055600080516020620033a8833981519152339380a460019056fe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a71461245e575080630792d513146123cb5780630a6de2c91461233357806315fdffdf146122ee5780631cdd995f14612061578063248a9ca314612032578063275c725114611ee35780632f2ff15d14611ea457806336568abe14611e5d5780633b7d094614611ce557806341d1de9714611c8a5780634b515fbe14611c5f5780634bee939514611bb257806355776b77146119c057806356d735681461198557806358a6badd1461191e57806359916868146118d95780636010f2db1461178a578063634ac8fa146113e15780636382fc0c1461139c5780636f88a5a814610fd6578063776aa64914610e8757806381c4af5a14610e5e578063901754d714610e0e57806391d1485414610dc1578063989f95f214610c33578063a217fddf14610c17578063c699e63314610bd8578063c82ab87414610b93578063d01680df146109fa578063d27b7e6b14610641578063d547741f14610600578063d88ff1f414610538578063e015a3b8146104f3578063ec030776146104ae578063ec3c97c614610332578063f29486a1146102015763fef133e4146101c157600080fd5b346101fc5760003660031901126101fc5760206040517f0bf01987eb944ac9d01a98005777b55d68cdb9dea34d590e6dd77437b43d65638152f35b600080fd5b346101fc576020806003193601126101fc576101009061021f6124b1565b600060e060405161022f8161258a565b82815282858201528260408201528260608201528260808201528260a08201528260c0820152015260018060a01b03809116806000526003835261027a60ff6040600020541661252e565b600052600482526040600020604051916102938361258a565b8082541693848452816001840154169181850192835280600285015416906040860191825260038501549160608701928352600486015493608088019485528260058801549660a08a0197885260e0600760ff60068c0154169a60c08d019b15158c5201549a01998a526040519a8b52511690890152511660408701525160608601525160808501525160a084015251151560c08301525160e0820152f35b346101fc5761034036612504565b90610349612a52565b60018060a01b0392838116806000526020946003865261037060ff6040600020541661252e565b81600052600486526103c8848260026040600020015416946103b6847f000000000000000000000000000000000000000000000000000000000000000016809714612703565b6103c182151561274e565b3386612a75565b60405163d7a2e4c960e01b8152600481018590529486866024816000875af19586156104a257600096610465575b50600080516020612d4b833981519152916104166104569288101561279a565b604080519687526020870188905233908701527f000000000000000000000000000000000000000000000000000000000000000016949081906060820190565b0390a460018055604051908152f35b9095508681813d831161049b575b61047d81836125bd565b810103126101fc575194600080516020612d4b8339815191526103f6565b503d610473565b6040513d6000823e3d90fd5b346101fc5760003660031901126101fc576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101fc5760003660031901126101fc576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101fc5760003660031901126101fc57604051806005548083526020809301809160056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db09060005b868282106105e357868661059a828803836125bd565b604051928392818401908285525180915260408401929160005b8281106105c357505050500390f35b83516001600160a01b0316855286955093810193928101926001016105b4565b83546001600160a01b031685529093019260019283019201610584565b346101fc5760403660031901126101fc5761063f60043561061f6124c7565b9080600052600060205261063a600160406000200154612a2c565b612b4e565b005b346101fc5761064f366124dd565b61065a939193612978565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660009081526002602090815260408083207f0000000000000000000000000000000000000000000000000000000000000000851684529091529020546106cc9116156125df565b6040516305bfbc3f60e11b81529360208580610730858589897f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006004880161264a565b038160007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19384156104a2576020956000956109cb575b506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660008181526002808a5260408083207f0000000000000000000000000000000000000000000000000000000000000000861684528b528083208054958b166001600160a01b03199687168117909155918b52808320938352928a5282822080549094168117909355918252600388529020805460ff1916600117905561082385612684565b604051936108308561258a565b6001600160a01b038681168087527f000000000000000000000000000000000000000000000000000000000000000082168988019081527f000000000000000000000000000000000000000000000000000000000000000083166040808a0191825260608a0195865260808a0196875260a08a0197885297151560c08a019081524260e08b0190815260009485526004808e529990942099518a549086166001600160a01b0319918216178b55925160018b018054918716918516919091179055905160028a0180549190951692169190911790925591516003870155915193850193909355905160058401555160068301805460ff191691151560ff16919091179055600790519101556040513381526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116917f00000000000000000000000000000000000000000000000000000000000000008216918416907f55b6e041bb1679bf2b32c9252ad372f3459868b982e77a0ae577d59c947e3757908690a46040516001600160a01b039091168152f35b6109ec919550863d88116109f3575b6109e481836125bd565b81019061262b565b9386610772565b503d6109da565b346101fc57610a0836612504565b90610a11612a52565b60018060a01b03928381168060005260209460038652610a3860ff6040600020541661252e565b8160005260048652610a8a846040600020946103b6846001880154169685807f0000000000000000000000000000000000000000000000000000000000000000168099149182610b60575b5050612703565b604051630ccd5aff60e11b8152600481018590529486866024816000875af19586156104a257600096610b23575b50600080516020612d4b83398151915291610ad86104569288101561279a565b7f00000000000000000000000000000000000000000000000000000000000000001694610b06873388612bc3565b604080519182526020820188905233908201529081906060820190565b9095508681813d8311610b59575b610b3b81836125bd565b810103126101fc575194600080516020612d4b833981519152610ab8565b503d610b31565b6002919250015416857f00000000000000000000000000000000000000000000000000000000000000001614858c610a83565b346101fc5760003660031901126101fc576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101fc5760203660031901126101fc576001600160a01b03610bf96124b1565b166000526003602052602060ff604060002054166040519015158152f35b346101fc5760003660031901126101fc57602060405160008152f35b346101fc57610c4136612504565b9091610c4b612a52565b60018060a01b03908181168060005260209460038652610c7260ff6040600020541661252e565b8160005260048652610cf881604060002095610cc3816001890154169782807f000000000000000000000000000000000000000000000000000000000000000016809a149182610d8e575050612703565b610cce82151561274e565b7f000000000000000000000000000000000000000000000000000000000000000016943386612a75565b60405163d7a2e4c960e01b8152600481018290529486866024816000875af19586156104a257600096610d51575b50600080516020612d4b83398151915291610d466104569288101561279a565b610b06873388612bc3565b9095508681813d8311610d87575b610d6981836125bd565b810103126101fc575194600080516020612d4b833981519152610d26565b503d610d5f565b6002919250015416827f00000000000000000000000000000000000000000000000000000000000000001614828c610a83565b346101fc5760403660031901126101fc57610dda6124c7565b600435600052600060205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346101fc5760403660031901126101fc576020610e296124b1565b610e316124c7565b60018060a01b03809216600052600283528160406000209116600052825260406000205416604051908152f35b346101fc5760003660031901126101fc576006546040516001600160a01b039091168152602090f35b346101fc57610e9536612504565b90610e9e612a52565b60018060a01b03928381168060005260209460038652610ec560ff6040600020541661252e565b8160005260048652610f0b848260026040600020015416946103b6847f000000000000000000000000000000000000000000000000000000000000000016809714612703565b60405163d7a2e4c960e01b8152600481018590529486866024816000875af19586156104a257600096610f99575b50600080516020612d4b83398151915291610f596104569288101561279a565b604080519687526020870188905233908701527f000000000000000000000000000000000000000000000000000000000000000016949081906060820190565b9095508681813d8311610fcf575b610fb181836125bd565b810103126101fc575194600080516020612d4b833981519152610f39565b503d610fa7565b346101fc5760c03660031901126101fc57610fef6124b1565b610ff76124c7565b60a435151560a435036101fc5761100c612978565b6001600160a01b03821615611357576001600160a01b03811615611312576001600160a01b03828116908216146112cd576001600160a01b038281166000908152600260209081526040808320858516845290915290205461106f9116156125df565b6040516305bfbc3f60e11b8152916020838061109b60a43560843560643560443589896004880161264a565b038160007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19182156104a2576020936000936112ae575b506001600160a01b038281166000818152600280885260408083208686168452895280832080546001600160a01b0319908116968a16968717909155918952808320938352928852828220805490911684179055918252600386529020805460ff1916600117905561114e83612684565b60405161115a8161258a565b60018060a01b038416815260018060a01b0383168582015260018060a01b03821660408201526044356060820152606435608082015260843560a082015260a435151560c0820152600760e0820142815260018060a01b0386166000526004875261125b60c060406000209460018060a01b038151166001600160601b0360a01b8754161786556001860160018060a01b038b830151166001600160601b0360a01b8254161790556002860160018060a01b036040830151166001600160601b0360a01b825416179055606081015160038701556080810151600487015560a0810151600587015501511515600685019060ff801983541691151516179055565b519101556040513381526001600160a01b03918216928216918416907f55b6e041bb1679bf2b32c9252ad372f3459868b982e77a0ae577d59c947e3757908690a46040516001600160a01b039091168152f35b6112c6919350843d86116109f3576109e481836125bd565b91846110dd565b60405162461bcd60e51b815260206004820152601e60248201527f444f444f504d4d496e746567726174696f6e3a2073616d6520746f6b656e00006044820152606490fd5b60405162461bcd60e51b815260206004820152601e60248201527f444f444f504d4d496e746567726174696f6e3a207a65726f2071756f746500006044820152606490fd5b60405162461bcd60e51b815260206004820152601d60248201527f444f444f504d4d496e746567726174696f6e3a207a65726f20626173650000006044820152606490fd5b346101fc5760003660031901126101fc576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101fc576113ef366124dd565b6113fa939193612978565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660009081526002602090815260408083207f00000000000000000000000000000000000000000000000000000000000000008516845290915290205461146c9116156125df565b6040516305bfbc3f60e11b815293602085806114d0858589897f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006004880161264a565b038160007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19384156104a25760209560009561176b575b506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660008181526002808a5260408083207f0000000000000000000000000000000000000000000000000000000000000000861684528b528083208054958b166001600160a01b03199687168117909155918b52808320938352928a5282822080549094168117909355918252600388529020805460ff191660011790556115c385612684565b604051936115d08561258a565b6001600160a01b038681168087527f000000000000000000000000000000000000000000000000000000000000000082168988019081527f000000000000000000000000000000000000000000000000000000000000000083166040808a0191825260608a0195865260808a0196875260a08a0197885297151560c08a019081524260e08b0190815260009485526004808e529990942099518a549086166001600160a01b0319918216178b55925160018b018054918716918516919091179055905160028a0180549190951692169190911790925591516003870155915193850193909355905160058401555160068301805460ff191691151560ff16919091179055600790519101556040513381526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116917f00000000000000000000000000000000000000000000000000000000000000008216918416907f55b6e041bb1679bf2b32c9252ad372f3459868b982e77a0ae577d59c947e3757908690a46040516001600160a01b039091168152f35b611783919550863d88116109f3576109e481836125bd565b9386611512565b346101fc5761179836612504565b906117a1612a52565b60018060a01b039283811680600052602094600386526117c860ff6040600020541661252e565b816000526004865261180e848260016040600020015416946103b6847f000000000000000000000000000000000000000000000000000000000000000016809714612703565b604051630ccd5aff60e11b8152600481018590529486866024816000875af19586156104a25760009661189c575b50600080516020612d4b8339815191529161185c6104569288101561279a565b604080519687526020870188905233908701527f000000000000000000000000000000000000000000000000000000000000000016949081906060820190565b9095508681813d83116118d2575b6118b481836125bd565b810103126101fc575194600080516020612d4b83398151915261183c565b503d6118aa565b346101fc5760003660031901126101fc576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101fc5760203660031901126101fc576119376124b1565b61193f6129f2565b600680546001600160a01b0319166001600160a01b039290921691821790557ff0644f24b528059383242fef34ce7833ba032bbae737a91a4da30130ea2c4586600080a2005b346101fc5760003660031901126101fc5760206040517f6077685936c8169d09204a1d97db12e41713588c38e1d29a61867d3dcee98aff8152f35b346101fc576119ce36612504565b6119d6612a52565b611a9b8160018060a01b039485811695866000526003602052611a0060ff6040600020541661252e565b85151580611ba9575b611a129061274e565b866000526004602052604060002090611a928784604051611a328161258a565b848654168152846001870154169081602082015260e060078760028a0154169860408401998a526003810154606085015260048101546080850152600581015460a085015260ff600682015416151560c085015201549101523390612a75565b33915116612a75565b604051634c85b42560e01b8152336004820152916060836024816000885af19081156104a257600092600094600093611b43575b50947f4a1a2a6176e9646d9e3157f7c2ab3c499f18337c0b0828cfb28e0a61de4a11f783611b3f959697611b1b6040519283923397846040919493926060820195825260208201520152565b0390a360018055604051938493846040919493926060820195825260208201520152565b0390f35b9450915091506060833d606011611ba1575b81611b62606093836125bd565b810103126101fc5782516020840151604090940151909290917f4a1a2a6176e9646d9e3157f7c2ab3c499f18337c0b0828cfb28e0a61de4a11f7611acf565b3d9150611b55565b50821515611a09565b346101fc5760203660031901126101fc57600460406001600160a01b03611bd76124b1565b16806000526003602052611bf160ff83600020541661252e565b81516336223ce960e01b815292839182905afa80156104a257600090600090611c25575b6040809350519182526020820152f35b50506040813d604011611c57575b81611c40604093836125bd565b810103126101fc5780602060409251910151611c15565b3d9150611c33565b346101fc5760203660031901126101fc576020611c82611c7d6124b1565b6127f6565b604051908152f35b346101fc5760203660031901126101fc576004356005548110156101fc5760056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001546040516001600160a01b039091168152602090f35b346101fc576020806003193601126101fc576004611d016124b1565b91611d0a6129f2565b60018060a01b03809316928360005260038252611d2e60ff6040600020541661252e565b8360005282825260406000209060405190611d488261258a565b808354168252806001840154168483019281845260e0600784600288015416966040840197885260038101546060850152898101546080850152600581015460a085015260ff600682015416151560c08501520154910152600052600284526040600020818451166000528452806040600020936001600160601b0360a01b948581541690555116600052600284526040600020915116600052825260406000209081541690558260005260038152604060002060ff19815416905552600060076040822082815582600182015582600282015582600382015582600482015582600582015582600682015501557f4106dfdaa577573db51c0ca93f766dbedfa0758faa2e7f5bcdb7c142be803c3f600080a2005b346101fc5760403660031901126101fc57611e766124c7565b336001600160a01b03821603611e925761063f90600435612b4e565b60405163334bd91960e11b8152600490fd5b346101fc5760403660031901126101fc5761063f600435611ec36124c7565b90806000526000602052611ede600160406000200154612a2c565b612ad0565b346101fc57611ef136612504565b90611efa612a52565b60018060a01b03928381168060005260209460038652611f2160ff6040600020541661252e565b8160005260048652611f67848260016040600020015416946103b6847f000000000000000000000000000000000000000000000000000000000000000016809714612703565b604051630ccd5aff60e11b8152600481018590529486866024816000875af19586156104a257600096611ff5575b50600080516020612d4b83398151915291611fb56104569288101561279a565b604080519687526020870188905233908701527f000000000000000000000000000000000000000000000000000000000000000016949081906060820190565b9095508681813d831161202b575b61200d81836125bd565b810103126101fc575194600080516020612d4b833981519152611f95565b503d612003565b346101fc5760203660031901126101fc5760043560005260006020526020600160406000200154604051908152f35b346101fc5761206f366124dd565b61207a939193612978565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081811660009081526002602090815260408083207f0000000000000000000000000000000000000000000000000000000000000000808716855292529091205491949093909290916120f69116156125df565b6040516305bfbc3f60e11b8152956020878061211a85858b898b8d6004880161264a565b038160007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19586156104a2576020976000976122cf575b506001600160a01b0386811660008181526002808c5260408083208a861684528d5280832080546001600160a01b0319908116968e16968717909155918d52808320938352928c5282822080549091168417905591825260038a529020805460ff191660011790556121cd87612684565b604051936121da8561258a565b60018060a01b038816855260018060a01b0387168986015260018060a01b03861660408601526060850152608084015260a0830152151560c0820152600760e0820142815260018060a01b0386166000526004875261125b60c060406000209460018060a01b038151166001600160601b0360a01b8754161786556001860160018060a01b038b830151166001600160601b0360a01b8254161790556002860160018060a01b036040830151166001600160601b0360a01b825416179055606081015160038701556080810151600487015560a0810151600587015501511515600685019060ff801983541691151516179055565b6122e7919750883d8a116109f3576109e481836125bd565b958861215c565b346101fc5760003660031901126101fc576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101fc576020806003193601126101fc576004816001600160a01b036123586124b1565b16806000526003825261237260ff6040600020541661252e565b60405163ee27c68960e01b815292839182905afa9081156104a25760009161239e575b50604051908152f35b90508181813d83116123c4575b6123b581836125bd565b810103126101fc575182612395565b503d6123ab565b346101fc5760203660031901126101fc576101006001600160a01b03806123f06124b1565b166000526004602052604060002090808254169181600182015416916002820154166003820154600483015490600584015492600760ff60068701541695015495604051978852602088015260408701526060860152608085015260a0840152151560c083015260e0820152f35b346101fc5760203660031901126101fc576004359063ffffffff60e01b82168092036101fc57602091637965db0b60e01b81149081156124a0575b5015158152f35b6301ffc9a760e01b14905083612499565b600435906001600160a01b03821682036101fc57565b602435906001600160a01b03821682036101fc57565b60809060031901126101fc5760043590602435906044359060643580151581036101fc5790565b60609060031901126101fc576004356001600160a01b03811681036101fc57906024359060443590565b1561253557565b60405162461bcd60e51b815260206004820152602760248201527f444f444f504d4d496e746567726174696f6e3a20706f6f6c206e6f74207265676044820152661a5cdd195c995960ca1b6064820152608490fd5b610100810190811067ffffffffffffffff8211176125a757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176125a757604052565b156125e657565b60405162461bcd60e51b815260206004820152601f60248201527f444f444f504d4d496e746567726174696f6e3a20706f6f6c20657869737473006044820152606490fd5b908160209103126101fc57516001600160a01b03811681036101fc5790565b6001600160a01b0391821681529116602082015260408101919091526060810191909152608081019190915290151560a082015260c00190565b600554680100000000000000008110156125a75760018101806005558110156126ed5760056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b03909216919091179055565b634e487b7160e01b600052603260045260246000fd5b1561270a57565b606460405162461bcd60e51b815260206004820152602060248201527f444f444f504d4d496e746567726174696f6e3a20696e76616c696420706f6f6c6044820152fd5b1561275557565b60405162461bcd60e51b815260206004820152601f60248201527f444f444f504d4d496e746567726174696f6e3a207a65726f20616d6f756e74006044820152606490fd5b156127a157565b60405162461bcd60e51b815260206004820152602760248201527f444f444f504d4d496e746567726174696f6e3a20696e73756666696369656e74604482015266081bdd5d1c1d5d60ca1b6064820152608490fd5b60018060a01b0380911690600082815260206003815260409261281e60ff858520541661252e565b80600654169081612897575b5050808394600494519485809263ee27c68960e01b82525afa93841561288c57508193612858575b50505090565b9091809350813d8311612885575b61287081836125bd565b81010312612882575051388080612852565b80fd5b503d612866565b51913d9150823e3d90fd5b82908685526004825260448686209187516128b18161258a565b81845416815260e060078360018701541693848885015260028701541695868c8501526003810154606085015260048101546080850152600581015460a085015260ff600682015416151560c085015201549101528751948593849263a1547d1160e01b8452600484015260248301525afa839181612945575b50612937575b8061282a565b801561293157935050505090565b9091508281813d8311612971575b61295d81836125bd565b8101031261296d5751903861292b565b8380fd5b503d612953565b3360009081527f729ef9451dd492832bd2a98139702ced95dfa0cec7e99526dbbcb957abcbc47660205260409020547f6077685936c8169d09204a1d97db12e41713588c38e1d29a61867d3dcee98aff9060ff16156129d45750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff16156129d45750565b80600052600060205260406000203360005260205260ff60406000205416156129d45750565b600260015414612a63576002600155565b604051633ee5aeb560e01b8152600490fd5b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a081019181831067ffffffffffffffff8411176125a757612ace92604052612c0f565b565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014612b4957808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014612b495780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152608081019167ffffffffffffffff8311828410176125a757612ace926040525b60018060a01b031690600080826020829451910182865af13d15612cdb573d9067ffffffffffffffff8211612cc75790612c6b9160405191612c5b6020601f19601f84011601846125bd565b82523d84602084013e5b84612ce7565b908151918215159283612c9b575b505050612c835750565b60249060405190635274afe760e01b82526004820152fd5b819293509060209181010312612cc35760200151908115918215036128825750388080612c79565b5080fd5b634e487b7160e01b83526041600452602483fd5b612c6b90606090612c65565b90612d0e5750805115612cfc57805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580612d41575b612d1f575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612d1756fe300b4a9ac356114be2eaffe0f530cd615f14560df4b634adc11142d1358e8976a26469706673582212206bc529f69b2043c97f33a919ae153a90f113792becb18e3fe5272a441f00980364736f6c634300081600332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
|
|
"deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a71461245e575080630792d513146123cb5780630a6de2c91461233357806315fdffdf146122ee5780631cdd995f14612061578063248a9ca314612032578063275c725114611ee35780632f2ff15d14611ea457806336568abe14611e5d5780633b7d094614611ce557806341d1de9714611c8a5780634b515fbe14611c5f5780634bee939514611bb257806355776b77146119c057806356d735681461198557806358a6badd1461191e57806359916868146118d95780636010f2db1461178a578063634ac8fa146113e15780636382fc0c1461139c5780636f88a5a814610fd6578063776aa64914610e8757806381c4af5a14610e5e578063901754d714610e0e57806391d1485414610dc1578063989f95f214610c33578063a217fddf14610c17578063c699e63314610bd8578063c82ab87414610b93578063d01680df146109fa578063d27b7e6b14610641578063d547741f14610600578063d88ff1f414610538578063e015a3b8146104f3578063ec030776146104ae578063ec3c97c614610332578063f29486a1146102015763fef133e4146101c157600080fd5b346101fc5760003660031901126101fc5760206040517f0bf01987eb944ac9d01a98005777b55d68cdb9dea34d590e6dd77437b43d65638152f35b600080fd5b346101fc576020806003193601126101fc576101009061021f6124b1565b600060e060405161022f8161258a565b82815282858201528260408201528260608201528260808201528260a08201528260c0820152015260018060a01b03809116806000526003835261027a60ff6040600020541661252e565b600052600482526040600020604051916102938361258a565b8082541693848452816001840154169181850192835280600285015416906040860191825260038501549160608701928352600486015493608088019485528260058801549660a08a0197885260e0600760ff60068c0154169a60c08d019b15158c5201549a01998a526040519a8b52511690890152511660408701525160608601525160808501525160a084015251151560c08301525160e0820152f35b346101fc5761034036612504565b90610349612a52565b60018060a01b0392838116806000526020946003865261037060ff6040600020541661252e565b81600052600486526103c8848260026040600020015416946103b6847f000000000000000000000000000000000000000000000000000000000000000016809714612703565b6103c182151561274e565b3386612a75565b60405163d7a2e4c960e01b8152600481018590529486866024816000875af19586156104a257600096610465575b50600080516020612d4b833981519152916104166104569288101561279a565b604080519687526020870188905233908701527f000000000000000000000000000000000000000000000000000000000000000016949081906060820190565b0390a460018055604051908152f35b9095508681813d831161049b575b61047d81836125bd565b810103126101fc575194600080516020612d4b8339815191526103f6565b503d610473565b6040513d6000823e3d90fd5b346101fc5760003660031901126101fc576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101fc5760003660031901126101fc576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101fc5760003660031901126101fc57604051806005548083526020809301809160056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db09060005b868282106105e357868661059a828803836125bd565b604051928392818401908285525180915260408401929160005b8281106105c357505050500390f35b83516001600160a01b0316855286955093810193928101926001016105b4565b83546001600160a01b031685529093019260019283019201610584565b346101fc5760403660031901126101fc5761063f60043561061f6124c7565b9080600052600060205261063a600160406000200154612a2c565b612b4e565b005b346101fc5761064f366124dd565b61065a939193612978565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660009081526002602090815260408083207f0000000000000000000000000000000000000000000000000000000000000000851684529091529020546106cc9116156125df565b6040516305bfbc3f60e11b81529360208580610730858589897f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006004880161264a565b038160007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19384156104a2576020956000956109cb575b506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660008181526002808a5260408083207f0000000000000000000000000000000000000000000000000000000000000000861684528b528083208054958b166001600160a01b03199687168117909155918b52808320938352928a5282822080549094168117909355918252600388529020805460ff1916600117905561082385612684565b604051936108308561258a565b6001600160a01b038681168087527f000000000000000000000000000000000000000000000000000000000000000082168988019081527f000000000000000000000000000000000000000000000000000000000000000083166040808a0191825260608a0195865260808a0196875260a08a0197885297151560c08a019081524260e08b0190815260009485526004808e529990942099518a549086166001600160a01b0319918216178b55925160018b018054918716918516919091179055905160028a0180549190951692169190911790925591516003870155915193850193909355905160058401555160068301805460ff191691151560ff16919091179055600790519101556040513381526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116917f00000000000000000000000000000000000000000000000000000000000000008216918416907f55b6e041bb1679bf2b32c9252ad372f3459868b982e77a0ae577d59c947e3757908690a46040516001600160a01b039091168152f35b6109ec919550863d88116109f3575b6109e481836125bd565b81019061262b565b9386610772565b503d6109da565b346101fc57610a0836612504565b90610a11612a52565b60018060a01b03928381168060005260209460038652610a3860ff6040600020541661252e565b8160005260048652610a8a846040600020946103b6846001880154169685807f0000000000000000000000000000000000000000000000000000000000000000168099149182610b60575b5050612703565b604051630ccd5aff60e11b8152600481018590529486866024816000875af19586156104a257600096610b23575b50600080516020612d4b83398151915291610ad86104569288101561279a565b7f00000000000000000000000000000000000000000000000000000000000000001694610b06873388612bc3565b604080519182526020820188905233908201529081906060820190565b9095508681813d8311610b59575b610b3b81836125bd565b810103126101fc575194600080516020612d4b833981519152610ab8565b503d610b31565b6002919250015416857f00000000000000000000000000000000000000000000000000000000000000001614858c610a83565b346101fc5760003660031901126101fc576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101fc5760203660031901126101fc576001600160a01b03610bf96124b1565b166000526003602052602060ff604060002054166040519015158152f35b346101fc5760003660031901126101fc57602060405160008152f35b346101fc57610c4136612504565b9091610c4b612a52565b60018060a01b03908181168060005260209460038652610c7260ff6040600020541661252e565b8160005260048652610cf881604060002095610cc3816001890154169782807f000000000000000000000000000000000000000000000000000000000000000016809a149182610d8e575050612703565b610cce82151561274e565b7f000000000000000000000000000000000000000000000000000000000000000016943386612a75565b60405163d7a2e4c960e01b8152600481018290529486866024816000875af19586156104a257600096610d51575b50600080516020612d4b83398151915291610d466104569288101561279a565b610b06873388612bc3565b9095508681813d8311610d87575b610d6981836125bd565b810103126101fc575194600080516020612d4b833981519152610d26565b503d610d5f565b6002919250015416827f00000000000000000000000000000000000000000000000000000000000000001614828c610a83565b346101fc5760403660031901126101fc57610dda6124c7565b600435600052600060205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346101fc5760403660031901126101fc576020610e296124b1565b610e316124c7565b60018060a01b03809216600052600283528160406000209116600052825260406000205416604051908152f35b346101fc5760003660031901126101fc576006546040516001600160a01b039091168152602090f35b346101fc57610e9536612504565b90610e9e612a52565b60018060a01b03928381168060005260209460038652610ec560ff6040600020541661252e565b8160005260048652610f0b848260026040600020015416946103b6847f000000000000000000000000000000000000000000000000000000000000000016809714612703565b60405163d7a2e4c960e01b8152600481018590529486866024816000875af19586156104a257600096610f99575b50600080516020612d4b83398151915291610f596104569288101561279a565b604080519687526020870188905233908701527f000000000000000000000000000000000000000000000000000000000000000016949081906060820190565b9095508681813d8311610fcf575b610fb181836125bd565b810103126101fc575194600080516020612d4b833981519152610f39565b503d610fa7565b346101fc5760c03660031901126101fc57610fef6124b1565b610ff76124c7565b60a435151560a435036101fc5761100c612978565b6001600160a01b03821615611357576001600160a01b03811615611312576001600160a01b03828116908216146112cd576001600160a01b038281166000908152600260209081526040808320858516845290915290205461106f9116156125df565b6040516305bfbc3f60e11b8152916020838061109b60a43560843560643560443589896004880161264a565b038160007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19182156104a2576020936000936112ae575b506001600160a01b038281166000818152600280885260408083208686168452895280832080546001600160a01b0319908116968a16968717909155918952808320938352928852828220805490911684179055918252600386529020805460ff1916600117905561114e83612684565b60405161115a8161258a565b60018060a01b038416815260018060a01b0383168582015260018060a01b03821660408201526044356060820152606435608082015260843560a082015260a435151560c0820152600760e0820142815260018060a01b0386166000526004875261125b60c060406000209460018060a01b038151166001600160601b0360a01b8754161786556001860160018060a01b038b830151166001600160601b0360a01b8254161790556002860160018060a01b036040830151166001600160601b0360a01b825416179055606081015160038701556080810151600487015560a0810151600587015501511515600685019060ff801983541691151516179055565b519101556040513381526001600160a01b03918216928216918416907f55b6e041bb1679bf2b32c9252ad372f3459868b982e77a0ae577d59c947e3757908690a46040516001600160a01b039091168152f35b6112c6919350843d86116109f3576109e481836125bd565b91846110dd565b60405162461bcd60e51b815260206004820152601e60248201527f444f444f504d4d496e746567726174696f6e3a2073616d6520746f6b656e00006044820152606490fd5b60405162461bcd60e51b815260206004820152601e60248201527f444f444f504d4d496e746567726174696f6e3a207a65726f2071756f746500006044820152606490fd5b60405162461bcd60e51b815260206004820152601d60248201527f444f444f504d4d496e746567726174696f6e3a207a65726f20626173650000006044820152606490fd5b346101fc5760003660031901126101fc576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101fc576113ef366124dd565b6113fa939193612978565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660009081526002602090815260408083207f00000000000000000000000000000000000000000000000000000000000000008516845290915290205461146c9116156125df565b6040516305bfbc3f60e11b815293602085806114d0858589897f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006004880161264a565b038160007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19384156104a25760209560009561176b575b506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660008181526002808a5260408083207f0000000000000000000000000000000000000000000000000000000000000000861684528b528083208054958b166001600160a01b03199687168117909155918b52808320938352928a5282822080549094168117909355918252600388529020805460ff191660011790556115c385612684565b604051936115d08561258a565b6001600160a01b038681168087527f000000000000000000000000000000000000000000000000000000000000000082168988019081527f000000000000000000000000000000000000000000000000000000000000000083166040808a0191825260608a0195865260808a0196875260a08a0197885297151560c08a019081524260e08b0190815260009485526004808e529990942099518a549086166001600160a01b0319918216178b55925160018b018054918716918516919091179055905160028a0180549190951692169190911790925591516003870155915193850193909355905160058401555160068301805460ff191691151560ff16919091179055600790519101556040513381526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116917f00000000000000000000000000000000000000000000000000000000000000008216918416907f55b6e041bb1679bf2b32c9252ad372f3459868b982e77a0ae577d59c947e3757908690a46040516001600160a01b039091168152f35b611783919550863d88116109f3576109e481836125bd565b9386611512565b346101fc5761179836612504565b906117a1612a52565b60018060a01b039283811680600052602094600386526117c860ff6040600020541661252e565b816000526004865261180e848260016040600020015416946103b6847f000000000000000000000000000000000000000000000000000000000000000016809714612703565b604051630ccd5aff60e11b8152600481018590529486866024816000875af19586156104a25760009661189c575b50600080516020612d4b8339815191529161185c6104569288101561279a565b604080519687526020870188905233908701527f000000000000000000000000000000000000000000000000000000000000000016949081906060820190565b9095508681813d83116118d2575b6118b481836125bd565b810103126101fc575194600080516020612d4b83398151915261183c565b503d6118aa565b346101fc5760003660031901126101fc576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101fc5760203660031901126101fc576119376124b1565b61193f6129f2565b600680546001600160a01b0319166001600160a01b039290921691821790557ff0644f24b528059383242fef34ce7833ba032bbae737a91a4da30130ea2c4586600080a2005b346101fc5760003660031901126101fc5760206040517f6077685936c8169d09204a1d97db12e41713588c38e1d29a61867d3dcee98aff8152f35b346101fc576119ce36612504565b6119d6612a52565b611a9b8160018060a01b039485811695866000526003602052611a0060ff6040600020541661252e565b85151580611ba9575b611a129061274e565b866000526004602052604060002090611a928784604051611a328161258a565b848654168152846001870154169081602082015260e060078760028a0154169860408401998a526003810154606085015260048101546080850152600581015460a085015260ff600682015416151560c085015201549101523390612a75565b33915116612a75565b604051634c85b42560e01b8152336004820152916060836024816000885af19081156104a257600092600094600093611b43575b50947f4a1a2a6176e9646d9e3157f7c2ab3c499f18337c0b0828cfb28e0a61de4a11f783611b3f959697611b1b6040519283923397846040919493926060820195825260208201520152565b0390a360018055604051938493846040919493926060820195825260208201520152565b0390f35b9450915091506060833d606011611ba1575b81611b62606093836125bd565b810103126101fc5782516020840151604090940151909290917f4a1a2a6176e9646d9e3157f7c2ab3c499f18337c0b0828cfb28e0a61de4a11f7611acf565b3d9150611b55565b50821515611a09565b346101fc5760203660031901126101fc57600460406001600160a01b03611bd76124b1565b16806000526003602052611bf160ff83600020541661252e565b81516336223ce960e01b815292839182905afa80156104a257600090600090611c25575b6040809350519182526020820152f35b50506040813d604011611c57575b81611c40604093836125bd565b810103126101fc5780602060409251910151611c15565b3d9150611c33565b346101fc5760203660031901126101fc576020611c82611c7d6124b1565b6127f6565b604051908152f35b346101fc5760203660031901126101fc576004356005548110156101fc5760056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001546040516001600160a01b039091168152602090f35b346101fc576020806003193601126101fc576004611d016124b1565b91611d0a6129f2565b60018060a01b03809316928360005260038252611d2e60ff6040600020541661252e565b8360005282825260406000209060405190611d488261258a565b808354168252806001840154168483019281845260e0600784600288015416966040840197885260038101546060850152898101546080850152600581015460a085015260ff600682015416151560c08501520154910152600052600284526040600020818451166000528452806040600020936001600160601b0360a01b948581541690555116600052600284526040600020915116600052825260406000209081541690558260005260038152604060002060ff19815416905552600060076040822082815582600182015582600282015582600382015582600482015582600582015582600682015501557f4106dfdaa577573db51c0ca93f766dbedfa0758faa2e7f5bcdb7c142be803c3f600080a2005b346101fc5760403660031901126101fc57611e766124c7565b336001600160a01b03821603611e925761063f90600435612b4e565b60405163334bd91960e11b8152600490fd5b346101fc5760403660031901126101fc5761063f600435611ec36124c7565b90806000526000602052611ede600160406000200154612a2c565b612ad0565b346101fc57611ef136612504565b90611efa612a52565b60018060a01b03928381168060005260209460038652611f2160ff6040600020541661252e565b8160005260048652611f67848260016040600020015416946103b6847f000000000000000000000000000000000000000000000000000000000000000016809714612703565b604051630ccd5aff60e11b8152600481018590529486866024816000875af19586156104a257600096611ff5575b50600080516020612d4b83398151915291611fb56104569288101561279a565b604080519687526020870188905233908701527f000000000000000000000000000000000000000000000000000000000000000016949081906060820190565b9095508681813d831161202b575b61200d81836125bd565b810103126101fc575194600080516020612d4b833981519152611f95565b503d612003565b346101fc5760203660031901126101fc5760043560005260006020526020600160406000200154604051908152f35b346101fc5761206f366124dd565b61207a939193612978565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081811660009081526002602090815260408083207f0000000000000000000000000000000000000000000000000000000000000000808716855292529091205491949093909290916120f69116156125df565b6040516305bfbc3f60e11b8152956020878061211a85858b898b8d6004880161264a565b038160007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19586156104a2576020976000976122cf575b506001600160a01b0386811660008181526002808c5260408083208a861684528d5280832080546001600160a01b0319908116968e16968717909155918d52808320938352928c5282822080549091168417905591825260038a529020805460ff191660011790556121cd87612684565b604051936121da8561258a565b60018060a01b038816855260018060a01b0387168986015260018060a01b03861660408601526060850152608084015260a0830152151560c0820152600760e0820142815260018060a01b0386166000526004875261125b60c060406000209460018060a01b038151166001600160601b0360a01b8754161786556001860160018060a01b038b830151166001600160601b0360a01b8254161790556002860160018060a01b036040830151166001600160601b0360a01b825416179055606081015160038701556080810151600487015560a0810151600587015501511515600685019060ff801983541691151516179055565b6122e7919750883d8a116109f3576109e481836125bd565b958861215c565b346101fc5760003660031901126101fc576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101fc576020806003193601126101fc576004816001600160a01b036123586124b1565b16806000526003825261237260ff6040600020541661252e565b60405163ee27c68960e01b815292839182905afa9081156104a25760009161239e575b50604051908152f35b90508181813d83116123c4575b6123b581836125bd565b810103126101fc575182612395565b503d6123ab565b346101fc5760203660031901126101fc576101006001600160a01b03806123f06124b1565b166000526004602052604060002090808254169181600182015416916002820154166003820154600483015490600584015492600760ff60068701541695015495604051978852602088015260408701526060860152608085015260a0840152151560c083015260e0820152f35b346101fc5760203660031901126101fc576004359063ffffffff60e01b82168092036101fc57602091637965db0b60e01b81149081156124a0575b5015158152f35b6301ffc9a760e01b14905083612499565b600435906001600160a01b03821682036101fc57565b602435906001600160a01b03821682036101fc57565b60809060031901126101fc5760043590602435906044359060643580151581036101fc5790565b60609060031901126101fc576004356001600160a01b03811681036101fc57906024359060443590565b1561253557565b60405162461bcd60e51b815260206004820152602760248201527f444f444f504d4d496e746567726174696f6e3a20706f6f6c206e6f74207265676044820152661a5cdd195c995960ca1b6064820152608490fd5b610100810190811067ffffffffffffffff8211176125a757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176125a757604052565b156125e657565b60405162461bcd60e51b815260206004820152601f60248201527f444f444f504d4d496e746567726174696f6e3a20706f6f6c20657869737473006044820152606490fd5b908160209103126101fc57516001600160a01b03811681036101fc5790565b6001600160a01b0391821681529116602082015260408101919091526060810191909152608081019190915290151560a082015260c00190565b600554680100000000000000008110156125a75760018101806005558110156126ed5760056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b03909216919091179055565b634e487b7160e01b600052603260045260246000fd5b1561270a57565b606460405162461bcd60e51b815260206004820152602060248201527f444f444f504d4d496e746567726174696f6e3a20696e76616c696420706f6f6c6044820152fd5b1561275557565b60405162461bcd60e51b815260206004820152601f60248201527f444f444f504d4d496e746567726174696f6e3a207a65726f20616d6f756e74006044820152606490fd5b156127a157565b60405162461bcd60e51b815260206004820152602760248201527f444f444f504d4d496e746567726174696f6e3a20696e73756666696369656e74604482015266081bdd5d1c1d5d60ca1b6064820152608490fd5b60018060a01b0380911690600082815260206003815260409261281e60ff858520541661252e565b80600654169081612897575b5050808394600494519485809263ee27c68960e01b82525afa93841561288c57508193612858575b50505090565b9091809350813d8311612885575b61287081836125bd565b81010312612882575051388080612852565b80fd5b503d612866565b51913d9150823e3d90fd5b82908685526004825260448686209187516128b18161258a565b81845416815260e060078360018701541693848885015260028701541695868c8501526003810154606085015260048101546080850152600581015460a085015260ff600682015416151560c085015201549101528751948593849263a1547d1160e01b8452600484015260248301525afa839181612945575b50612937575b8061282a565b801561293157935050505090565b9091508281813d8311612971575b61295d81836125bd565b8101031261296d5751903861292b565b8380fd5b503d612953565b3360009081527f729ef9451dd492832bd2a98139702ced95dfa0cec7e99526dbbcb957abcbc47660205260409020547f6077685936c8169d09204a1d97db12e41713588c38e1d29a61867d3dcee98aff9060ff16156129d45750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff16156129d45750565b80600052600060205260406000203360005260205260ff60406000205416156129d45750565b600260015414612a63576002600155565b604051633ee5aeb560e01b8152600490fd5b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a081019181831067ffffffffffffffff8411176125a757612ace92604052612c0f565b565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014612b4957808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014612b495780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152608081019167ffffffffffffffff8311828410176125a757612ace926040525b60018060a01b031690600080826020829451910182865af13d15612cdb573d9067ffffffffffffffff8211612cc75790612c6b9160405191612c5b6020601f19601f84011601846125bd565b82523d84602084013e5b84612ce7565b908151918215159283612c9b575b505050612c835750565b60249060405190635274afe760e01b82526004820152fd5b819293509060209181010312612cc35760200151908115918215036128825750388080612c79565b5080fd5b634e487b7160e01b83526041600452602483fd5b612c6b90606090612c65565b90612d0e5750805115612cfc57805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580612d41575b612d1f575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612d1756fe300b4a9ac356114be2eaffe0f530cd615f14560df4b634adc11142d1358e8976a26469706673582212206bc529f69b2043c97f33a919ae153a90f113792becb18e3fe5272a441f00980364736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|