5964 lines
366 KiB
JSON
5964 lines
366 KiB
JSON
{
|
|
"contractName": "DODO",
|
|
"abi": [
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "buyer",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "receiveBase",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "payQuote",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "BuyBaseToken",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "maintainer",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "isBaseToken",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "ChargeMaintainerFee",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "payer",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "isBaseToken",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "ChargePenalty",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "user",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "baseTokenAmount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "quoteTokenAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "ClaimAssets",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "payer",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "receiver",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "isBaseToken",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "lpTokenAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "Deposit",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "isBaseToken",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "Donate",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "previousOwner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "newOwner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "OwnershipTransferPrepared",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "previousOwner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "newOwner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "OwnershipTransferred",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "seller",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "payBase",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "receiveQuote",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "SellBaseToken",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "oldGasPriceLimit",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "newGasPriceLimit",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "UpdateGasPriceLimit",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "oldK",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "newK",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "UpdateK",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "oldLiquidityProviderFeeRate",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "newLiquidityProviderFeeRate",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "UpdateLiquidityProviderFeeRate",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "oldMaintainerFeeRate",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "newMaintainerFeeRate",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "UpdateMaintainerFeeRate",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "payer",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "receiver",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "isBaseToken",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "lpTokenAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "Withdraw",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_BASE_BALANCE_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_BASE_BALANCE_LIMIT_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_BASE_CAPITAL_RECEIVE_QUOTE_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_BASE_CAPITAL_TOKEN_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_BASE_TOKEN_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_BUYING_ALLOWED_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "_CLAIMED_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_CLOSED_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_DEPOSIT_BASE_ALLOWED_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_DEPOSIT_QUOTE_ALLOWED_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_GAS_PRICE_LIMIT_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_K_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_LP_FEE_RATE_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_MAINTAINER_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_MT_FEE_RATE_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_NEW_OWNER_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_ORACLE_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_OWNER_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_QUOTE_BALANCE_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_QUOTE_BALANCE_LIMIT_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_QUOTE_CAPITAL_RECEIVE_BASE_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_QUOTE_CAPITAL_TOKEN_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_QUOTE_TOKEN_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_R_STATUS_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "enum Types.RStatus",
|
|
"name": "",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_SELLING_ALLOWED_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_SUPERVISOR_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_TARGET_BASE_TOKEN_AMOUNT_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_TARGET_QUOTE_TOKEN_AMOUNT_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "_TRADE_ALLOWED_",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "maxPayQuote",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "data",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "buyBaseToken",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "claimAssets",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "claimOwnership",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "depositBase",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "depositBaseTo",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "depositQuote",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "depositQuoteTo",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "disableBaseDeposit",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "disableBuying",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "disableQuoteDeposit",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "disableSelling",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "disableTrading",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "donateBaseToken",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "donateQuoteToken",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "enableBaseDeposit",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "enableBuying",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "enableQuoteDeposit",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "enableSelling",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "enableTrading",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "finalSettlement",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "lp",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getBaseCapitalBalanceOf",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getExpectedTarget",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "baseTarget",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "quoteTarget",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "lp",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getLpBaseBalance",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "lpBalance",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "lp",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getLpQuoteBalance",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "lpBalance",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getMidPrice",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "midPrice",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getOraclePrice",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "lp",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getQuoteCapitalBalanceOf",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getTotalBaseCapital",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getTotalQuoteCapital",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "getWithdrawBasePenalty",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "penalty",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "getWithdrawQuotePenalty",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "penalty",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "queryBuyBaseToken",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "payQuote",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "querySellBaseToken",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "receiveQuote",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "retrieve",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "minReceiveQuote",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "data",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "sellBaseToken",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "newBaseBalanceLimit",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setBaseBalanceLimit",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "newGasPriceLimit",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setGasPriceLimit",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "newK",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setK",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "newLiquidityPorviderFeeRate",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setLiquidityProviderFeeRate",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "newMaintainer",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "setMaintainer",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "newMaintainerFeeRate",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setMaintainerFeeRate",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "newOracle",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "setOracle",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "newQuoteBalanceLimit",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setQuoteBalanceLimit",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "newSupervisor",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "setSupervisor",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "newOwner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "transferOwnership",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "version",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "pure",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "withdrawAllBase",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "withdrawAllBaseTo",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "withdrawAllQuote",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "withdrawAllQuoteTo",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "withdrawBase",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "withdrawBaseTo",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "withdrawQuote",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "withdrawQuoteTo",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "owner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "supervisor",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "maintainer",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "baseToken",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "quoteToken",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "oracle",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "lpFeeRate",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "mtFeeRate",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "k",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "gasPriceLimit",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "init",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"receiveBase\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payQuote\",\"type\":\"uint256\"}],\"name\":\"BuyBaseToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"maintainer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ChargeMaintainerFee\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ChargePenalty\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseTokenAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"quoteTokenAmount\",\"type\":\"uint256\"}],\"name\":\"ClaimAssets\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lpTokenAmount\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"}],\"name\":\"Donate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payBase\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"receiveQuote\",\"type\":\"uint256\"}],\"name\":\"SellBaseToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldGasPriceLimit\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newGasPriceLimit\",\"type\":\"uint256\"}],\"name\":\"UpdateGasPriceLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldK\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newK\",\"type\":\"uint256\"}],\"name\":\"UpdateK\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldLiquidityProviderFeeRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newLiquidityProviderFeeRate\",\"type\":\"uint256\"}],\"name\":\"UpdateLiquidityProviderFeeRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldMaintainerFeeRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMaintainerFeeRate\",\"type\":\"uint256\"}],\"name\":\"UpdateMaintainerFeeRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBaseToken\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lpTokenAmount\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_BASE_BALANCE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_BALANCE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_CAPITAL_RECEIVE_QUOTE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BASE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_BUYING_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_CLAIMED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_CLOSED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEPOSIT_BASE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_DEPOSIT_QUOTE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_GAS_PRICE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_K_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_LP_FEE_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_MAINTAINER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_MT_FEE_RATE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_NEW_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_ORACLE_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_BALANCE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_BALANCE_LIMIT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_RECEIVE_BASE_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_CAPITAL_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_QUOTE_TOKEN_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_R_STATUS_\",\"outputs\":[{\"internalType\":\"enum Types.RStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_SELLING_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_SUPERVISOR_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TARGET_BASE_TOKEN_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TARGET_QUOTE_TOKEN_AMOUNT_\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_TRADE_ALLOWED_\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPayQuote\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"buyBaseToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimAssets\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositBase\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositBaseTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositQuote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositQuoteTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableBaseDeposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableBuying\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableQuoteDeposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableSelling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableTrading\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"donateBaseToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"donateQuoteToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableBaseDeposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableBuying\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableQuoteDeposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableSelling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableTrading\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"finalSettlement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getBaseCapitalBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExpectedTarget\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"baseTarget\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quoteTarget\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getLpBaseBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lpBalance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getLpQuoteBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lpBalance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMidPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"midPrice\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOraclePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"lp\",\"type\":\"address\"}],\"name\":\"getQuoteCapitalBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalBaseCapital\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalQuoteCapital\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getWithdrawBasePenalty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"penalty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getWithdrawQuotePenalty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"penalty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"supervisor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"maintainer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"baseToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"quoteToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lpFeeRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mtFeeRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"k\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPriceLimit\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"queryBuyBaseToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"payQuote\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"querySellBaseToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"receiveQuote\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"retrieve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minReceiveQuote\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"sellBaseToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBaseBalanceLimit\",\"type\":\"uint256\"}],\"name\":\"setBaseBalanceLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newGasPriceLimit\",\"type\":\"uint256\"}],\"name\":\"setGasPriceLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newK\",\"type\":\"uint256\"}],\"name\":\"setK\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newLiquidityPorviderFeeRate\",\"type\":\"uint256\"}],\"name\":\"setLiquidityProviderFeeRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newMaintainer\",\"type\":\"address\"}],\"name\":\"setMaintainer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newMaintainerFeeRate\",\"type\":\"uint256\"}],\"name\":\"setMaintainerFeeRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOracle\",\"type\":\"address\"}],\"name\":\"setOracle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newQuoteBalanceLimit\",\"type\":\"uint256\"}],\"name\":\"setQuoteBalanceLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newSupervisor\",\"type\":\"address\"}],\"name\":\"setSupervisor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawAllBase\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"withdrawAllBaseTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawAllQuote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"withdrawAllQuoteTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawBase\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawBaseTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawQuote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawQuoteTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"DODO\"},\"userdoc\":{\"methods\":{},\"notice\":\"Entrance for users\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/dodo.sol\":\"DODO\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/dodo.sol\":{\"keccak256\":\"0xc5fda191b60307ecf600a789c59de657f9b7ad83f3d8e905eb4d6eef15519fd8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://06da52e9af78686a9ff9d2182480f992f731ec8b3184ee8ccb7cd31a2e5c88f7\",\"dweb:/ipfs/QmbmGLkmXAzP9jqp6YjNmi1bzdnnMwo4jU6MiSH65UEHzf\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Admin.sol\":{\"keccak256\":\"0x04a6c300c659e67733e5d89e709e052f0d095a5e825a467410d49ef6691fae56\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f6d4417d9c9bb16431ab7622d6e0f8e8f2233fbad1e71d6ff7971926d9470807\",\"dweb:/ipfs/QmXqLYnbs6Yuhhg9knkNx5AvZWqxkvZsVKmPUJo2j9FqtE\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/DODOLpToken.sol\":{\"keccak256\":\"0x93bb74398b96b44febba31ad63435edae743142088311a325215aaa34d35b512\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://0991fee8f385b3266ff39672b209906557d1be7308b5a35749f3f8453f427d2b\",\"dweb:/ipfs/Qmf8sKLSQkcniYin94QfNGc8GLMaVrLzQUq2grV5Hu7JyU\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/LiquidityProvider.sol\":{\"keccak256\":\"0x1bbb3571a539c9098a617410934ef589e40c6a910f155c31ff0680b2d754c3a9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ec97b6eb2b09157237590eae3c7b9b34720c8cf8b392d78aa1ef41c1c543c1ed\",\"dweb:/ipfs/QmYLVFUrD3fbgHFyhWTPmqyS41SDi8kyegS4MpVMdDyr9V\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Pricing.sol\":{\"keccak256\":\"0xaec47be06aa7f8994923c80f2c2318304423666300a48f03a43265787f27c708\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e187f46639dd1127abc81439896e67e21338e9eee8707996606b0c9c8ede68a1\",\"dweb:/ipfs/QmPSfPbZuyM3haHZtWVFknZLAMqg2Jy613jQ36JGuCm7LS\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Settlement.sol\":{\"keccak256\":\"0x8167f472615dc95cf743254785eeef730a0a3b753f05f5b64391fbb9992c8ab6\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3e2a25e398638f4bbecf434cf9b8b608c34a1271c051ee7e411b6c2c32702439\",\"dweb:/ipfs/QmUQmysLQ1k8uBWGzsTdmGCqyWQhZ4xtzPWAfsALGWYLPh\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol\":{\"keccak256\":\"0xbf15f2a72d59bbf0ed32b2a24fc4a68d45ffaa60dd2b2c1cc555d03ec1cd2f0a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7289884a2a8939295c4f61aeb7754bd3ce49e9d09188a1eddb762342589f36be\",\"dweb:/ipfs/QmaHYH51wieAyxBDASyHyfYSeu6UJNV7adD3AceeZXCgcZ\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Trader.sol\":{\"keccak256\":\"0x5646e8b46c11ec0405e6111d3ef46019235694c6940d3bc1eed20873ed545498\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5cc7c25e66cec9cee54e4dbcb48b8022391f4566b94e32d5ce8fd2e278cdc7b8\",\"dweb:/ipfs/QmVR9sWfVtnEyBhEPSppidiAdE9efTe5FcEZtzfUFXcbcZ\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOCallee.sol\":{\"keccak256\":\"0x229c6157d9f467f52d98634966a88fce7c7d68d1b7ee5c4897957b3bc33ee2c5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d9ca56838de93c5727da081665c37fb7e4448cc584e3ff72f5d9867775c0ee5f\",\"dweb:/ipfs/QmTVeQ8EJqnrSYsu4GU4jhaUzW9FC45fAoXKHniBNXNaZs\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IDODOLpToken.sol\":{\"keccak256\":\"0x2183977c7a3cf5aa8d2f56d2167bf59515e34a8e4ebd2402efa85b612631955f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://61766578f8d1bef7f51912a5327e8d4e95e3d9adb509e9486b4e2c8cf179f5e6\",\"dweb:/ipfs/QmXJRK4JKMrJkdn7BFVueoNRixsu26shnX3Dxeb5T9JKK4\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol\":{\"keccak256\":\"0x40355eddd56b5a9ac760c5a056e135946b372b724fb632415792ad82c60a9ac5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e932da3bb19bdd0a7b17715099bc419f087cbf06809885fd98a7a35574387e\",\"dweb:/ipfs/Qmdv97dz4214Xrbb8xGbuYPJtvmqAoUcXuSCFgA8NzBUsg\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IOracle.sol\":{\"keccak256\":\"0xed4a31155c30a764366aba2244e42406269e59618088f93c02f1b4c9fec9e53c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://bd3d50110c9120d942f7713e1cfced848ba7721ea336b2d9c4a87a6eb2a82ca9\",\"dweb:/ipfs/QmTYFeDcAyA2JpfoL1LsGLgj4TeRJxNV1rM27vdcaZSwpF\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DODOMath.sol\":{\"keccak256\":\"0xe3f63c53706f21ad68ebeff69321682ffa83bb0552db7e4453dff9772724f657\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://64e385f8c3fbe9e485d0b1b0f90f9621bf50fe02ee7cb95a44828a255db3581f\",\"dweb:/ipfs/QmNesw9cspw1fDDumDy1BSrCeGVij1BAfAVXpfajKHGUcn\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/DecimalMath.sol\":{\"keccak256\":\"0x9a093cbac4e37ed4ee5e27495dae08754bbfec81f7c0ceb57a5a7ac4f362208f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1ddd9e5de1c555f0d1232e148fe18574e6adaa348e792844d9011bbd39bf908f\",\"dweb:/ipfs/QmSgZNwPNqCrQC4kJNdwH3iQNasbTfw2cbTtAtNVcpqnYc\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol\":{\"keccak256\":\"0xf462d86a85221f424c5a40f3c0d4a699c72a61b31ed07091ffb0e0b28b3cd137\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3d92b79f4527b3d7812395c41e5d0786309a121b99af3bff5cd7663f7255d335\",\"dweb:/ipfs/QmYkQANWtKsJNHKeD6PrtUFeC3D6uWAxhXjB97eBHwqtzK\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol\":{\"keccak256\":\"0xb7a2ca6570834e4784e86d19fd5a4b6b1eff22a4586dc240659943396a365aa5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5855a493c78e787d7effd87d9c661acbcd19ca1e1ba72dbeaa91c3c8db29cbb4\",\"dweb:/ipfs/QmSddEexZ5okMatgoQ5JZRoJqe7BwsJwwWA2o1kKx7vbTH\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/ReentrancyGuard.sol\":{\"keccak256\":\"0xc9c3fc946350fd72083a9d5b1327ff923533ef37b054bc7b6007562b20b0faaf\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc140417457139fb240427629673bfaf970c5d4568ad1cfe582764c6e4855bbb\",\"dweb:/ipfs/Qmd7ESYe5kyM6NYiSzeFE74f1YGGPXzpdVd5qnYg2AvgH8\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeERC20.sol\":{\"keccak256\":\"0xe11bb64537b764f7b0b64f817ffa0b4b278c2017474ff985428225b3f0928295\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c756ca959d2326d58ed49b8a2d39100866197596ba09240e4f1bf861399a6e96\",\"dweb:/ipfs/QmdgzWZNT614vRnb5zsDva91bkLpvZmCVV5d6xetqsyedR\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/SafeMath.sol\":{\"keccak256\":\"0x57d750628881687f826b54f60cbfd46c1a172433eed892bbb123f91869886af1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b40bd7946010ddae9679f36630510217dcaa9cb8643824f9edc8ef52bda95717\",\"dweb:/ipfs/QmZSjpfUGyrmokZyaMc74a8h6zy2qFVECPVP8VfTvzNEFb\"]},\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol\":{\"keccak256\":\"0x0aebcc897b4de833e87e46a11e5a70d2b6e1d2fd99ebdf9e32e6421924f18b15\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a1098dace4f0664b0e3f5c3b6ce535ad2aba52e68fb6d1ea94b09debc06ed33c\",\"dweb:/ipfs/QmRbiq7M3Y8utAXaPWmVooGmoYF27N5dKVn6QYTaDFwqdP\"]}},\"version\":1}",
|
|
"bytecode": "0x608060405234801561001057600080fd5b50615bc5806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620005205760003560e01c80638a8c523c11620002a9578063c59203af1162000171578063ec2fd46d11620000e1578063f2220416116200009f578063f222041614620009fe578063f2fde38b1462000a15578063f3ae6c5f1462000a2c578063f67ed4481462000a43578063f98bea151462000a5a578063ffa642251462000a715762000520565b8063ec2fd46d14620009a5578063ed0aa42814620009af578063ee27c68914620009c6578063ee5150b314620009d0578063f00f9a0914620009e75762000520565b8063d4b97046116200012f578063d4b970461462000966578063d689107c1462000970578063dd58b41c146200097a578063e67ce7061462000984578063eab5d20e146200099b5762000520565b8063c59203af1462000934578063c5bbffe8146200093e578063c6b73cf91462000948578063cc062b581462000952578063d47eaa37146200095c5762000520565b8063a3161a561162000219578063aceecbc811620001d7578063aceecbc814620008de578063b2094fd314620008e8578063bc7d679d14620008f2578063c0a5f6ff14620008fc578063c0ffa1781462000913578063c3a2a665146200091d5762000520565b8063a3161a56146200089f578063a598aca714620008a9578063aa06ce9b14620008b3578063ab44a7a314620008ca578063ac1fbc9814620008d45762000520565b8063947cf92b1162000267578063947cf92b146200083957806395faa5f6146200085057806397316ad814620008675780639b020fba146200087e578063a2801e1614620008885762000520565b80638a8c523c14620007ed5780638dae733314620007f75780638ff5e742146200080e57806390cbf82214620008185780639299eb3014620008225762000520565b806336ac41a811620003ed578063648a4fac116200035d578063796da7af116200031b578063796da7af146200078a5780637adbf97314620007945780637aed942d14620007ab5780637c9b8e8914620007c25780638456db1514620007cc578063892daf0514620007d65762000520565b8063648a4fac146200072f57806367de8be9146200073957806368be20ad14620007505780636ec6a58d146200077657806373a2ab7c14620007805762000520565b80634de4527e11620003ab5780634de4527e14620006e35780634e71e0c814620006ed57806354fd4d5014620006f75780635bb7552a14620007015780635f179f6414620007185762000520565b806336ac41a814620006a4578063387b0c1114620006ae5780633960f14214620006c55780634322ec8314620006cf5780634a248d2a14620006d95762000520565b80631769ddaa11620004955780631f3c156e11620004535780631f3c156e146200064e578063245c96851462000658578063247f993b146200066257806327bed8ee146200066c5780632aa82c65146200068357806336a53bbb146200068d5762000520565b80631769ddaa14620005f357806317700f0114620005fd57806317be952e146200060757806318c0bbe414620006205780631e34b9cc14620006375762000520565b8063108db74411620004e3578063108db74414620005985780631184d8be14620005af57806313c5762414620005b957806313ea5d2914620005c357806316048bc414620005da5762000520565b806304512dc414620005255780630923160214620005545780630c9f7bd0146200056d5780630cd1667d14620005845780630e6518e9146200058e575b600080fd5b6200053c62000536366004620041de565b62000a8b565b6040516200054b919062004afb565b60405180910390f35b6200056b62000565366004620042fb565b62000c3d565b005b6200053c6200057e366004620042fb565b62000cc2565b6200053c62000db7565b6200053c62000e3e565b6200053c620005a9366004620042ac565b62000e44565b6200056b62001067565b6200056b620010d6565b6200056b620005d4366004620041de565b62001128565b620005e462001177565b6040516200054b9190620043eb565b6200053c62001186565b6200056b6200118c565b62000611620011de565b6040516200054b9190620044b5565b6200053c62000631366004620042fb565b620011e7565b6200053c62000648366004620041de565b62001200565b6200056b62001379565b6200053c62001670565b6200056b62001676565b6200053c6200067d366004620042fb565b620016c5565b6200053c620016d9565b6200053c6200069e366004620041de565b6200171f565b6200056b62001779565b6200056b620006bf366004620042fb565b620017e8565b620005e46200184f565b620005e46200185e565b620005e46200186d565b6200053c6200187c565b6200056b62001882565b6200053c62001913565b6200056b62000712366004620042fb565b62001918565b6200053c62000729366004620042ac565b62001995565b6200056b62001af4565b6200056b6200074a366004620042fb565b62001c24565b6200076762000761366004620041de565b62001c9d565b6040516200054b91906200443c565b6200076762001cb2565b620005e462001cc2565b6200053c62001cd1565b6200056b620007a5366004620041de565b62001d17565b6200053c620007bc366004620041de565b62001d66565b6200053c62001ded565b620005e462001df3565b6200056b620007e7366004620042fb565b62001e02565b6200056b62001e61565b6200053c620008083660046200432d565b62001ed0565b620007676200218e565b6200056b6200219c565b6200056b62000833366004620041de565b62002205565b6200053c6200084a366004620042ac565b62002254565b6200053c62000861366004620041de565b62002439565b6200056b62000878366004620042fb565b6200247e565b6200053c620024dd565b6200053c62000899366004620042fb565b620024e3565b62000767620024f0565b62000767620024f9565b6200053c620008c4366004620042ac565b62002509565b6200053c6200264a565b620005e462002650565b6200056b6200265f565b6200053c620026af565b6200056b620026b5565b6200053c6200090d366004620042fb565b62002707565b6200053c62002715565b6200056b6200092e366004620042ac565b6200271b565b6200053c6200290a565b6200076762002917565b6200053c62002927565b6200056b6200292d565b6200053c62002998565b620005e4620029a5565b620005e4620029b4565b62000767620029c3565b6200053c620009953660046200432d565b620029d3565b6200053c62002c68565b6200053c62002c6e565b6200056b620009c0366004620042fb565b62002c74565b6200053c62002ccb565b6200053c620009e1366004620042fb565b62002ddc565b6200056b620009f8366004620041fc565b62002e8b565b6200056b62000a0f366004620042fb565b62003095565b6200056b62000a26366004620041de565b6200310e565b6200053c62000a3d366004620042fb565b620031bf565b6200053c62000a54366004620041de565b620031cd565b6200053c62000a6b366004620042fb565b62003200565b62000a7b6200320e565b6040516200054b92919062004b14565b600154600090600160a01b900460ff161562000ac45760405162461bcd60e51b815260040162000abb90620045d7565b60405180910390fd5b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff161562000b035760405162461bcd60e51b815260040162000abb9062004862565b600062000b10336200171f565b9050600062000b1f33620031cd565b9050600062000b2e8362000cc2565b90508281111562000b535760405162461bcd60e51b815260040162000abb906200483a565b60105462000b68908463ffffffff620032e316565b60105562000b7733836200330e565b62000b948562000b8e858463ffffffff620032e316565b6200337a565b62000b9f81620033b5565b846001600160a01b0316336001600160a01b031660008051602062005b508339815191526000868660405162000bd89392919062004457565b60405180910390a3336001600160a01b031660008051602062005b7083398151915260008360405162000c0d92919062004447565b60405180910390a262000c27838263ffffffff620032e316565b6001805460ff60a01b1916905595945050505050565b6006546001600160a01b031633148062000c6157506000546001600160a01b031633145b62000c805760405162461bcd60e51b815260040162000abb90620046f6565b7f808f99cfd15f1be6019f93dc76c81d5bd82e0b3e0b3d23a54f5a2e647a6cc3cc6002548260405162000cb592919062004b14565b60405180910390a1600255565b600060125482111562000ce95760405162461bcd60e51b815260040162000abb90620044ca565b6002600e5460ff16600281111562000cfd57fe5b141562000dae57600062000d1f600f54601154620032e390919063ffffffff16565b9050600062000d2d62001cd1565b9050600062000d3d83836200340d565b9050600062000d52601254600d54846200343a565b9050600062000d7b62000d7188601254620032e390919063ffffffff16565b600d54856200343a565b905062000da162000d93828963ffffffff620034f116565b839063ffffffff620032e316565b9550505050505062000db2565b5060005b919050565b601354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801562000dfd57600080fd5b505afa15801562000e12573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e38919062004314565b90505b90565b60165481565b600154600090600160a01b900460ff161562000e745760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff161562000eb35760405162461bcd60e51b815260040162000abb9062004862565b600062000ebf6200320e565b915050600062000ece620016d9565b90506000811162000ef35760405162461bcd60e51b815260040162000abb90620045fa565b600062000f198362000f0c878563ffffffff6200352016565b9063ffffffff6200356016565b905062000f2633620031cd565b81111562000f485760405162461bcd60e51b815260040162000abb90620046b3565b600062000f558662000cc2565b905085811062000f795760405162461bcd60e51b815260040162000abb906200483a565b60105462000f8e908763ffffffff620032e316565b60105562000f9d33836200330e565b62000fb48762000b8e888463ffffffff620032e316565b62000fbf81620033b5565b6001600160a01b0387163360008051602062005b50833981519152600062000fee8a8663ffffffff620032e316565b86604051620010009392919062004457565b60405180910390a3336001600160a01b031660008051602062005b708339815191526000836040516200103592919062004447565b60405180910390a26200104f868263ffffffff620032e316565b6001805460ff60a01b19169055979650505050505050565b6000546001600160a01b03163314620010945760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620010c15760405162461bcd60e51b815260040162000abb9062004862565b6001805460ff60c01b1916600160c01b179055565b6006546001600160a01b0316331480620010fa57506000546001600160a01b031633145b620011195760405162461bcd60e51b815260040162000abb90620046f6565b6001805460ff60c01b19169055565b6000546001600160a01b03163314620011555760405162461bcd60e51b815260040162000abb90620048d9565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b60055481565b6006546001600160a01b0316331480620011b057506000546001600160a01b031633145b620011cf5760405162461bcd60e51b815260040162000abb90620046f6565b6001805460ff60c81b19169055565b600e5460ff1681565b6000620011f48262003592565b50939695505050505050565b600154600090600160a01b900460ff1615620012305760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff16156200126f5760405162461bcd60e51b815260040162000abb9062004862565b60006200127c3362002439565b905060006200128b3362001d66565b905060006200129a8362002ddc565b905082811115620012bf5760405162461bcd60e51b815260040162000abb906200483a565b600f54620012d4908463ffffffff620032e316565b600f55620012e3338362003705565b6200130085620012fa858463ffffffff620032e316565b62003739565b6200130b8162003774565b846001600160a01b0316336001600160a01b031660008051602062005b5083398151915260018686604051620013449392919062004457565b60405180910390a3336001600160a01b031660008051602062005b7083398151915260018360405162000c0d92919062004447565b600154600160a01b900460ff1615620013a65760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff16620013e45760405162461bcd60e51b815260040162000abb9062004aa6565b3360009081526017602052604090205460ff1615620014175760405162461bcd60e51b815260040162000abb9062004a7d565b336000818152601760205260408120805460ff19166001179055906200143d90620031cd565b905060006200144c3362001d66565b9050600082156200148a576200148762001465620016d9565b6010546200147a908663ffffffff6200352016565b9063ffffffff620037c116565b90505b60008215620014b957620014b6620014a162000db7565b600f546200147a908663ffffffff6200352016565b90505b601054620014ce908363ffffffff620032e316565b601055600f54620014e6908263ffffffff620032e316565b600f819055506200150c620014fe846015546200340d565b839063ffffffff620034f116565b91506200152e62001520856016546200340d565b829063ffffffff620034f116565b90506200153c338262003739565b6200154833836200337a565b601354604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906200157c9033908790600401620043ff565b600060405180830381600087803b1580156200159757600080fd5b505af1158015620015ac573d6000803e3d6000fd5b5050601454604051632770a7eb60e21b81526001600160a01b039091169250639dc29fac9150620015e49033908890600401620043ff565b600060405180830381600087803b158015620015ff57600080fd5b505af115801562001614573d6000803e3d6000fd5b50505050336001600160a01b03167fbe5f7fe66d16c6a87bb5b8b08a96634fe4f1c2bac9e5e413efe41a782d4d0c4382846040516200165592919062004b14565b60405180910390a2505050506001805460ff60a01b19169055565b60105481565b6006546001600160a01b03163314806200169a57506000546001600160a01b031633145b620016b95760405162461bcd60e51b815260040162000abb90620046f6565b6003805460ff19169055565b6000620016d3338362002509565b92915050565b601454604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801562000dfd57600080fd5b6000806200172c620016d9565b905060006200173a6200320e565b915050816200174f5760009250505062000db2565b62001771826200147a836200176488620031cd565b9063ffffffff6200352016565b949350505050565b6000546001600160a01b03163314620017a65760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620017d35760405162461bcd60e51b815260040162000abb9062004862565b6001805460ff60b81b1916600160b81b179055565b600154600160a01b900460ff1615620018155760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b179055620018343382620037ef565b6200183f81620033b5565b506001805460ff60a01b19169055565b6006546001600160a01b031681565b6007546001600160a01b031681565b6008546001600160a01b031681565b60025481565b6001546001600160a01b03163314620018af5760405162461bcd60e51b815260040162000abb906200451e565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606590565b6000546001600160a01b03163314620019455760405162461bcd60e51b815260040162000abb90620048d9565b7f3ce6ea91adda496b7a0546fa6558e5b52c3a509de6015820efb00ca4020e0a07600b54826040516200197a92919062004b14565b60405180910390a1600b819055620019916200385d565b5050565b600154600090600160a01b900460ff1615620019c55760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b81b900460ff1662001a035760405162461bcd60e51b815260040162000abb90620045a0565b600062001a0f6200320e565b915050600062001a1e620016d9565b9050838162001a415762001a39858463ffffffff620034f116565b905062001a62565b821562001a625762001a5f836200147a878563ffffffff6200352016565b90505b62001a6e3386620037ef565b62001a7a8682620038f2565b60105462001a8f908663ffffffff620034f116565b6010556040516001600160a01b0387169033907f18081cde2fa64894914e1080b98cca17bb6d1acf633e57f6e26ebdb945ad830b9062001ad6906000908a90879062004457565b60405180910390a36001805460ff60a01b1916905595945050505050565b6000546001600160a01b0316331462001b215760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff161562001b4e5760405162461bcd60e51b815260040162000abb9062004862565b6001805462ffffff60b81b1960ff60b01b19909116600160b01b17169055600062001b7862000db7565b9050600062001b86620016d9565b9050601054601254111562001bc857600062001bb0601054601254620032e390919063ffffffff16565b905062001bbe818462003926565b6015555062001bcf565b6012546010555b600f54601154111562001c0f57600062001bf7600f54601154620032e390919063ffffffff16565b905062001c05818362003926565b6016555062001c16565b601154600f555b5050600e805460ff19169055565b6000546001600160a01b0316331462001c515760405162461bcd60e51b815260040162000abb90620048d9565b7f023a40bebf7ac113f81c3d628073246cf9e0bc49980a9d6a9531498ce9e3dd1c600d548260405162001c8692919062004b14565b60405180910390a1600d819055620019916200385d565b60176020526000908152604090205460ff1681565b600154600160b01b900460ff1681565b600a546001600160a01b031681565b600a5460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca916004808301926020929190829003018186803b15801562000dfd57600080fd5b6000546001600160a01b0316331462001d445760405162461bcd60e51b815260040162000abb90620048d9565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6013546040516370a0823160e01b81526000916001600160a01b0316906370a082319062001d99908590600401620043eb565b60206040518083038186803b15801562001db257600080fd5b505afa15801562001dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016d3919062004314565b60125481565b6001546001600160a01b031681565b6000546001600160a01b0316331462001e2f5760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff161562001e5c5760405162461bcd60e51b815260040162000abb9062004862565b600455565b6000546001600160a01b0316331462001e8e5760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff161562001ebb5760405162461bcd60e51b815260040162000abb9062004862565b6001805460ff60c81b1916600160c81b179055565b600154600090600160c81b900460ff1662001eff5760405162461bcd60e51b815260040162000abb90620047e8565b600354610100900460ff1662001f295760405162461bcd60e51b815260040162000abb9062004887565b6002543a111562001f4e5760405162461bcd60e51b815260040162000abb9062004a53565b600154600160a01b900460ff161562001f7b5760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790556000808080808062001fa08b62003947565b9550955095509550955095508986101562001fcf5760405162461bcd60e51b815260040162000abb90620049ab565b62001fdb33876200337a565b8715620020455760405163301bc67560e11b815233906360378cea9062002010906000908f908b908f908f906004016200446f565b600060405180830381600087803b1580156200202b57600080fd5b505af115801562002040573d6000803e3d6000fd5b505050505b62002051338c62003ac0565b8315620020bd5760075462002070906001600160a01b0316856200337a565b6007546040516001600160a01b03909116907fe4fed5362e2669c70e5da5a18942d1e617d8917f6adc0164d9668bd3a6d0cebe90620020b490600090889062004447565b60405180910390a25b8160105414620020cd5760108290555b80600f5414620020dd57600f8190555b826002811115620020ea57fe5b600e5460ff166002811115620020fc57fe5b146200212257600e805484919060ff191660018360028111156200211c57fe5b02179055505b6200212d85620033b5565b336001600160a01b03167fd8648b6ac54162763c86fd54bf2005af8ecd2f9cb273a5775921fd7f91e17b2d8c886040516200216a92919062004b14565b60405180910390a250506001805460ff60a01b191690555091979650505050505050565b600354610100900460ff1681565b6000546001600160a01b03163314620021c95760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620021f65760405162461bcd60e51b815260040162000abb9062004862565b6003805460ff19166001179055565b6000546001600160a01b03163314620022325760405162461bcd60e51b815260040162000abb90620048d9565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b600154600090600160a01b900460ff1615620022845760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff1615620022c35760405162461bcd60e51b815260040162000abb9062004862565b6000620022cf6200320e565b5090506000620022de62000db7565b905060008111620023035760405162461bcd60e51b815260040162000abb9062004545565b60006200231c8362000f0c878563ffffffff6200352016565b9050620023293362001d66565b8111156200234b5760405162461bcd60e51b815260040162000abb9062004969565b6000620023588662002ddc565b9050858111156200237d5760405162461bcd60e51b815260040162000abb906200483a565b600f5462002392908763ffffffff620032e316565b600f55620023a1338362003705565b620023b887620012fa888463ffffffff620032e316565b620023c38162003774565b6001600160a01b0387163360008051602062005b508339815191526001620023f28a8663ffffffff620032e316565b86604051620024049392919062004457565b60405180910390a3336001600160a01b031660008051602062005b708339815191526001836040516200103592919062004447565b6000806200244662000db7565b90506000620024546200320e565b50905081620024695760009250505062000db2565b62001771826200147a83620017648862001d66565b6000546001600160a01b03163314620024ab5760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620024d85760405162461bcd60e51b815260040162000abb9062004862565b600555565b60045481565b6000620011f48262003947565b60035460ff1681565b600154600160c01b900460ff1681565b600154600090600160a01b900460ff1615620025395760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160c01b900460ff16620025775760405162461bcd60e51b815260040162000abb9062004569565b6000620025836200320e565b50905060006200259262000db7565b90508381620025b557620025ad858463ffffffff620034f116565b9050620025d6565b8215620025d657620025d3836200147a878563ffffffff6200352016565b90505b620025e2338662003ac0565b620025ee868262003b2e565b600f5462002603908663ffffffff620034f116565b600f556040516001600160a01b0387169033907f18081cde2fa64894914e1080b98cca17bb6d1acf633e57f6e26ebdb945ad830b9062001ad6906001908a90879062004457565b600b5481565b6014546001600160a01b031681565b6006546001600160a01b03163314806200268357506000546001600160a01b031633145b620026a25760405162461bcd60e51b815260040162000abb90620046f6565b6003805461ff0019169055565b600f5481565b6006546001600160a01b0316331480620026d957506000546001600160a01b031633145b620026f85760405162461bcd60e51b815260040162000abb90620046f6565b6001805460ff60b81b19169055565b6000620016d3338362000e44565b600c5481565b6000546001600160a01b03163314620027485760405162461bcd60e51b815260040162000abb90620048d9565b6008546001600160a01b03838116911614156200281b5760115462002774908263ffffffff620034f116565b6008546040516370a0823160e01b81526001600160a01b03909116906370a0823190620027a6903090600401620043eb565b60206040518083038186803b158015620027bf57600080fd5b505afa158015620027d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027fa919062004314565b10156200281b5760405162461bcd60e51b815260040162000abb90620047b1565b6009546001600160a01b0383811691161415620028ee5760125462002847908263ffffffff620034f116565b6009546040516370a0823160e01b81526001600160a01b03909116906370a082319062002879903090600401620043eb565b60206040518083038186803b1580156200289257600080fd5b505afa158015620028a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620028cd919062004314565b1015620028ee5760405162461bcd60e51b815260040162000abb90620044ca565b620019916001600160a01b038316338363ffffffff62003b6216565b600062000e383362000a8b565b600154600160b81b900460ff1681565b60155481565b6000546001600160a01b031633146200295a5760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620029875760405162461bcd60e51b815260040162000abb9062004862565b6003805461ff001916610100179055565b600062000e383362001200565b6009546001600160a01b031681565b6013546001600160a01b031681565b600154600160c81b900460ff1681565b600154600090600160c81b900460ff1662002a025760405162461bcd60e51b815260040162000abb90620047e8565b60035460ff1662002a275760405162461bcd60e51b815260040162000abb9062004acf565b6002543a111562002a4c5760405162461bcd60e51b815260040162000abb9062004a53565b600154600160a01b900460ff161562002a795760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790556000808080808062002a9e8b62003592565b9550955095509550955095508986111562002acd5760405162461bcd60e51b815260040162000abb90620049e2565b62002ad9338c62003739565b871562002b435760405163301bc67560e11b815233906360378cea9062002b0e906001908f908b908f908f906004016200446f565b600060405180830381600087803b15801562002b2957600080fd5b505af115801562002b3e573d6000803e3d6000fd5b505050505b62002b4f3387620037ef565b831562002bbb5760075462002b6e906001600160a01b03168562003739565b6007546040516001600160a01b03909116907fe4fed5362e2669c70e5da5a18942d1e617d8917f6adc0164d9668bd3a6d0cebe9062002bb290600190889062004447565b60405180910390a25b816010541462002bcb5760108290555b80600f541462002bdb57600f8190555b82600281111562002be857fe5b600e5460ff16600281111562002bfa57fe5b1462002c2057600e805484919060ff1916600183600281111562002c1a57fe5b02179055505b62002c2b8562003774565b336001600160a01b03167fe93ad76094f247c0dafc1c61adc2187de1ac2738f7a3b49cb20b2263420251a38c886040516200216a92919062004b14565b60115481565b600d5481565b600154600160a01b900460ff161562002ca15760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b17905562002cc0338262003ac0565b6200183f8162003774565b600080600062002cda6200320e565b90925090506002600e5460ff16600281111562002cf357fe5b141562002d8657600062002d2562002d1c6012546200147a85866200352090919063ffffffff16565b60125462003926565b905062002d6462002d39600d54836200340d565b600d5462002d5790670de0b6b3a76400009063ffffffff620032e316565b9063ffffffff620034f116565b905062002d7b62002d7462001cd1565b8262003926565b935050505062000e3b565b600062002db162002da86011546200147a86876200352090919063ffffffff16565b60115462003926565b905062002dc562002d39600d54836200340d565b905062002d7b62002dd562001cd1565b826200340d565b600060115482111562002e035760405162461bcd60e51b815260040162000abb90620047b1565b6001600e5460ff16600281111562002e1757fe5b141562000dae57600062002e39601054601254620032e390919063ffffffff16565b9050600062002e4762001cd1565b9050600062002e57838362003926565b9050600062002e6c601154600d54846200343a565b9050600062000d7b62000d7188601154620032e390919063ffffffff16565b600154600160a81b900460ff161562002eb85760405162461bcd60e51b815260040162000abb9062004787565b6001805460ff60a81b1916600160a81b179055600080546001600160a01b03808d166001600160a01b031990921691909117808355604051911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600680546001600160a01b03199081166001600160a01b038c8116919091179092556007805482168b84161790556008805482168a841617908190556009805483168a8516179055600a8054909216888416179091556001805462ffffff60b81b1916815560028490556003805461010060ff1991821690931761ff00191692909217905560001960048190556005819055600b889055600c879055600d869055600e80549092169091556040519092919091169062002fd990620041b8565b62002fe59190620043eb565b604051809103906000f08015801562003002573d6000803e3d6000fd5b50601380546001600160a01b0319166001600160a01b039283161790556009546040519116906200303390620041b8565b6200303f9190620043eb565b604051809103906000f0801580156200305c573d6000803e3d6000fd5b50601480546001600160a01b0319166001600160a01b0392909216919091179055620030876200385d565b505050505050505050505050565b6000546001600160a01b03163314620030c25760405162461bcd60e51b815260040162000abb90620048d9565b7f6b04da3d58e4b37d99652babb3ea2bc25ce94379bfff3059f03d61b26c59e553600c5482604051620030f792919062004b14565b60405180910390a1600c819055620019916200385d565b6000546001600160a01b031633146200313b5760405162461bcd60e51b815260040162000abb90620048d9565b6001600160a01b038116620031645760405162461bcd60e51b815260040162000abb9062004813565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000620016d3338362001995565b6014546040516370a0823160e01b81526000916001600160a01b0316906370a082319062001d99908590600401620043eb565b6000620016d3338362002254565b601254601154600091829182600e5460ff1660028111156200322c57fe5b14156200324557600f54601054935093505050620032df565b6002600e5460ff1660028111156200325957fe5b1415620032915760006200326c62003bc1565b600f5490915062003284848363ffffffff620034f116565b94509450505050620032df565b6001600e5460ff166002811115620032a557fe5b1415620032dc576000620032b862003c32565b9050620032cc828263ffffffff620034f116565b60105494509450505050620032df565b50505b9091565b600082821115620033085760405162461bcd60e51b815260040162000abb9062004764565b50900390565b601454604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90620033429085908590600401620043ff565b600060405180830381600087803b1580156200335d57600080fd5b505af115801562003372573d6000803e3d6000fd5b505050505050565b60095462003399906001600160a01b0316838363ffffffff62003b6216565b601254620033ae908263ffffffff620032e316565b6012555050565b601054620033ca908263ffffffff620034f116565b6010556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e906200340290839060009062004b04565b60405180910390a150565b6000670de0b6b3a76400006200342a848463ffffffff6200352016565b816200343257fe5b049392505050565b6000806200345a6200345360046200176487876200340d565b8662003c9a565b9050620034856200347f670de0b6b3a764000062001764848263ffffffff620034f116565b62003cbb565b90506000620034c0620034a783670de0b6b3a764000063ffffffff620032e316565b620034ba87600263ffffffff6200352016565b62003c9a565b9050620034e786620034e1670de0b6b3a76400008463ffffffff620034f116565b6200340d565b9695505050505050565b600082820183811015620035195760405162461bcd60e51b815260040162000abb90620048fc565b9392505050565b6000826200353157506000620016d3565b828202828482816200353f57fe5b0414620035195760405162461bcd60e51b815260040162000abb9062004a12565b6000806200356f8484620037c1565b9050828102840380156200358957506001019050620016d3565b509050620016d3565b600080600080600080620035a56200320e565b8093508192505050620035bb87600b546200340d565b9450620035cb87600c546200340d565b93506000620035e68562002d578a8963ffffffff620034f116565b90506000600e5460ff166002811115620035fc57fe5b14156200361b576200360f818362003cf6565b965060019350620036fb565b6001600e5460ff1660028111156200362f57fe5b141562003645576200360f816011548462003d3d565b6002600e5460ff1660028111156200365957fe5b1415620036fb5760006200367960125485620032e390919063ffffffff16565b905060006200369484601154620032e390919063ffffffff16565b905080831015620036ba57620036ae836012548762003d8d565b985060029550620036f8565b80831415620036d05781985060009550620036f8565b620036f1620014fe620036ea858463ffffffff620032e316565b8662003cf6565b9850600195505b50505b5091939550919395565b601354604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90620033429085908590600401620043ff565b60085462003758906001600160a01b0316838363ffffffff62003b6216565b6011546200376d908263ffffffff620032e316565b6011555050565b600f5462003789908263ffffffff620034f116565b600f556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e906200340290839060019062004b04565b6000808211620037e55760405162461bcd60e51b815260040162000abb906200468b565b8183816200343257fe5b60055460125462003807908363ffffffff620034f116565b1115620038285760405162461bcd60e51b815260040162000abb906200461f565b60095462003848906001600160a01b031683308463ffffffff62003dcf16565b601254620033ae908263ffffffff620034f116565b6000670de0b6b3a7640000600d54106200388b5760405162461bcd60e51b815260040162000abb9062004a35565b6000600d5411620038b05760405162461bcd60e51b815260040162000abb9062004501565b670de0b6b3a7640000620038d2600c54600b54620034f190919063ffffffff16565b1062000e3b5760405162461bcd60e51b815260040162000abb90620048b4565b6014546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990620033429085908590600401620043ff565b600062003519826200147a85670de0b6b3a764000063ffffffff6200352016565b6000806000806000806200395a6200320e565b92509050866000600e5460ff1660028111156200397357fe5b1415620039925762003986818462003df9565b96506002935062003a70565b6001600e5460ff166002811115620039a657fe5b141562003a5a576000620039c660115484620032e390919063ffffffff16565b90506000620039e185601254620032e390919063ffffffff16565b90508183101562003a1457620039fb836011548662003e3b565b9850600195508089111562003a0e578098505b62003a52565b8183141562003a2a578098506000955062003a52565b62003a4b6200152062003a44858563ffffffff620032e316565b8762003df9565b9850600295505b505062003a70565b62003a69816012548562003e5f565b9650600293505b62003a7e87600b546200340d565b955062003a8e87600c546200340d565b945062003ab48562003aa7898963ffffffff620032e316565b9063ffffffff620032e316565b96505091939550919395565b60045460115462003ad8908363ffffffff620034f116565b111562003af95760405162461bcd60e51b815260040162000abb906200472d565b60085462003b19906001600160a01b031683308463ffffffff62003dcf16565b6011546200376d908263ffffffff620034f116565b6013546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990620033429085908590600401620043ff565b62003bbc8363a9059cbb60e01b848460405160240162003b84929190620043ff565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003e96565b505050565b60008062003bdd600f54601154620032e390919063ffffffff16565b9050600062003beb62001cd1565b9050600062003bfb83836200340d565b9050600062003c10601254600d54846200343a565b905062003c2960125482620032e390919063ffffffff16565b94505050505090565b60008062003c4e601054601254620032e390919063ffffffff16565b9050600062003c5c62001cd1565b9050600062003c6c838362003926565b9050600062003c81601154600d54846200343a565b905062003c2960115482620032e390919063ffffffff16565b6000620035198262000f0c85670de0b6b3a764000063ffffffff6200352016565b80600160028204015b8181101562003cf05780915060028182858162003cdd57fe5b04018162003ce757fe5b04905062003cc4565b50919050565b600081831062003d1a5760405162461bcd60e51b815260040162000abb90620047b1565b600062003d2e838563ffffffff620032e316565b90506200177183848362003f5a565b600082841062003d615760405162461bcd60e51b815260040162000abb90620047b1565b600062003d75848663ffffffff620032e316565b905062003d8483858362003f5a565b95945050505050565b60008062003d9a62001cd1565b9050600062003dbb848662003db0858a62003f7a565b6001600d5462003f9b565b9050620034e7818663ffffffff620032e316565b62003df3846323b872dd60e01b85858560405160240162003b849392919062004418565b50505050565b60008062003e0662001cd1565b9050600062003e27848562003e1c85896200340d565b6000600d5462003f9b565b905062003d84848263ffffffff620032e316565b60008062003e50848663ffffffff620034f116565b905062003d8483828662003f5a565b60008062003e6c62001cd1565b9050600062003e82848662003e1c858a6200340d565b9050620034e7858263ffffffff620032e316565b60006060836001600160a01b03168360405162003eb49190620043af565b6000604051808303816000865af19150503d806000811462003ef3576040519150601f19603f3d011682016040523d82523d6000602084013e62003ef8565b606091505b50915091508162003f1d5760405162461bcd60e51b815260040162000abb9062004656565b80511562003df3578080602001905181019062003f3b9190620042d9565b62003df35760405162461bcd60e51b815260040162000abb906200491f565b60008062003f6762001cd1565b905062003d8485858584600d5462004135565b600062003519670de0b6b3a764000062000f0c858563ffffffff6200352016565b60008062003fb4866200147a8962001764878c6200340d565b9050600062003fdd62003fd6670de0b6b3a76400008663ffffffff620032e316565b886200340d565b905060018515620040025762003ffa828863ffffffff620034f116565b915062004017565b62004014838863ffffffff620034f116565b92505b8282106200403d5762004031828463ffffffff620032e316565b91506001905062004056565b6200404f838363ffffffff620032e316565b9150600090505b60006200408d6200407c600462001764670de0b6b3a76400008a63ffffffff620032e316565b620034e18c620017648a8f6200340d565b9050620040aa6200347f8262002d57868063ffffffff6200352016565b90506000620040ce600262001764670de0b6b3a76400008a63ffffffff620032e316565b905060008315620040f357620040eb858463ffffffff620034f116565b905062004108565b62004105838663ffffffff620032e316565b90505b881562004129576200411b818362003926565b965050505050505062003d84565b6200411b818362003c9a565b6000806200414f84620034e1888863ffffffff620032e316565b90506000620041756200416e886200147a8b8063ffffffff6200352016565b8762003c9a565b905060006200418585836200340d565b9050620041ab83620034e18362002d57670de0b6b3a76400008a63ffffffff620032e316565b9998505050505050505050565b61102d8062004b2383390190565b80356001600160a01b0381168114620016d357600080fd5b600060208284031215620041f0578081fd5b620035198383620041c6565b6000806000806000806000806000806101408b8d0312156200421c578586fd5b620042288c8c620041c6565b9950620042398c60208d01620041c6565b98506200424a8c60408d01620041c6565b97506200425b8c60608d01620041c6565b96506200426c8c60808d01620041c6565b95506200427d8c60a08d01620041c6565b945060c08b0135935060e08b013592506101008b013591506101208b013590509295989b9194979a5092959850565b60008060408385031215620042bf578182fd5b620042cb8484620041c6565b946020939093013593505050565b600060208284031215620042eb578081fd5b8151801515811462003519578182fd5b6000602082840312156200430d578081fd5b5035919050565b60006020828403121562004326578081fd5b5051919050565b6000806000806060858703121562004343578384fd5b8435935060208501359250604085013567ffffffffffffffff8082111562004369578384fd5b81870188601f8201126200437b578485fd5b80359250818311156200438c578485fd5b8860208483010111156200439e578485fd5b959894975050602090940194505050565b60008251815b81811015620043d15760208186018101518583015201620043b5565b81811115620043e05782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b901515815260200190565b9115158252602082015260400190565b92151583526020830191909152604082015260600190565b6000861515825285602083015284604083015260806060830152826080830152828460a084013781830160a090810191909152601f909201601f19160101949350505050565b6020810160038310620044c457fe5b91905290565b6020808252601d908201527f444f444f5f51554f54455f42414c414e43455f4e4f545f454e4f554748000000604082015260600190565b60208082526003908201526204b3d360ec1b604082015260600190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600a908201526904e4f5f424153455f4c560b41b604082015260600190565b60208082526018908201527f4445504f5349545f424153455f4e4f545f414c4c4f5745440000000000000000604082015260600190565b60208082526019908201527f4445504f5349545f51554f54455f4e4f545f414c4c4f57454400000000000000604082015260600190565b60208082526009908201526814915153951490539560ba1b604082015260600190565b6020808252600b908201526a04e4f5f51554f54455f4c560ac1b604082015260600190565b6020808252601c908201527f51554f54455f42414c414e43455f4c494d49545f455843454544454400000000604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526023908201527f4c505f51554f54455f4341504954414c5f42414c414e43455f4e4f545f454e4f6040820152620aa8e960eb1b606082015260800190565b60208082526017908201527f4e4f545f53555045525649534f525f4f525f4f574e4552000000000000000000604082015260600190565b6020808252601b908201527f424153455f42414c414e43455f4c494d49545f45584345454445440000000000604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b60208082526010908201526f1113d113d7d25392551250531256915160821b604082015260600190565b6020808252601c908201527f444f444f5f424153455f42414c414e43455f4e4f545f454e4f55474800000000604082015260600190565b602080825260119082015270151490511157d393d517d0531313d5d151607a1b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600e908201526d1411539053151657d15610d1515160921b604082015260600190565b6020808252600b908201526a1113d113d7d0d313d4d15160aa1b604082015260600190565b60208082526013908201527214d15313125391d7d393d517d0531313d5d151606a1b604082015260600190565b6020808252600b908201526a4645455f524154453e3d3160a81b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526022908201527f4c505f424153455f4341504954414c5f42414c414e43455f4e4f545f454e4f5560408201526108e960f31b606082015260800190565b6020808252601c908201527f53454c4c5f424153455f524543454956455f4e4f545f454e4f55474800000000604082015260600190565b602080825260169082015275084aab2be8482a68abe869ea6a8bea89e9ebe9aaa86960531b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b6020808252600490820152634b3e3d3160e01b604082015260600190565b60208082526010908201526f11d054d7d4149250d157d15610d1515160821b604082015260600190565b6020808252600f908201526e1053149150511657d0d31052535151608a1b604082015260600190565b6020808252600f908201526e1113d113d7d393d517d0d313d4d151608a1b604082015260600190565b602080825260129082015271109556525391d7d393d517d0531313d5d15160721b604082015260600190565b90815260200190565b9182521515602082015260400190565b91825260208201526040019056fe60c060405260036080819052620444c560ec1b60a0908152620000269160029190620000c6565b503480156200003457600080fd5b506040516200102d3803806200102d83398101604081905262000057916200016b565b600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600380546001600160a01b0319166001600160a01b03929092169190911790556200019b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200010957805160ff191683800117855562000139565b8280016001018555821562000139579182015b82811115620001395782518255916020019190600101906200011c565b50620001479291506200014b565b5090565b6200016891905b8082111562000147576000815560010162000152565b90565b6000602082840312156200017d578081fd5b81516001600160a01b038116811462000194578182fd5b9392505050565b610e8280620001ab6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80634e71e0c8116100975780639dc29fac116100665780639dc29fac146101dd578063a9059cbb146101f0578063dd62ed3e14610203578063f2fde38b1461021657610100565b80634e71e0c8146101b257806370a08231146101ba5780638456db15146101cd57806395d89b41146101d557610100565b806318160ddd116100d357806318160ddd1461016057806323b872dd14610175578063313ce5671461018857806340c10f191461019d57610100565b806306fdde0314610105578063095ea7b31461012357806313096a411461014357806316048bc414610158575b600080fd5b61010d610229565b60405161011a9190610c89565b60405180910390f35b610136610131366004610b56565b6102f6565b60405161011a9190610c7e565b61014b610361565b60405161011a9190610c6a565b61014b610370565b61016861037f565b60405161011a9190610dcd565b610136610183366004610b16565b610385565b610190610509565b60405161011a9190610dd6565b6101b06101ab366004610b56565b61058b565b005b6101b061068e565b6101686101c8366004610ac7565b61071c565b61014b610737565b61010d610746565b6101b06101eb366004610b56565b6107d1565b6101366101fe366004610b56565b6108c8565b610168610211366004610ae2565b610986565b6101b0610224366004610ac7565b6109b1565b604080518082018252600f81526e5f444f444f5f4c505f544f4b454e5f60881b602082015260035482516306fdde0360e01b815292516060936001600160a01b03909216916306fdde03916004808301926000929190829003018186803b15801561029357600080fd5b505afa1580156102a7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102cf9190810190610b80565b816040516020016102e1929190610c3c565b60405160208183030381529060405291505090565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061034f908690610dcd565b60405180910390a35060015b92915050565b6003546001600160a01b031681565b6000546001600160a01b031681565b60045481565b6001600160a01b0383166000908152600560205260408120548211156103c65760405162461bcd60e51b81526004016103bd90610d5b565b60405180910390fd5b6001600160a01b03841660009081526006602090815260408083203384529091529020548211156104095760405162461bcd60e51b81526004016103bd90610ce3565b6001600160a01b038416600090815260056020526040902054610432908363ffffffff610a5c16565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610467908363ffffffff610a8416565b6001600160a01b0380851660009081526005602090815260408083209490945591871681526006825282812033825290915220546104ab908363ffffffff610a5c16565b6001600160a01b038086166000818152600660209081526040808320338452909152908190209390935591519085169190600080516020610e2d833981519152906104f7908690610dcd565b60405180910390a35060019392505050565b6003546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561054e57600080fd5b505afa158015610562573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105869190610c1b565b905090565b6000546001600160a01b031633146105b55760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b0382166000908152600560205260409020546105de908263ffffffff610a8416565b6001600160a01b03831660009081526005602052604090205560045461060a908263ffffffff610a8416565b6004556040516001600160a01b038316907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590610648908490610dcd565b60405180910390a2816001600160a01b031660006001600160a01b0316600080516020610e2d833981519152836040516106829190610dcd565b60405180910390a35050565b6001546001600160a01b031633146106b85760405162461bcd60e51b81526004016103bd90610cbc565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b031660009081526005602052604090205490565b6001546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107c95780601f1061079e576101008083540402835291602001916107c9565b820191906000526020600020905b8154815290600101906020018083116107ac57829003601f168201915b505050505081565b6000546001600160a01b031633146107fb5760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b038216600090815260056020526040902054610824908263ffffffff610a5c16565b6001600160a01b038316600090815260056020526040902055600454610850908263ffffffff610a5c16565b6004556040516001600160a01b038316907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59061088e908490610dcd565b60405180910390a260006001600160a01b0316826001600160a01b0316600080516020610e2d833981519152836040516106829190610dcd565b336000908152600560205260408120548211156108f75760405162461bcd60e51b81526004016103bd90610d5b565b33600090815260056020526040902054610917908363ffffffff610a5c16565b33600090815260056020526040808220929092556001600160a01b03851681522054610949908363ffffffff610a8416565b6001600160a01b038416600081815260056020526040908190209290925590513390600080516020610e2d8339815191529061034f908690610dcd565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6000546001600160a01b031633146109db5760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b038116610a015760405162461bcd60e51b81526004016103bd90610d34565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610a7e5760405162461bcd60e51b81526004016103bd90610d11565b50900390565b600082820183811015610aa95760405162461bcd60e51b81526004016103bd90610daa565b9392505050565b80356001600160a01b038116811461035b57600080fd5b600060208284031215610ad8578081fd5b610aa98383610ab0565b60008060408385031215610af4578081fd5b610afe8484610ab0565b9150610b0d8460208501610ab0565b90509250929050565b600080600060608486031215610b2a578081fd5b8335610b3581610e14565b92506020840135610b4581610e14565b929592945050506040919091013590565b60008060408385031215610b68578182fd5b610b728484610ab0565b946020939093013593505050565b600060208284031215610b91578081fd5b815167ffffffffffffffff80821115610ba8578283fd5b81840185601f820112610bb9578384fd5b8051925081831115610bc9578384fd5b604051601f8401601f191681016020018381118282101715610be9578586fd5b604052838152818401602001871015610c00578485fd5b610c11846020830160208501610de4565b9695505050505050565b600060208284031215610c2c578081fd5b815160ff81168114610aa9578182fd5b60008351610c4e818460208801610de4565b8351908301610c61828260208801610de4565b01949350505050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602082528251806020840152610ca8816040850160208701610de4565b601f01601f19169190910160400192915050565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b60208082526014908201527308298989eae829c868abe9c9ea8be8a9c9eaa8e960631b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252601290820152710848298829c868abe9c9ea8be8a9c9eaa8e960731b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b90815260200190565b60ff91909116815260200190565b60005b83811015610dff578181015183820152602001610de7565b83811115610e0e576000848401525b50505050565b6001600160a01b0381168114610e2957600080fd5b5056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209cf0d1d887af2d1880badc337ef0f270c8675b4bfd794dc60bdaa78dec3bd19664736f6c63430006090033e89c586bd81ee35a18f7eac22a732b56e589a2821497cce12a0208828540a36d581f351e2bdb9fa9021bb2a24def989f06ac236f8a92aac14bcbc618ddf3826aa2646970667358221220a7c3f70cc23c3bc7f4459663ac4cd28de21ec73de76092c1f464dcf5d30c400d64736f6c63430006090033",
|
|
"deployedBytecode": "0x60806040523480156200001157600080fd5b5060043610620005205760003560e01c80638a8c523c11620002a9578063c59203af1162000171578063ec2fd46d11620000e1578063f2220416116200009f578063f222041614620009fe578063f2fde38b1462000a15578063f3ae6c5f1462000a2c578063f67ed4481462000a43578063f98bea151462000a5a578063ffa642251462000a715762000520565b8063ec2fd46d14620009a5578063ed0aa42814620009af578063ee27c68914620009c6578063ee5150b314620009d0578063f00f9a0914620009e75762000520565b8063d4b97046116200012f578063d4b970461462000966578063d689107c1462000970578063dd58b41c146200097a578063e67ce7061462000984578063eab5d20e146200099b5762000520565b8063c59203af1462000934578063c5bbffe8146200093e578063c6b73cf91462000948578063cc062b581462000952578063d47eaa37146200095c5762000520565b8063a3161a561162000219578063aceecbc811620001d7578063aceecbc814620008de578063b2094fd314620008e8578063bc7d679d14620008f2578063c0a5f6ff14620008fc578063c0ffa1781462000913578063c3a2a665146200091d5762000520565b8063a3161a56146200089f578063a598aca714620008a9578063aa06ce9b14620008b3578063ab44a7a314620008ca578063ac1fbc9814620008d45762000520565b8063947cf92b1162000267578063947cf92b146200083957806395faa5f6146200085057806397316ad814620008675780639b020fba146200087e578063a2801e1614620008885762000520565b80638a8c523c14620007ed5780638dae733314620007f75780638ff5e742146200080e57806390cbf82214620008185780639299eb3014620008225762000520565b806336ac41a811620003ed578063648a4fac116200035d578063796da7af116200031b578063796da7af146200078a5780637adbf97314620007945780637aed942d14620007ab5780637c9b8e8914620007c25780638456db1514620007cc578063892daf0514620007d65762000520565b8063648a4fac146200072f57806367de8be9146200073957806368be20ad14620007505780636ec6a58d146200077657806373a2ab7c14620007805762000520565b80634de4527e11620003ab5780634de4527e14620006e35780634e71e0c814620006ed57806354fd4d5014620006f75780635bb7552a14620007015780635f179f6414620007185762000520565b806336ac41a814620006a4578063387b0c1114620006ae5780633960f14214620006c55780634322ec8314620006cf5780634a248d2a14620006d95762000520565b80631769ddaa11620004955780631f3c156e11620004535780631f3c156e146200064e578063245c96851462000658578063247f993b146200066257806327bed8ee146200066c5780632aa82c65146200068357806336a53bbb146200068d5762000520565b80631769ddaa14620005f357806317700f0114620005fd57806317be952e146200060757806318c0bbe414620006205780631e34b9cc14620006375762000520565b8063108db74411620004e3578063108db74414620005985780631184d8be14620005af57806313c5762414620005b957806313ea5d2914620005c357806316048bc414620005da5762000520565b806304512dc414620005255780630923160214620005545780630c9f7bd0146200056d5780630cd1667d14620005845780630e6518e9146200058e575b600080fd5b6200053c62000536366004620041de565b62000a8b565b6040516200054b919062004afb565b60405180910390f35b6200056b62000565366004620042fb565b62000c3d565b005b6200053c6200057e366004620042fb565b62000cc2565b6200053c62000db7565b6200053c62000e3e565b6200053c620005a9366004620042ac565b62000e44565b6200056b62001067565b6200056b620010d6565b6200056b620005d4366004620041de565b62001128565b620005e462001177565b6040516200054b9190620043eb565b6200053c62001186565b6200056b6200118c565b62000611620011de565b6040516200054b9190620044b5565b6200053c62000631366004620042fb565b620011e7565b6200053c62000648366004620041de565b62001200565b6200056b62001379565b6200053c62001670565b6200056b62001676565b6200053c6200067d366004620042fb565b620016c5565b6200053c620016d9565b6200053c6200069e366004620041de565b6200171f565b6200056b62001779565b6200056b620006bf366004620042fb565b620017e8565b620005e46200184f565b620005e46200185e565b620005e46200186d565b6200053c6200187c565b6200056b62001882565b6200053c62001913565b6200056b62000712366004620042fb565b62001918565b6200053c62000729366004620042ac565b62001995565b6200056b62001af4565b6200056b6200074a366004620042fb565b62001c24565b6200076762000761366004620041de565b62001c9d565b6040516200054b91906200443c565b6200076762001cb2565b620005e462001cc2565b6200053c62001cd1565b6200056b620007a5366004620041de565b62001d17565b6200053c620007bc366004620041de565b62001d66565b6200053c62001ded565b620005e462001df3565b6200056b620007e7366004620042fb565b62001e02565b6200056b62001e61565b6200053c620008083660046200432d565b62001ed0565b620007676200218e565b6200056b6200219c565b6200056b62000833366004620041de565b62002205565b6200053c6200084a366004620042ac565b62002254565b6200053c62000861366004620041de565b62002439565b6200056b62000878366004620042fb565b6200247e565b6200053c620024dd565b6200053c62000899366004620042fb565b620024e3565b62000767620024f0565b62000767620024f9565b6200053c620008c4366004620042ac565b62002509565b6200053c6200264a565b620005e462002650565b6200056b6200265f565b6200053c620026af565b6200056b620026b5565b6200053c6200090d366004620042fb565b62002707565b6200053c62002715565b6200056b6200092e366004620042ac565b6200271b565b6200053c6200290a565b6200076762002917565b6200053c62002927565b6200056b6200292d565b6200053c62002998565b620005e4620029a5565b620005e4620029b4565b62000767620029c3565b6200053c620009953660046200432d565b620029d3565b6200053c62002c68565b6200053c62002c6e565b6200056b620009c0366004620042fb565b62002c74565b6200053c62002ccb565b6200053c620009e1366004620042fb565b62002ddc565b6200056b620009f8366004620041fc565b62002e8b565b6200056b62000a0f366004620042fb565b62003095565b6200056b62000a26366004620041de565b6200310e565b6200053c62000a3d366004620042fb565b620031bf565b6200053c62000a54366004620041de565b620031cd565b6200053c62000a6b366004620042fb565b62003200565b62000a7b6200320e565b6040516200054b92919062004b14565b600154600090600160a01b900460ff161562000ac45760405162461bcd60e51b815260040162000abb90620045d7565b60405180910390fd5b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff161562000b035760405162461bcd60e51b815260040162000abb9062004862565b600062000b10336200171f565b9050600062000b1f33620031cd565b9050600062000b2e8362000cc2565b90508281111562000b535760405162461bcd60e51b815260040162000abb906200483a565b60105462000b68908463ffffffff620032e316565b60105562000b7733836200330e565b62000b948562000b8e858463ffffffff620032e316565b6200337a565b62000b9f81620033b5565b846001600160a01b0316336001600160a01b031660008051602062005b508339815191526000868660405162000bd89392919062004457565b60405180910390a3336001600160a01b031660008051602062005b7083398151915260008360405162000c0d92919062004447565b60405180910390a262000c27838263ffffffff620032e316565b6001805460ff60a01b1916905595945050505050565b6006546001600160a01b031633148062000c6157506000546001600160a01b031633145b62000c805760405162461bcd60e51b815260040162000abb90620046f6565b7f808f99cfd15f1be6019f93dc76c81d5bd82e0b3e0b3d23a54f5a2e647a6cc3cc6002548260405162000cb592919062004b14565b60405180910390a1600255565b600060125482111562000ce95760405162461bcd60e51b815260040162000abb90620044ca565b6002600e5460ff16600281111562000cfd57fe5b141562000dae57600062000d1f600f54601154620032e390919063ffffffff16565b9050600062000d2d62001cd1565b9050600062000d3d83836200340d565b9050600062000d52601254600d54846200343a565b9050600062000d7b62000d7188601254620032e390919063ffffffff16565b600d54856200343a565b905062000da162000d93828963ffffffff620034f116565b839063ffffffff620032e316565b9550505050505062000db2565b5060005b919050565b601354604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801562000dfd57600080fd5b505afa15801562000e12573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e38919062004314565b90505b90565b60165481565b600154600090600160a01b900460ff161562000e745760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff161562000eb35760405162461bcd60e51b815260040162000abb9062004862565b600062000ebf6200320e565b915050600062000ece620016d9565b90506000811162000ef35760405162461bcd60e51b815260040162000abb90620045fa565b600062000f198362000f0c878563ffffffff6200352016565b9063ffffffff6200356016565b905062000f2633620031cd565b81111562000f485760405162461bcd60e51b815260040162000abb90620046b3565b600062000f558662000cc2565b905085811062000f795760405162461bcd60e51b815260040162000abb906200483a565b60105462000f8e908763ffffffff620032e316565b60105562000f9d33836200330e565b62000fb48762000b8e888463ffffffff620032e316565b62000fbf81620033b5565b6001600160a01b0387163360008051602062005b50833981519152600062000fee8a8663ffffffff620032e316565b86604051620010009392919062004457565b60405180910390a3336001600160a01b031660008051602062005b708339815191526000836040516200103592919062004447565b60405180910390a26200104f868263ffffffff620032e316565b6001805460ff60a01b19169055979650505050505050565b6000546001600160a01b03163314620010945760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620010c15760405162461bcd60e51b815260040162000abb9062004862565b6001805460ff60c01b1916600160c01b179055565b6006546001600160a01b0316331480620010fa57506000546001600160a01b031633145b620011195760405162461bcd60e51b815260040162000abb90620046f6565b6001805460ff60c01b19169055565b6000546001600160a01b03163314620011555760405162461bcd60e51b815260040162000abb90620048d9565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b60055481565b6006546001600160a01b0316331480620011b057506000546001600160a01b031633145b620011cf5760405162461bcd60e51b815260040162000abb90620046f6565b6001805460ff60c81b19169055565b600e5460ff1681565b6000620011f48262003592565b50939695505050505050565b600154600090600160a01b900460ff1615620012305760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff16156200126f5760405162461bcd60e51b815260040162000abb9062004862565b60006200127c3362002439565b905060006200128b3362001d66565b905060006200129a8362002ddc565b905082811115620012bf5760405162461bcd60e51b815260040162000abb906200483a565b600f54620012d4908463ffffffff620032e316565b600f55620012e3338362003705565b6200130085620012fa858463ffffffff620032e316565b62003739565b6200130b8162003774565b846001600160a01b0316336001600160a01b031660008051602062005b5083398151915260018686604051620013449392919062004457565b60405180910390a3336001600160a01b031660008051602062005b7083398151915260018360405162000c0d92919062004447565b600154600160a01b900460ff1615620013a65760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff16620013e45760405162461bcd60e51b815260040162000abb9062004aa6565b3360009081526017602052604090205460ff1615620014175760405162461bcd60e51b815260040162000abb9062004a7d565b336000818152601760205260408120805460ff19166001179055906200143d90620031cd565b905060006200144c3362001d66565b9050600082156200148a576200148762001465620016d9565b6010546200147a908663ffffffff6200352016565b9063ffffffff620037c116565b90505b60008215620014b957620014b6620014a162000db7565b600f546200147a908663ffffffff6200352016565b90505b601054620014ce908363ffffffff620032e316565b601055600f54620014e6908263ffffffff620032e316565b600f819055506200150c620014fe846015546200340d565b839063ffffffff620034f116565b91506200152e62001520856016546200340d565b829063ffffffff620034f116565b90506200153c338262003739565b6200154833836200337a565b601354604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906200157c9033908790600401620043ff565b600060405180830381600087803b1580156200159757600080fd5b505af1158015620015ac573d6000803e3d6000fd5b5050601454604051632770a7eb60e21b81526001600160a01b039091169250639dc29fac9150620015e49033908890600401620043ff565b600060405180830381600087803b158015620015ff57600080fd5b505af115801562001614573d6000803e3d6000fd5b50505050336001600160a01b03167fbe5f7fe66d16c6a87bb5b8b08a96634fe4f1c2bac9e5e413efe41a782d4d0c4382846040516200165592919062004b14565b60405180910390a2505050506001805460ff60a01b19169055565b60105481565b6006546001600160a01b03163314806200169a57506000546001600160a01b031633145b620016b95760405162461bcd60e51b815260040162000abb90620046f6565b6003805460ff19169055565b6000620016d3338362002509565b92915050565b601454604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801562000dfd57600080fd5b6000806200172c620016d9565b905060006200173a6200320e565b915050816200174f5760009250505062000db2565b62001771826200147a836200176488620031cd565b9063ffffffff6200352016565b949350505050565b6000546001600160a01b03163314620017a65760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620017d35760405162461bcd60e51b815260040162000abb9062004862565b6001805460ff60b81b1916600160b81b179055565b600154600160a01b900460ff1615620018155760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b179055620018343382620037ef565b6200183f81620033b5565b506001805460ff60a01b19169055565b6006546001600160a01b031681565b6007546001600160a01b031681565b6008546001600160a01b031681565b60025481565b6001546001600160a01b03163314620018af5760405162461bcd60e51b815260040162000abb906200451e565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606590565b6000546001600160a01b03163314620019455760405162461bcd60e51b815260040162000abb90620048d9565b7f3ce6ea91adda496b7a0546fa6558e5b52c3a509de6015820efb00ca4020e0a07600b54826040516200197a92919062004b14565b60405180910390a1600b819055620019916200385d565b5050565b600154600090600160a01b900460ff1615620019c55760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b81b900460ff1662001a035760405162461bcd60e51b815260040162000abb90620045a0565b600062001a0f6200320e565b915050600062001a1e620016d9565b9050838162001a415762001a39858463ffffffff620034f116565b905062001a62565b821562001a625762001a5f836200147a878563ffffffff6200352016565b90505b62001a6e3386620037ef565b62001a7a8682620038f2565b60105462001a8f908663ffffffff620034f116565b6010556040516001600160a01b0387169033907f18081cde2fa64894914e1080b98cca17bb6d1acf633e57f6e26ebdb945ad830b9062001ad6906000908a90879062004457565b60405180910390a36001805460ff60a01b1916905595945050505050565b6000546001600160a01b0316331462001b215760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff161562001b4e5760405162461bcd60e51b815260040162000abb9062004862565b6001805462ffffff60b81b1960ff60b01b19909116600160b01b17169055600062001b7862000db7565b9050600062001b86620016d9565b9050601054601254111562001bc857600062001bb0601054601254620032e390919063ffffffff16565b905062001bbe818462003926565b6015555062001bcf565b6012546010555b600f54601154111562001c0f57600062001bf7600f54601154620032e390919063ffffffff16565b905062001c05818362003926565b6016555062001c16565b601154600f555b5050600e805460ff19169055565b6000546001600160a01b0316331462001c515760405162461bcd60e51b815260040162000abb90620048d9565b7f023a40bebf7ac113f81c3d628073246cf9e0bc49980a9d6a9531498ce9e3dd1c600d548260405162001c8692919062004b14565b60405180910390a1600d819055620019916200385d565b60176020526000908152604090205460ff1681565b600154600160b01b900460ff1681565b600a546001600160a01b031681565b600a5460408051634c6afee560e11b815290516000926001600160a01b0316916398d5fdca916004808301926020929190829003018186803b15801562000dfd57600080fd5b6000546001600160a01b0316331462001d445760405162461bcd60e51b815260040162000abb90620048d9565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6013546040516370a0823160e01b81526000916001600160a01b0316906370a082319062001d99908590600401620043eb565b60206040518083038186803b15801562001db257600080fd5b505afa15801562001dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016d3919062004314565b60125481565b6001546001600160a01b031681565b6000546001600160a01b0316331462001e2f5760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff161562001e5c5760405162461bcd60e51b815260040162000abb9062004862565b600455565b6000546001600160a01b0316331462001e8e5760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff161562001ebb5760405162461bcd60e51b815260040162000abb9062004862565b6001805460ff60c81b1916600160c81b179055565b600154600090600160c81b900460ff1662001eff5760405162461bcd60e51b815260040162000abb90620047e8565b600354610100900460ff1662001f295760405162461bcd60e51b815260040162000abb9062004887565b6002543a111562001f4e5760405162461bcd60e51b815260040162000abb9062004a53565b600154600160a01b900460ff161562001f7b5760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790556000808080808062001fa08b62003947565b9550955095509550955095508986101562001fcf5760405162461bcd60e51b815260040162000abb90620049ab565b62001fdb33876200337a565b8715620020455760405163301bc67560e11b815233906360378cea9062002010906000908f908b908f908f906004016200446f565b600060405180830381600087803b1580156200202b57600080fd5b505af115801562002040573d6000803e3d6000fd5b505050505b62002051338c62003ac0565b8315620020bd5760075462002070906001600160a01b0316856200337a565b6007546040516001600160a01b03909116907fe4fed5362e2669c70e5da5a18942d1e617d8917f6adc0164d9668bd3a6d0cebe90620020b490600090889062004447565b60405180910390a25b8160105414620020cd5760108290555b80600f5414620020dd57600f8190555b826002811115620020ea57fe5b600e5460ff166002811115620020fc57fe5b146200212257600e805484919060ff191660018360028111156200211c57fe5b02179055505b6200212d85620033b5565b336001600160a01b03167fd8648b6ac54162763c86fd54bf2005af8ecd2f9cb273a5775921fd7f91e17b2d8c886040516200216a92919062004b14565b60405180910390a250506001805460ff60a01b191690555091979650505050505050565b600354610100900460ff1681565b6000546001600160a01b03163314620021c95760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620021f65760405162461bcd60e51b815260040162000abb9062004862565b6003805460ff19166001179055565b6000546001600160a01b03163314620022325760405162461bcd60e51b815260040162000abb90620048d9565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b600154600090600160a01b900460ff1615620022845760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160b01b900460ff1615620022c35760405162461bcd60e51b815260040162000abb9062004862565b6000620022cf6200320e565b5090506000620022de62000db7565b905060008111620023035760405162461bcd60e51b815260040162000abb9062004545565b60006200231c8362000f0c878563ffffffff6200352016565b9050620023293362001d66565b8111156200234b5760405162461bcd60e51b815260040162000abb9062004969565b6000620023588662002ddc565b9050858111156200237d5760405162461bcd60e51b815260040162000abb906200483a565b600f5462002392908763ffffffff620032e316565b600f55620023a1338362003705565b620023b887620012fa888463ffffffff620032e316565b620023c38162003774565b6001600160a01b0387163360008051602062005b508339815191526001620023f28a8663ffffffff620032e316565b86604051620024049392919062004457565b60405180910390a3336001600160a01b031660008051602062005b708339815191526001836040516200103592919062004447565b6000806200244662000db7565b90506000620024546200320e565b50905081620024695760009250505062000db2565b62001771826200147a83620017648862001d66565b6000546001600160a01b03163314620024ab5760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620024d85760405162461bcd60e51b815260040162000abb9062004862565b600555565b60045481565b6000620011f48262003947565b60035460ff1681565b600154600160c01b900460ff1681565b600154600090600160a01b900460ff1615620025395760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790819055600160c01b900460ff16620025775760405162461bcd60e51b815260040162000abb9062004569565b6000620025836200320e565b50905060006200259262000db7565b90508381620025b557620025ad858463ffffffff620034f116565b9050620025d6565b8215620025d657620025d3836200147a878563ffffffff6200352016565b90505b620025e2338662003ac0565b620025ee868262003b2e565b600f5462002603908663ffffffff620034f116565b600f556040516001600160a01b0387169033907f18081cde2fa64894914e1080b98cca17bb6d1acf633e57f6e26ebdb945ad830b9062001ad6906001908a90879062004457565b600b5481565b6014546001600160a01b031681565b6006546001600160a01b03163314806200268357506000546001600160a01b031633145b620026a25760405162461bcd60e51b815260040162000abb90620046f6565b6003805461ff0019169055565b600f5481565b6006546001600160a01b0316331480620026d957506000546001600160a01b031633145b620026f85760405162461bcd60e51b815260040162000abb90620046f6565b6001805460ff60b81b19169055565b6000620016d3338362000e44565b600c5481565b6000546001600160a01b03163314620027485760405162461bcd60e51b815260040162000abb90620048d9565b6008546001600160a01b03838116911614156200281b5760115462002774908263ffffffff620034f116565b6008546040516370a0823160e01b81526001600160a01b03909116906370a0823190620027a6903090600401620043eb565b60206040518083038186803b158015620027bf57600080fd5b505afa158015620027d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027fa919062004314565b10156200281b5760405162461bcd60e51b815260040162000abb90620047b1565b6009546001600160a01b0383811691161415620028ee5760125462002847908263ffffffff620034f116565b6009546040516370a0823160e01b81526001600160a01b03909116906370a082319062002879903090600401620043eb565b60206040518083038186803b1580156200289257600080fd5b505afa158015620028a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620028cd919062004314565b1015620028ee5760405162461bcd60e51b815260040162000abb90620044ca565b620019916001600160a01b038316338363ffffffff62003b6216565b600062000e383362000a8b565b600154600160b81b900460ff1681565b60155481565b6000546001600160a01b031633146200295a5760405162461bcd60e51b815260040162000abb90620048d9565b600154600160b01b900460ff1615620029875760405162461bcd60e51b815260040162000abb9062004862565b6003805461ff001916610100179055565b600062000e383362001200565b6009546001600160a01b031681565b6013546001600160a01b031681565b600154600160c81b900460ff1681565b600154600090600160c81b900460ff1662002a025760405162461bcd60e51b815260040162000abb90620047e8565b60035460ff1662002a275760405162461bcd60e51b815260040162000abb9062004acf565b6002543a111562002a4c5760405162461bcd60e51b815260040162000abb9062004a53565b600154600160a01b900460ff161562002a795760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b1790556000808080808062002a9e8b62003592565b9550955095509550955095508986111562002acd5760405162461bcd60e51b815260040162000abb90620049e2565b62002ad9338c62003739565b871562002b435760405163301bc67560e11b815233906360378cea9062002b0e906001908f908b908f908f906004016200446f565b600060405180830381600087803b15801562002b2957600080fd5b505af115801562002b3e573d6000803e3d6000fd5b505050505b62002b4f3387620037ef565b831562002bbb5760075462002b6e906001600160a01b03168562003739565b6007546040516001600160a01b03909116907fe4fed5362e2669c70e5da5a18942d1e617d8917f6adc0164d9668bd3a6d0cebe9062002bb290600190889062004447565b60405180910390a25b816010541462002bcb5760108290555b80600f541462002bdb57600f8190555b82600281111562002be857fe5b600e5460ff16600281111562002bfa57fe5b1462002c2057600e805484919060ff1916600183600281111562002c1a57fe5b02179055505b62002c2b8562003774565b336001600160a01b03167fe93ad76094f247c0dafc1c61adc2187de1ac2738f7a3b49cb20b2263420251a38c886040516200216a92919062004b14565b60115481565b600d5481565b600154600160a01b900460ff161562002ca15760405162461bcd60e51b815260040162000abb90620045d7565b6001805460ff60a01b1916600160a01b17905562002cc0338262003ac0565b6200183f8162003774565b600080600062002cda6200320e565b90925090506002600e5460ff16600281111562002cf357fe5b141562002d8657600062002d2562002d1c6012546200147a85866200352090919063ffffffff16565b60125462003926565b905062002d6462002d39600d54836200340d565b600d5462002d5790670de0b6b3a76400009063ffffffff620032e316565b9063ffffffff620034f116565b905062002d7b62002d7462001cd1565b8262003926565b935050505062000e3b565b600062002db162002da86011546200147a86876200352090919063ffffffff16565b60115462003926565b905062002dc562002d39600d54836200340d565b905062002d7b62002dd562001cd1565b826200340d565b600060115482111562002e035760405162461bcd60e51b815260040162000abb90620047b1565b6001600e5460ff16600281111562002e1757fe5b141562000dae57600062002e39601054601254620032e390919063ffffffff16565b9050600062002e4762001cd1565b9050600062002e57838362003926565b9050600062002e6c601154600d54846200343a565b9050600062000d7b62000d7188601154620032e390919063ffffffff16565b600154600160a81b900460ff161562002eb85760405162461bcd60e51b815260040162000abb9062004787565b6001805460ff60a81b1916600160a81b179055600080546001600160a01b03808d166001600160a01b031990921691909117808355604051911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600680546001600160a01b03199081166001600160a01b038c8116919091179092556007805482168b84161790556008805482168a841617908190556009805483168a8516179055600a8054909216888416179091556001805462ffffff60b81b1916815560028490556003805461010060ff1991821690931761ff00191692909217905560001960048190556005819055600b889055600c879055600d869055600e80549092169091556040519092919091169062002fd990620041b8565b62002fe59190620043eb565b604051809103906000f08015801562003002573d6000803e3d6000fd5b50601380546001600160a01b0319166001600160a01b039283161790556009546040519116906200303390620041b8565b6200303f9190620043eb565b604051809103906000f0801580156200305c573d6000803e3d6000fd5b50601480546001600160a01b0319166001600160a01b0392909216919091179055620030876200385d565b505050505050505050505050565b6000546001600160a01b03163314620030c25760405162461bcd60e51b815260040162000abb90620048d9565b7f6b04da3d58e4b37d99652babb3ea2bc25ce94379bfff3059f03d61b26c59e553600c5482604051620030f792919062004b14565b60405180910390a1600c819055620019916200385d565b6000546001600160a01b031633146200313b5760405162461bcd60e51b815260040162000abb90620048d9565b6001600160a01b038116620031645760405162461bcd60e51b815260040162000abb9062004813565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000620016d3338362001995565b6014546040516370a0823160e01b81526000916001600160a01b0316906370a082319062001d99908590600401620043eb565b6000620016d3338362002254565b601254601154600091829182600e5460ff1660028111156200322c57fe5b14156200324557600f54601054935093505050620032df565b6002600e5460ff1660028111156200325957fe5b1415620032915760006200326c62003bc1565b600f5490915062003284848363ffffffff620034f116565b94509450505050620032df565b6001600e5460ff166002811115620032a557fe5b1415620032dc576000620032b862003c32565b9050620032cc828263ffffffff620034f116565b60105494509450505050620032df565b50505b9091565b600082821115620033085760405162461bcd60e51b815260040162000abb9062004764565b50900390565b601454604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90620033429085908590600401620043ff565b600060405180830381600087803b1580156200335d57600080fd5b505af115801562003372573d6000803e3d6000fd5b505050505050565b60095462003399906001600160a01b0316838363ffffffff62003b6216565b601254620033ae908263ffffffff620032e316565b6012555050565b601054620033ca908263ffffffff620034f116565b6010556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e906200340290839060009062004b04565b60405180910390a150565b6000670de0b6b3a76400006200342a848463ffffffff6200352016565b816200343257fe5b049392505050565b6000806200345a6200345360046200176487876200340d565b8662003c9a565b9050620034856200347f670de0b6b3a764000062001764848263ffffffff620034f116565b62003cbb565b90506000620034c0620034a783670de0b6b3a764000063ffffffff620032e316565b620034ba87600263ffffffff6200352016565b62003c9a565b9050620034e786620034e1670de0b6b3a76400008463ffffffff620034f116565b6200340d565b9695505050505050565b600082820183811015620035195760405162461bcd60e51b815260040162000abb90620048fc565b9392505050565b6000826200353157506000620016d3565b828202828482816200353f57fe5b0414620035195760405162461bcd60e51b815260040162000abb9062004a12565b6000806200356f8484620037c1565b9050828102840380156200358957506001019050620016d3565b509050620016d3565b600080600080600080620035a56200320e565b8093508192505050620035bb87600b546200340d565b9450620035cb87600c546200340d565b93506000620035e68562002d578a8963ffffffff620034f116565b90506000600e5460ff166002811115620035fc57fe5b14156200361b576200360f818362003cf6565b965060019350620036fb565b6001600e5460ff1660028111156200362f57fe5b141562003645576200360f816011548462003d3d565b6002600e5460ff1660028111156200365957fe5b1415620036fb5760006200367960125485620032e390919063ffffffff16565b905060006200369484601154620032e390919063ffffffff16565b905080831015620036ba57620036ae836012548762003d8d565b985060029550620036f8565b80831415620036d05781985060009550620036f8565b620036f1620014fe620036ea858463ffffffff620032e316565b8662003cf6565b9850600195505b50505b5091939550919395565b601354604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90620033429085908590600401620043ff565b60085462003758906001600160a01b0316838363ffffffff62003b6216565b6011546200376d908263ffffffff620032e316565b6011555050565b600f5462003789908263ffffffff620034f116565b600f556040517fa259c93818139b6bc90fb80e8feb75122b42edaae49560f81392cf4e1946726e906200340290839060019062004b04565b6000808211620037e55760405162461bcd60e51b815260040162000abb906200468b565b8183816200343257fe5b60055460125462003807908363ffffffff620034f116565b1115620038285760405162461bcd60e51b815260040162000abb906200461f565b60095462003848906001600160a01b031683308463ffffffff62003dcf16565b601254620033ae908263ffffffff620034f116565b6000670de0b6b3a7640000600d54106200388b5760405162461bcd60e51b815260040162000abb9062004a35565b6000600d5411620038b05760405162461bcd60e51b815260040162000abb9062004501565b670de0b6b3a7640000620038d2600c54600b54620034f190919063ffffffff16565b1062000e3b5760405162461bcd60e51b815260040162000abb90620048b4565b6014546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990620033429085908590600401620043ff565b600062003519826200147a85670de0b6b3a764000063ffffffff6200352016565b6000806000806000806200395a6200320e565b92509050866000600e5460ff1660028111156200397357fe5b1415620039925762003986818462003df9565b96506002935062003a70565b6001600e5460ff166002811115620039a657fe5b141562003a5a576000620039c660115484620032e390919063ffffffff16565b90506000620039e185601254620032e390919063ffffffff16565b90508183101562003a1457620039fb836011548662003e3b565b9850600195508089111562003a0e578098505b62003a52565b8183141562003a2a578098506000955062003a52565b62003a4b6200152062003a44858563ffffffff620032e316565b8762003df9565b9850600295505b505062003a70565b62003a69816012548562003e5f565b9650600293505b62003a7e87600b546200340d565b955062003a8e87600c546200340d565b945062003ab48562003aa7898963ffffffff620032e316565b9063ffffffff620032e316565b96505091939550919395565b60045460115462003ad8908363ffffffff620034f116565b111562003af95760405162461bcd60e51b815260040162000abb906200472d565b60085462003b19906001600160a01b031683308463ffffffff62003dcf16565b6011546200376d908263ffffffff620034f116565b6013546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990620033429085908590600401620043ff565b62003bbc8363a9059cbb60e01b848460405160240162003b84929190620043ff565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003e96565b505050565b60008062003bdd600f54601154620032e390919063ffffffff16565b9050600062003beb62001cd1565b9050600062003bfb83836200340d565b9050600062003c10601254600d54846200343a565b905062003c2960125482620032e390919063ffffffff16565b94505050505090565b60008062003c4e601054601254620032e390919063ffffffff16565b9050600062003c5c62001cd1565b9050600062003c6c838362003926565b9050600062003c81601154600d54846200343a565b905062003c2960115482620032e390919063ffffffff16565b6000620035198262000f0c85670de0b6b3a764000063ffffffff6200352016565b80600160028204015b8181101562003cf05780915060028182858162003cdd57fe5b04018162003ce757fe5b04905062003cc4565b50919050565b600081831062003d1a5760405162461bcd60e51b815260040162000abb90620047b1565b600062003d2e838563ffffffff620032e316565b90506200177183848362003f5a565b600082841062003d615760405162461bcd60e51b815260040162000abb90620047b1565b600062003d75848663ffffffff620032e316565b905062003d8483858362003f5a565b95945050505050565b60008062003d9a62001cd1565b9050600062003dbb848662003db0858a62003f7a565b6001600d5462003f9b565b9050620034e7818663ffffffff620032e316565b62003df3846323b872dd60e01b85858560405160240162003b849392919062004418565b50505050565b60008062003e0662001cd1565b9050600062003e27848562003e1c85896200340d565b6000600d5462003f9b565b905062003d84848263ffffffff620032e316565b60008062003e50848663ffffffff620034f116565b905062003d8483828662003f5a565b60008062003e6c62001cd1565b9050600062003e82848662003e1c858a6200340d565b9050620034e7858263ffffffff620032e316565b60006060836001600160a01b03168360405162003eb49190620043af565b6000604051808303816000865af19150503d806000811462003ef3576040519150601f19603f3d011682016040523d82523d6000602084013e62003ef8565b606091505b50915091508162003f1d5760405162461bcd60e51b815260040162000abb9062004656565b80511562003df3578080602001905181019062003f3b9190620042d9565b62003df35760405162461bcd60e51b815260040162000abb906200491f565b60008062003f6762001cd1565b905062003d8485858584600d5462004135565b600062003519670de0b6b3a764000062000f0c858563ffffffff6200352016565b60008062003fb4866200147a8962001764878c6200340d565b9050600062003fdd62003fd6670de0b6b3a76400008663ffffffff620032e316565b886200340d565b905060018515620040025762003ffa828863ffffffff620034f116565b915062004017565b62004014838863ffffffff620034f116565b92505b8282106200403d5762004031828463ffffffff620032e316565b91506001905062004056565b6200404f838363ffffffff620032e316565b9150600090505b60006200408d6200407c600462001764670de0b6b3a76400008a63ffffffff620032e316565b620034e18c620017648a8f6200340d565b9050620040aa6200347f8262002d57868063ffffffff6200352016565b90506000620040ce600262001764670de0b6b3a76400008a63ffffffff620032e316565b905060008315620040f357620040eb858463ffffffff620034f116565b905062004108565b62004105838663ffffffff620032e316565b90505b881562004129576200411b818362003926565b965050505050505062003d84565b6200411b818362003c9a565b6000806200414f84620034e1888863ffffffff620032e316565b90506000620041756200416e886200147a8b8063ffffffff6200352016565b8762003c9a565b905060006200418585836200340d565b9050620041ab83620034e18362002d57670de0b6b3a76400008a63ffffffff620032e316565b9998505050505050505050565b61102d8062004b2383390190565b80356001600160a01b0381168114620016d357600080fd5b600060208284031215620041f0578081fd5b620035198383620041c6565b6000806000806000806000806000806101408b8d0312156200421c578586fd5b620042288c8c620041c6565b9950620042398c60208d01620041c6565b98506200424a8c60408d01620041c6565b97506200425b8c60608d01620041c6565b96506200426c8c60808d01620041c6565b95506200427d8c60a08d01620041c6565b945060c08b0135935060e08b013592506101008b013591506101208b013590509295989b9194979a5092959850565b60008060408385031215620042bf578182fd5b620042cb8484620041c6565b946020939093013593505050565b600060208284031215620042eb578081fd5b8151801515811462003519578182fd5b6000602082840312156200430d578081fd5b5035919050565b60006020828403121562004326578081fd5b5051919050565b6000806000806060858703121562004343578384fd5b8435935060208501359250604085013567ffffffffffffffff8082111562004369578384fd5b81870188601f8201126200437b578485fd5b80359250818311156200438c578485fd5b8860208483010111156200439e578485fd5b959894975050602090940194505050565b60008251815b81811015620043d15760208186018101518583015201620043b5565b81811115620043e05782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b901515815260200190565b9115158252602082015260400190565b92151583526020830191909152604082015260600190565b6000861515825285602083015284604083015260806060830152826080830152828460a084013781830160a090810191909152601f909201601f19160101949350505050565b6020810160038310620044c457fe5b91905290565b6020808252601d908201527f444f444f5f51554f54455f42414c414e43455f4e4f545f454e4f554748000000604082015260600190565b60208082526003908201526204b3d360ec1b604082015260600190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600a908201526904e4f5f424153455f4c560b41b604082015260600190565b60208082526018908201527f4445504f5349545f424153455f4e4f545f414c4c4f5745440000000000000000604082015260600190565b60208082526019908201527f4445504f5349545f51554f54455f4e4f545f414c4c4f57454400000000000000604082015260600190565b60208082526009908201526814915153951490539560ba1b604082015260600190565b6020808252600b908201526a04e4f5f51554f54455f4c560ac1b604082015260600190565b6020808252601c908201527f51554f54455f42414c414e43455f4c494d49545f455843454544454400000000604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526023908201527f4c505f51554f54455f4341504954414c5f42414c414e43455f4e4f545f454e4f6040820152620aa8e960eb1b606082015260800190565b60208082526017908201527f4e4f545f53555045525649534f525f4f525f4f574e4552000000000000000000604082015260600190565b6020808252601b908201527f424153455f42414c414e43455f4c494d49545f45584345454445440000000000604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b60208082526010908201526f1113d113d7d25392551250531256915160821b604082015260600190565b6020808252601c908201527f444f444f5f424153455f42414c414e43455f4e4f545f454e4f55474800000000604082015260600190565b602080825260119082015270151490511157d393d517d0531313d5d151607a1b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600e908201526d1411539053151657d15610d1515160921b604082015260600190565b6020808252600b908201526a1113d113d7d0d313d4d15160aa1b604082015260600190565b60208082526013908201527214d15313125391d7d393d517d0531313d5d151606a1b604082015260600190565b6020808252600b908201526a4645455f524154453e3d3160a81b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526022908201527f4c505f424153455f4341504954414c5f42414c414e43455f4e4f545f454e4f5560408201526108e960f31b606082015260800190565b6020808252601c908201527f53454c4c5f424153455f524543454956455f4e4f545f454e4f55474800000000604082015260600190565b602080825260169082015275084aab2be8482a68abe869ea6a8bea89e9ebe9aaa86960531b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b6020808252600490820152634b3e3d3160e01b604082015260600190565b60208082526010908201526f11d054d7d4149250d157d15610d1515160821b604082015260600190565b6020808252600f908201526e1053149150511657d0d31052535151608a1b604082015260600190565b6020808252600f908201526e1113d113d7d393d517d0d313d4d151608a1b604082015260600190565b602080825260129082015271109556525391d7d393d517d0531313d5d15160721b604082015260600190565b90815260200190565b9182521515602082015260400190565b91825260208201526040019056fe60c060405260036080819052620444c560ec1b60a0908152620000269160029190620000c6565b503480156200003457600080fd5b506040516200102d3803806200102d83398101604081905262000057916200016b565b600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600380546001600160a01b0319166001600160a01b03929092169190911790556200019b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200010957805160ff191683800117855562000139565b8280016001018555821562000139579182015b82811115620001395782518255916020019190600101906200011c565b50620001479291506200014b565b5090565b6200016891905b8082111562000147576000815560010162000152565b90565b6000602082840312156200017d578081fd5b81516001600160a01b038116811462000194578182fd5b9392505050565b610e8280620001ab6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80634e71e0c8116100975780639dc29fac116100665780639dc29fac146101dd578063a9059cbb146101f0578063dd62ed3e14610203578063f2fde38b1461021657610100565b80634e71e0c8146101b257806370a08231146101ba5780638456db15146101cd57806395d89b41146101d557610100565b806318160ddd116100d357806318160ddd1461016057806323b872dd14610175578063313ce5671461018857806340c10f191461019d57610100565b806306fdde0314610105578063095ea7b31461012357806313096a411461014357806316048bc414610158575b600080fd5b61010d610229565b60405161011a9190610c89565b60405180910390f35b610136610131366004610b56565b6102f6565b60405161011a9190610c7e565b61014b610361565b60405161011a9190610c6a565b61014b610370565b61016861037f565b60405161011a9190610dcd565b610136610183366004610b16565b610385565b610190610509565b60405161011a9190610dd6565b6101b06101ab366004610b56565b61058b565b005b6101b061068e565b6101686101c8366004610ac7565b61071c565b61014b610737565b61010d610746565b6101b06101eb366004610b56565b6107d1565b6101366101fe366004610b56565b6108c8565b610168610211366004610ae2565b610986565b6101b0610224366004610ac7565b6109b1565b604080518082018252600f81526e5f444f444f5f4c505f544f4b454e5f60881b602082015260035482516306fdde0360e01b815292516060936001600160a01b03909216916306fdde03916004808301926000929190829003018186803b15801561029357600080fd5b505afa1580156102a7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102cf9190810190610b80565b816040516020016102e1929190610c3c565b60405160208183030381529060405291505090565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061034f908690610dcd565b60405180910390a35060015b92915050565b6003546001600160a01b031681565b6000546001600160a01b031681565b60045481565b6001600160a01b0383166000908152600560205260408120548211156103c65760405162461bcd60e51b81526004016103bd90610d5b565b60405180910390fd5b6001600160a01b03841660009081526006602090815260408083203384529091529020548211156104095760405162461bcd60e51b81526004016103bd90610ce3565b6001600160a01b038416600090815260056020526040902054610432908363ffffffff610a5c16565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610467908363ffffffff610a8416565b6001600160a01b0380851660009081526005602090815260408083209490945591871681526006825282812033825290915220546104ab908363ffffffff610a5c16565b6001600160a01b038086166000818152600660209081526040808320338452909152908190209390935591519085169190600080516020610e2d833981519152906104f7908690610dcd565b60405180910390a35060019392505050565b6003546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561054e57600080fd5b505afa158015610562573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105869190610c1b565b905090565b6000546001600160a01b031633146105b55760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b0382166000908152600560205260409020546105de908263ffffffff610a8416565b6001600160a01b03831660009081526005602052604090205560045461060a908263ffffffff610a8416565b6004556040516001600160a01b038316907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590610648908490610dcd565b60405180910390a2816001600160a01b031660006001600160a01b0316600080516020610e2d833981519152836040516106829190610dcd565b60405180910390a35050565b6001546001600160a01b031633146106b85760405162461bcd60e51b81526004016103bd90610cbc565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b031660009081526005602052604090205490565b6001546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107c95780601f1061079e576101008083540402835291602001916107c9565b820191906000526020600020905b8154815290600101906020018083116107ac57829003601f168201915b505050505081565b6000546001600160a01b031633146107fb5760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b038216600090815260056020526040902054610824908263ffffffff610a5c16565b6001600160a01b038316600090815260056020526040902055600454610850908263ffffffff610a5c16565b6004556040516001600160a01b038316907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59061088e908490610dcd565b60405180910390a260006001600160a01b0316826001600160a01b0316600080516020610e2d833981519152836040516106829190610dcd565b336000908152600560205260408120548211156108f75760405162461bcd60e51b81526004016103bd90610d5b565b33600090815260056020526040902054610917908363ffffffff610a5c16565b33600090815260056020526040808220929092556001600160a01b03851681522054610949908363ffffffff610a8416565b6001600160a01b038416600081815260056020526040908190209290925590513390600080516020610e2d8339815191529061034f908690610dcd565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6000546001600160a01b031633146109db5760405162461bcd60e51b81526004016103bd90610d87565b6001600160a01b038116610a015760405162461bcd60e51b81526004016103bd90610d34565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610a7e5760405162461bcd60e51b81526004016103bd90610d11565b50900390565b600082820183811015610aa95760405162461bcd60e51b81526004016103bd90610daa565b9392505050565b80356001600160a01b038116811461035b57600080fd5b600060208284031215610ad8578081fd5b610aa98383610ab0565b60008060408385031215610af4578081fd5b610afe8484610ab0565b9150610b0d8460208501610ab0565b90509250929050565b600080600060608486031215610b2a578081fd5b8335610b3581610e14565b92506020840135610b4581610e14565b929592945050506040919091013590565b60008060408385031215610b68578182fd5b610b728484610ab0565b946020939093013593505050565b600060208284031215610b91578081fd5b815167ffffffffffffffff80821115610ba8578283fd5b81840185601f820112610bb9578384fd5b8051925081831115610bc9578384fd5b604051601f8401601f191681016020018381118282101715610be9578586fd5b604052838152818401602001871015610c00578485fd5b610c11846020830160208501610de4565b9695505050505050565b600060208284031215610c2c578081fd5b815160ff81168114610aa9578182fd5b60008351610c4e818460208801610de4565b8351908301610c61828260208801610de4565b01949350505050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602082528251806020840152610ca8816040850160208701610de4565b601f01601f19169190910160400192915050565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b60208082526014908201527308298989eae829c868abe9c9ea8be8a9c9eaa8e960631b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252601290820152710848298829c868abe9c9ea8be8a9c9eaa8e960731b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b90815260200190565b60ff91909116815260200190565b60005b83811015610dff578181015183820152602001610de7565b83811115610e0e576000848401525b50505050565b6001600160a01b0381168114610e2957600080fd5b5056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209cf0d1d887af2d1880badc337ef0f270c8675b4bfd794dc60bdaa78dec3bd19664736f6c63430006090033e89c586bd81ee35a18f7eac22a732b56e589a2821497cce12a0208828540a36d581f351e2bdb9fa9021bb2a24def989f06ac236f8a92aac14bcbc618ddf3826aa2646970667358221220a7c3f70cc23c3bc7f4459663ac4cd28de21ec73de76092c1f464dcf5d30c400d64736f6c63430006090033",
|
|
"immutableReferences": {},
|
|
"sourceMap": "541:1472:2:-:0;;;;;;;;;;;;;;;;;;;",
|
|
"deployedSourceMap": "541:1472:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6601:882:24;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1771:207:22;;;;;;;;;:::i;:::-;;9778:964:24;;;;;;;;;:::i;2949:133:27:-;;;:::i;2006:43::-;;;:::i;4161:1196:24:-;;;;;;;;;:::i;2587:104:22:-;;;:::i;2473:108::-;;;:::i;985:110::-;;;;;;;;;:::i;264:22:37:-;;;:::i;:::-;;;;;;;;1112:36:27;;;:::i;2043:97:22:-;;;:::i;1604:31:27:-;;;:::i;:::-;;;;;;;;4680:175:28;;;;;;;;;:::i;7489:835:24:-;;;;;;;;;:::i;3873:1392:26:-;;;:::i;1688:42:27:-;;;:::i;2758:97:22:-;;;:::i;1751:121:24:-;;;;;;;;;:::i;3243:135:27:-;;;:::i;9385:387:24:-;;;;;;;;;:::i;2361:106:22:-;;;:::i;2545:161:26:-;;;;;;;;;:::i;1202:27:27:-;;;:::i;1271:::-;;;:::i;1352:::-;;;:::i;912:32::-;;;:::i;963:225:37:-;;;:::i;3433:87:27:-;;;:::i;1101:274:22:-;;;;;;;;;:::i;2418:847:24:-;;;;;;;;;:::i;2808:1006:26:-;;;:::i;1626:139:22:-;;;;;;;;;:::i;2055:41:27:-;;;;;;;;;:::i;:::-;;;;;;;;772:20;;;:::i;1419:23::-;;;:::i;2682:108::-;;;:::i;769:94:22:-;;;;;;;;;:::i;2796:147:27:-;;;;;;;;;:::i;1771:30::-;;;:::i;292:26:37:-;;;:::i;3166:146:22:-;;;;;;;;;:::i;2146:93::-;;;:::i;1477:1499:28:-;;;;;;;;;:::i;1036:29:27:-;;;:::i;2861:93:22:-;;;:::i;869:110::-;;;;;;;;;:::i;5363:1175:24:-;;;;;;;;;:::i;9000:379::-;;;;;;;;;:::i;3318:150:22:-;;;;;;;;;:::i;1071:35:27:-;;;:::i;4485:189:28:-;;;;;;;;;:::i;1002:28:27:-;;;:::i;839:34::-;;;:::i;3271:831:24:-;;;;;;;;;:::i;1511:28:27:-;;;:::i;1849:36::-;;;:::i;2960:99:22:-;;;:::i;1641:41:27:-;;;:::i;2245:110:22:-;;;:::i;1878:125:24:-;;;;;;;;;:::i;1545:28:27:-;;;:::i;5324:581:26:-;;;;;;;;;:::i;2251:109:24:-;;;:::i;798:35:27:-;;;:::i;1957:43::-;;;:::i;3065:95:22:-;;;:::i;2138:107:24:-;;;:::i;1385:28:27:-;;;:::i;1808:35::-;;;:::i;879:27::-;;;:::i;2982:1447:28:-;;;;;;;;;:::i;1736:29:27:-;;;:::i;1579:18::-;;;:::i;2381:158:26:-;;;;;;;;;:::i;5504:799:25:-;;;:::i;10748:963:24:-;;;;;;;;;:::i;597:1414:2:-;;;;;;;;;:::i;1381:239:22:-;;;;;;;;;:::i;737:220:37:-;;;;;;;;;:::i;2009:123:24:-;;;;;;;;;:::i;3088:149:27:-;;;;;;;;;:::i;1622:123:24:-;;;;;;;;;:::i;4819:679:25:-;;;:::i;:::-;;;;;;;;;6601:882:24;515:9:39;;6720:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1522:8:24;::::1;548:16:39::0;1522:8:24::1;1521:9;1513:33;;;;-1:-1:-1::0;;;1513:33:24::1;;;;;;;;;6743:22:::2;6768:29;6786:10;6768:17;:29::i;:::-;6743:54;;6807:15;6825:36;6850:10;6825:24;:36::i;:::-;6807:54;;6925:15;6943:39;6967:14;6943:23;:39::i;:::-;6925:57;;7011:14;7000:7;:25;;6992:52;;;;-1:-1:-1::0;;;6992:52:24::2;;;;;;;;;7107:27;::::0;:47:::2;::::0;7139:14;7107:47:::2;:31;:47;:::i;:::-;7077:27;:77:::0;7164:38:::2;7182:10;7194:7:::0;7164:17:::2;:38::i;:::-;7212:55;7235:2:::0;7239:27:::2;:14:::0;7258:7;7239:27:::2;:18;:27;:::i;:::-;7212:22;:55::i;:::-;7277:26;7295:7;7277:17;:26::i;:::-;7340:2;-1:-1:-1::0;;;;;7319:56:24::2;7328:10;-1:-1:-1::0;;;;;7319:56:24::2;-1:-1:-1::0;;;;;;;;;;;7344:5:24::2;7351:14;7367:7;7319:56;;;;;;;;;;;;;;;;;7404:10;-1:-1:-1::0;;;;;7390:41:24::2;-1:-1:-1::0;;;;;;;;;;;7416:5:24::2;7423:7;7390:41;;;;;;;;;;;;;;;;7449:27;:14:::0;7468:7;7449:27:::2;:18;:27;:::i;:::-;585:9:39::0;:17;;-1:-1:-1;;;;585:17:39;;;7442:34:24;6601:882;-1:-1:-1;;;;;6601:882:24:o;1771:207:22:-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;1869:56:22::1;1889:17;;1908:16;1869:56;;;;;;;;;;;;;;;;1935:17;:36:::0;1771:207::o;9778:964:24:-;9848:15;9893;;9883:6;:25;;9875:67;;;;-1:-1:-1;;;9875:67:24;;;;;;;;;9970:23;9956:10;;;;:37;;;;;;;;;9952:784;;;10009:17;10029:46;10048:26;;10029:14;;:18;;:46;;;;:::i;:::-;10009:66;;10089:13;10105:16;:14;:16::i;:::-;10089:32;;10135:18;10156:33;10172:9;10183:5;10156:15;:33::i;:::-;10135:54;;10203:19;10225:137;10284:15;;10317:3;;10338:10;10225:41;:137::i;:::-;10203:159;;10430:31;10464:149;10523:27;10543:6;10523:15;;:19;;:27;;;;:::i;:::-;10568:3;;10589:10;10464:41;:149::i;:::-;10430:183;-1:-1:-1;10634:52:24;10650:35;10430:183;10678:6;10650:35;:27;:35;:::i;:::-;10634:11;;:52;:15;:52;:::i;:::-;10627:59;;;;;;;;;9952:784;-1:-1:-1;10724:1:24;9952:784;9778:964;;;:::o;2949:133:27:-;3040:20;;3027:48;;;-1:-1:-1;;;3027:48:27;;;;3001:7;;-1:-1:-1;;;;;3040:20:27;;3027:46;;:48;;;;;;;;;;;;;;3040:20;3027:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3020:55;;2949:133;;:::o;2006:43::-;;;;:::o;4161:1196:24:-;515:9:39;;4293:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1522:8:24;::::1;548:16:39::0;1522:8:24::1;1521:9;1513:33;;;;-1:-1:-1::0;;;1513:33:24::1;;;;;;;;;4348:19:::2;4371;:17;:19::i;:::-;4345:45;;;4400:25;4428:22;:20;:22::i;:::-;4400:50;;4488:1;4468:17;:21;4460:45;;;;-1:-1:-1::0;;;4460:45:24::2;;;;;;;;;4516:27;4546:50;4584:11:::0;4546:29:::2;:6:::0;4557:17;4546:29:::2;:10;:29;:::i;:::-;:37:::0;:50:::2;:37;:50;:::i;:::-;4516:80;;4650:36;4675:10;4650:24;:36::i;:::-;4627:19;:59;;4606:141;;;;-1:-1:-1::0;;;4606:141:24::2;;;;;;;;;4811:15;4829:31;4853:6;4829:23;:31::i;:::-;4811:49;;4888:6;4878:7;:16;4870:43;;;;-1:-1:-1::0;;;4870:43:24::2;;;;;;;;;4976:27;::::0;:39:::2;::::0;5008:6;4976:39:::2;:31;:39;:::i;:::-;4946:27;:69:::0;5025:50:::2;5043:10;5055:19:::0;5025:17:::2;:50::i;:::-;5085:47;5108:2:::0;5112:19:::2;:6:::0;5123:7;5112:19:::2;:10;:19;:::i;5085:47::-;5142:26;5160:7;5142:17;:26::i;:::-;-1:-1:-1::0;;;;;5184:73:24;::::2;5193:10;-1:-1:-1::0;;;;;;;;;;;5209:5:24::2;5216:19;:6:::0;5227:7;5216:19:::2;:10;:19;:::i;:::-;5237;5184:73;;;;;;;;;;;;;;;;;5286:10;-1:-1:-1::0;;;;;5272:41:24::2;-1:-1:-1::0;;;;;;;;;;;5298:5:24::2;5305:7;5272:41;;;;;;;;;;;;;;;;5331:19;:6:::0;5342:7;5331:19:::2;:10;:19;:::i;:::-;585:9:39::0;:17;;-1:-1:-1;;;;585:17:39;;;5324:26:24;4161:1196;-1:-1:-1;;;;;;;4161:1196:24:o;2587:104:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2680:4:22::2;2655:29:::0;;-1:-1:-1;;;;2655:29:22::2;-1:-1:-1::0;;;2655:29:22::2;::::0;;2587:104::o;2473:108::-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;2544:22:22::1;:30:::0;;-1:-1:-1;;;;2544:30:22::1;::::0;;2473:108::o;985:110::-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;1060:12:22::1;:28:::0;;-1:-1:-1;;;;;;1060:28:22::1;-1:-1:-1::0;;;;;1060:28:22;;;::::1;::::0;;;::::1;::::0;;985:110::o;264:22:37:-;;;-1:-1:-1;;;;;264:22:37;;:::o;1112:36:27:-;;;;:::o;2043:97:22:-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;2110:15:22::1;:23:::0;;-1:-1:-1;;;;2110:23:22::1;::::0;;2043:97::o;1604:31:27:-;;;;;;:::o;4680:175:28:-;4746:16;4797:26;4816:6;4797:18;:26::i;:::-;-1:-1:-1;4774:49:28;;4680:175;-1:-1:-1;;;;;;4680:175:28:o;7489:835:24:-;515:9:39;;7575:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1522:8:24;::::1;548:16:39::0;1522:8:24::1;1521:9;1513:33;;;;-1:-1:-1::0;;;1513:33:24::1;;;;;;;;;7594:22:::2;7619:28;7636:10;7619:16;:28::i;:::-;7594:53;;7657:15;7675:35;7699:10;7675:23;:35::i;:::-;7657:53;;7774:15;7792:38;7815:14;7792:22;:38::i;:::-;7774:56;;7859:14;7848:7;:25;;7840:52;;;;-1:-1:-1::0;;;7840:52:24::2;;;;;;;;;7954:26;::::0;:46:::2;::::0;7985:14;7954:46:::2;:30;:46;:::i;:::-;7925:26;:75:::0;8010:37:::2;8027:10;8039:7:::0;8010:16:::2;:37::i;:::-;8057:54;8079:2:::0;8083:27:::2;:14:::0;8102:7;8083:27:::2;:18;:27;:::i;:::-;8057:21;:54::i;:::-;8121:25;8138:7;8121:16;:25::i;:::-;8183:2;-1:-1:-1::0;;;;;8162:55:24::2;8171:10;-1:-1:-1::0;;;;;8162:55:24::2;-1:-1:-1::0;;;;;;;;;;;8187:4:24::2;8193:14;8209:7;8162:55;;;;;;;;;;;;;;;;;8246:10;-1:-1:-1::0;;;;;8232:40:24::2;-1:-1:-1::0;;;;;;;;;;;8258:4:24::2;8264:7;8232:40;;;;;;;;3873:1392:26::0;515:9:39;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;3940:8:26;::::1;548:16:39::0;3940:8:26::1;3932:36;;;;-1:-1:-1::0;;;3932:36:26::1;;;;;;;;;3997:10;3987:21;::::0;;;:9:::1;:21;::::0;;;;;::::1;;3986:22;3978:50;;;;-1:-1:-1::0;;;3978:50:26::1;;;;;;;;;4048:10;4038:21;::::0;;;:9:::1;:21;::::0;;;;:28;;-1:-1:-1;;4038:28:26::1;4062:4;4038:28;::::0;;:21;4100:36:::1;::::0;:24:::1;:36::i;:::-;4077:59;;4146:19;4168:35;4192:10;4168:23;:35::i;:::-;4146:57:::0;-1:-1:-1;4214:19:26::1;4251:16:::0;;4247:134:::1;;4297:73;4347:22;:20;:22::i;:::-;4297:27;::::0;:45:::1;::::0;4329:12;4297:45:::1;:31;:45;:::i;:::-;:49:::0;:73:::1;:49;:73;:::i;:::-;4283:87;;4247:134;4390:18;4426:15:::0;;4422:129:::1;;4470:70;4518:21;:19;:21::i;:::-;4470:26;::::0;:43:::1;::::0;4501:11;4470:43:::1;:30;:43;:::i;:70::-;4457:83;;4422:129;4591:27;::::0;:44:::1;::::0;4623:11;4591:44:::1;:31;:44;:::i;:::-;4561:27;:74:::0;4674:26:::1;::::0;:42:::1;::::0;4705:10;4674:42:::1;:30;:42;:::i;:::-;4645:26;:71;;;;4741:75;4757:58;4773:11;4786:28;;4757:15;:58::i;:::-;4741:11:::0;;:75:::1;:15;:75;:::i;:::-;4727:89;;4839:75;4854:59;4870:12;4884:28;;4854:15;:59::i;:::-;4839:10:::0;;:75:::1;:14;:75;:::i;:::-;4826:88;;4925:45;4947:10;4959;4925:21;:45::i;:::-;4980:47;5003:10;5015:11;4980:22;:47::i;:::-;5051:20;::::0;5038:64:::1;::::0;-1:-1:-1;;;5038:64:26;;-1:-1:-1;;;;;5051:20:26;;::::1;::::0;5038:39:::1;::::0;:64:::1;::::0;5078:10:::1;::::0;5090:11;;5038:64:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5125:21:26::1;::::0;5112:66:::1;::::0;-1:-1:-1;;;5112:66:26;;-1:-1:-1;;;;;5125:21:26;;::::1;::::0;-1:-1:-1;5112:40:26::1;::::0;-1:-1:-1;5112:66:26::1;::::0;5153:10:::1;::::0;5165:12;;5112:66:::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5206:10;-1:-1:-1::0;;;;;5194:48:26::1;;5218:10;5230:11;5194:48;;;;;;;;;;;;;;;;5252:7;;;;585:9:39::0;:17;;-1:-1:-1;;;;585:17:39;;;3873:1392:26:o;1688:42:27:-;;;;:::o;2758:97:22:-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;2824:16:22::1;:24:::0;;-1:-1:-1;;2824:24:22::1;::::0;;2758:97::o;1751:121:24:-;1806:7;1832:33;1846:10;1858:6;1832:13;:33::i;:::-;1825:40;1751:121;-1:-1:-1;;1751:121:24:o;3243:135:27:-;3335:21;;3322:49;;;-1:-1:-1;;;3322:49:27;;;;3296:7;;-1:-1:-1;;;;;3335:21:27;;3322:47;;:49;;;;;;;;;;;;;;3335:21;3322:49;;;;;;;;;;9385:387:24;9445:17;9474:25;9502:22;:20;:22::i;:::-;9474:50;;9537:19;9560;:17;:19::i;:::-;9534:45;-1:-1:-1;;9593:22:24;9589:61;;9638:1;9631:8;;;;;;9589:61;9671:68;9721:17;9671:45;9704:11;9671:28;9696:2;9671:24;:28::i;:::-;:32;:45;:32;:45;:::i;:68::-;9659:80;9385:387;-1:-1:-1;;;;9385:387:24:o;2361:106:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2456:4:22::2;2430:30:::0;;-1:-1:-1;;;;2430:30:22::2;-1:-1:-1::0;;;2430:30:22::2;::::0;;2361:106::o;2545:161:26:-;515:9:39;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;2623:41:26::1;2645:10;2657:6:::0;2623:21:::1;:41::i;:::-;2674:25;2692:6;2674:17;:25::i;:::-;-1:-1:-1::0;585:9:39;:17;;-1:-1:-1;;;;585:17:39;;;2545:161:26:o;1202:27:27:-;;;-1:-1:-1;;;;;1202:27:27;;:::o;1271:::-;;;-1:-1:-1;;;;;1271:27:27;;:::o;1352:::-;;;-1:-1:-1;;;;;1352:27:27;;:::o;912:32::-;;;;:::o;963:225:37:-;1030:11;;-1:-1:-1;;;;;1030:11:37;1016:10;:25;1008:51;;;;-1:-1:-1;;;1008:51:37;;;;;;;;;1104:11;;;1095:7;;1074:42;;-1:-1:-1;;;;;1104:11:37;;;;1095:7;;;;1074:42;;;1136:11;;;;1126:21;;-1:-1:-1;;;;;;1126:21:37;;;-1:-1:-1;;;;;1136:11:37;;1126:21;;;;1157:24;;;963:225::o;3433:87:27:-;3501:3;3433:87;:::o;1101:274:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;1209:74:22::1;1240:13;;1255:27;1209:74;;;;;;;;;;;;;;;;1293:13;:43:::0;;;1346:22:::1;:20;:22::i;:::-;;1101:274:::0;:::o;2418:847:24:-;515:9:39;;2555:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1278:23:24;::::1;548:16:39::0;1278:23:24::1;1270:61;;;;-1:-1:-1::0;;;1270:61:24::1;;;;;;;;;2581:19:::2;2604;:17;:19::i;:::-;2578:45;;;2633:25;2661:22;:20;:22::i;:::-;2633:50:::0;-1:-1:-1;2711:6:24;2731:22;2727:252:::2;;2837:23;:6:::0;2848:11;2837:23:::2;:10;:23;:::i;:::-;2827:33;;2727:252;;;2881:15:::0;;2877:102:::2;;2922:46;2956:11:::0;2922:29:::2;:6:::0;2933:17;2922:29:::2;:10;:29;:::i;:46::-;2912:56;;2877:102;3011:41;3033:10;3045:6;3011:21;:41::i;:::-;3062:30;3080:2;3084:7;3062:17;:30::i;:::-;3132:27;::::0;:39:::2;::::0;3164:6;3132:39:::2;:31;:39;:::i;:::-;3102:27;:69:::0;3187:47:::2;::::0;-1:-1:-1;;;;;3187:47:24;::::2;::::0;3195:10:::2;::::0;3187:47:::2;::::0;::::2;::::0;3211:5:::2;::::0;3218:6;;3226:7;;3187:47:::2;;;;;;;;;;585:9:39::0;:17;;-1:-1:-1;;;;585:17:39;;;3251:7:24;2418:847;-1:-1:-1;;;;;2418:847:24:o;2808:1006:26:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2885:4:26::2;2874:15:::0;;-1:-1:-1;;;;;;;;2874:15:26;;::::2;-1:-1:-1::0;;;2874:15:26::2;2980:23:::0;;;2874:15;3040:21:::2;:19;:21::i;:::-;3013:48;;3071:25;3099:22;:20;:22::i;:::-;3071:50;;3154:27;;3136:15;;:45;3132:316;;;3197:18;3218:48;3238:27;;3218:15;;:19;;:48;;;;:::i;:::-;3197:69;;3311:50;3332:10;3344:16;3311:20;:50::i;:::-;3280:28;:81:::0;-1:-1:-1;3132:316:26::2;;;3422:15;::::0;3392:27:::2;:45:::0;3132:316:::2;3479:26;;3462:14;;:43;3458:309;;;3521:17;3541:46;3560:26;;3541:14;;:18;;:46;;;;:::i;:::-;3521:66;;3632:50;3653:9;3664:17;3632:20;:50::i;:::-;3601:28;:81:::0;-1:-1:-1;3458:309:26::2;;;3742:14;::::0;3713:26:::2;:43:::0;3458:309:::2;-1:-1:-1::0;;3777:10:26::2;:30:::0;;-1:-1:-1;;3777:30:26::2;::::0;;2808:1006::o;1626:139:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;1688:18:22::1;1696:3;;1701:4;1688:18;;;;;;;;;;;;;;;;1716:3;:10:::0;;;1736:22:::1;:20;:22::i;2055:41:27:-:0;;;;;;;;;;;;;;;:::o;772:20::-;;;-1:-1:-1;;;772:20:27;;;;;:::o;1419:23::-;;;-1:-1:-1;;;;;1419:23:27;;:::o;2682:108::-;2763:8;;2755:28;;;-1:-1:-1;;;2755:28:27;;;;2729:7;;-1:-1:-1;;;;;2763:8:27;;2755:26;;:28;;;;;;;;;;;;;;2763:8;2755:28;;;;;;;;;;769:94:22;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;836:8:22::1;:20:::0;;-1:-1:-1;;;;;;836:20:22::1;-1:-1:-1::0;;;;;836:20:22;;;::::1;::::0;;;::::1;::::0;;769:94::o;2796:147:27:-;2901:20;;2888:48;;-1:-1:-1;;;2888:48:27;;2862:7;;-1:-1:-1;;;;;2901:20:27;;2888:44;;:48;;2933:2;;2888:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1771:30;;;;:::o;292:26:37:-;;;-1:-1:-1;;;;;292:26:37;;:::o;3166:146:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;3263:20:22::2;:42:::0;3166:146::o;2146:93::-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2228:4:22::2;2210:22:::0;;-1:-1:-1;;;;2210:22:22::2;-1:-1:-1::0;;;2210:22:22::2;::::0;;2146:93::o;1477:1499:28:-;1031:15;;1669:7;;-1:-1:-1;;;1031:15:28;;;;1023:45;;;;-1:-1:-1;;;1023:45:28;;;;;;;;;1242:17:::1;::::0;::::1;::::0;::::1;;;1234:49;;;;-1:-1:-1::0;;;1234:49:28::1;;;;;;;;;1365:17:::2;;1350:11;:32;;1342:61;;;;-1:-1:-1::0;;;1342:61:28::2;;;;;;;;;515:9:39::3;::::0;-1:-1:-1;;;515:9:39;::::3;;;514:10;506:32;;;;-1:-1:-1::0;;;506:32:39::3;;;;;;;;;560:4;548:16:::0;;-1:-1:-1;;;;548:16:39::3;-1:-1:-1::0;;;548:16:39::3;::::0;;;;;;;;1931:27:28::4;1951:6:::0;1931:19:::4;:27::i;:::-;1711:247;;;;;;;;;;;;1992:15;1976:12;:31;;1968:72;;;;-1:-1:-1::0;;;1968:72:28::4;;;;;;;;;2076:48;2099:10;2111:12;2076:22;:48::i;:::-;2138:15:::0;;2134:113:::4;;2169:67;::::0;-1:-1:-1;;;2169:67:28;;2181:10:::4;::::0;2169:32:::4;::::0;:67:::4;::::0;2202:5:::4;::::0;2209:6;;2217:12;;2231:4;;;;2169:67:::4;;;;;;;;;;;;;;;;;;;;;;::::0;::::4;;;;;;;;;;;;::::0;::::4;;;;;;;;;2134:113;2256:40;2277:10;2289:6;2256:20;:40::i;:::-;2310:15:::0;;2306:165:::4;;2364:12;::::0;2341:48:::4;::::0;-1:-1:-1;;;;;2364:12:28::4;2378:10:::0;2341:22:::4;:48::i;:::-;2428:12;::::0;2408:52:::4;::::0;-1:-1:-1;;;;;2428:12:28;;::::4;::::0;2408:52:::4;::::0;::::4;::::0;2428:12:::4;::::0;2449:10;;2408:52:::4;;;;;;;;;;2306:165;2541:14;2510:27;;:45;2506:120;;2571:27;:44:::0;;;2506:120:::4;2669:13;2639:26;;:43;2635:116;;2698:26;:42:::0;;;2635:116:::4;2778:10;2764:24;;;;;;;;:10;::::0;::::4;;:24;::::0;::::4;;;;;;;2760:78;;2804:10;:23:::0;;2817:10;;2804;-1:-1:-1;;2804:23:28::4;::::0;2817:10;2804:23:::4;::::0;::::4;;;;;;;;;;;2760:78;2848:29;2866:10;2848:17;:29::i;:::-;2906:10;-1:-1:-1::0;;;;;2892:47:28::4;;2918:6;2926:12;2892:47;;;;;;;;;;;;;;;;-1:-1:-1::0;;585:9:39::3;:17:::0;;-1:-1:-1;;;;585:17:39::3;::::0;;-1:-1:-1;2957:12:28;;1477:1499;-1:-1:-1;;;;;;;1477:1499:28:o;1036:29:27:-;;;;;;;;;:::o;2861:93:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;2924:16:22::2;:23:::0;;-1:-1:-1;;2924:23:22::2;2943:4;2924:23;::::0;;2861:93::o;869:110::-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;944:12:22::1;:28:::0;;-1:-1:-1;;;;;;944:28:22::1;-1:-1:-1::0;;;;;944:28:22;;;::::1;::::0;;;::::1;::::0;;869:110::o;5363:1175:24:-;515:9:39;;5494:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1522:8:24;::::1;548:16:39::0;1522:8:24::1;1521:9;1513:33;;;;-1:-1:-1::0;;;1513:33:24::1;;;;;;;;;5547:18:::2;5571:19;:17;:19::i;:::-;5546:44;;;5600:24;5627:21;:19;:21::i;:::-;5600:48;;5685:1;5666:16;:20;5658:43;;;;-1:-1:-1::0;;;5658:43:24::2;;;;;;;;;5712:26;5741:48;5778:10:::0;5741:28:::2;:6:::0;5752:16;5741:28:::2;:10;:28;:::i;:48::-;5712:77;;5842:35;5866:10;5842:23;:35::i;:::-;5820:18;:57;;5799:138;;;;-1:-1:-1::0;;;5799:138:24::2;;;;;;;;;6001:15;6019:30;6042:6;6019:22;:30::i;:::-;6001:48;;6078:6;6067:7;:17;;6059:44;;;;-1:-1:-1::0;;;6059:44:24::2;;;;;;;;;6165:26;::::0;:38:::2;::::0;6196:6;6165:38:::2;:30;:38;:::i;:::-;6136:26;:67:::0;6213:48:::2;6230:10;6242:18:::0;6213:16:::2;:48::i;:::-;6271:46;6293:2:::0;6297:19:::2;:6:::0;6308:7;6297:19:::2;:10;:19;:::i;6271:46::-;6327:25;6344:7;6327:16;:25::i;:::-;-1:-1:-1::0;;;;;6368:71:24;::::2;6377:10;-1:-1:-1::0;;;;;;;;;;;6393:4:24::2;6399:19;:6:::0;6410:7;6399:19:::2;:10;:19;:::i;:::-;6420:18;6368:71;;;;;;;;;;;;;;;;;6468:10;-1:-1:-1::0;;;;;6454:40:24::2;-1:-1:-1::0;;;;;;;;;;;6480:4:24::2;6486:7;6454:40;;;;;;;;9000:379:::0;9059:17;9088:24;9115:21;:19;:21::i;:::-;9088:48;;9147:18;9171:19;:17;:19::i;:::-;-1:-1:-1;9146:44:24;-1:-1:-1;9204:21:24;9200:60;;9248:1;9241:8;;;;;;9200:60;9281:65;9329:16;9281:43;9313:10;9281:27;9305:2;9281:23;:27::i;3318:150:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;3417:21:22::2;:44:::0;3318:150::o;1071:35:27:-;;;;:::o;4485:189:28:-;4552:20;4611:27;4631:6;4611:19;:27::i;1002:28:27:-;;;;;;:::o;839:34::-;;;-1:-1:-1;;;839:34:27;;;;;:::o;3271:831:24:-;515:9:39;;3406:7:24;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;;;-1:-1:-1;;;1403:22:24;::::1;548:16:39::0;1403:22:24::1;1395:59;;;;-1:-1:-1::0;;;1395:59:24::1;;;;;;;;;3430:18:::2;3454:19;:17;:19::i;:::-;3429:44;;;3483:24;3510:21;:19;:21::i;:::-;3483:48:::0;-1:-1:-1;3559:6:24;3579:21;3575:246:::2;;3683:22;:6:::0;3694:10;3683:22:::2;:10;:22;:::i;:::-;3673:32;;3575:246;;;3726:14:::0;;3722:99:::2;;3766:44;3799:10:::0;3766:28:::2;:6:::0;3777:16;3766:28:::2;:10;:28;:::i;:44::-;3756:54;;3722:99;3853:40;3874:10;3886:6;3853:20;:40::i;:::-;3903:29;3920:2;3924:7;3903:16;:29::i;:::-;3971:26;::::0;:38:::2;::::0;4002:6;3971:38:::2;:30;:38;:::i;:::-;3942:26;:67:::0;4025:46:::2;::::0;-1:-1:-1;;;;;4025:46:24;::::2;::::0;4033:10:::2;::::0;4025:46:::2;::::0;::::2;::::0;4049:4:::2;::::0;4055:6;;4063:7;;4025:46:::2;;1511:28:27::0;;;;:::o;1849:36::-;;;-1:-1:-1;;;;;1849:36:27;;:::o;2960:99:22:-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;3027:17:22::1;:25:::0;;-1:-1:-1;;3027:25:22::1;::::0;;2960:99::o;1641:41:27:-;;;;:::o;2245:110:22:-;2212:12:27;;-1:-1:-1;;;;;2212:12:27;2198:10;:26;;:51;;-1:-1:-1;2242:7:27;;-1:-1:-1;;;;;2242:7:27;2228:10;:21;2198:51;2190:87;;;;-1:-1:-1;;;2190:87:27;;;;;;;;;2317:23:22::1;:31:::0;;-1:-1:-1;;;;2317:31:22::1;::::0;;2245:110::o;1878:125:24:-;1935:7;1961:35;1977:10;1989:6;1961:15;:35::i;1545:28:27:-;;;;:::o;5324:581:26:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;5415:12:26::1;::::0;-1:-1:-1;;;;;5406:21:26;;::::1;5415:12:::0;::::1;5406:21;5402:214;;;5517:14;::::0;:26:::1;::::0;5536:6;5517:26:::1;:18;:26;:::i;:::-;5475:12;::::0;5468:45:::1;::::0;-1:-1:-1;;;5468:45:26;;-1:-1:-1;;;;;5475:12:26;;::::1;::::0;5468:30:::1;::::0;:45:::1;::::0;5507:4:::1;::::0;5468:45:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:75;;5443:162;;;;-1:-1:-1::0;;;5443:162:26::1;;;;;;;;;5638:13;::::0;-1:-1:-1;;;;;5629:22:26;;::::1;5638:13:::0;::::1;5629:22;5625:218;;;5742:15;::::0;:27:::1;::::0;5762:6;5742:27:::1;:19;:27;:::i;:::-;5699:13;::::0;5692:46:::1;::::0;-1:-1:-1;;;5692:46:26;;-1:-1:-1;;;;;5699:13:26;;::::1;::::0;5692:31:::1;::::0;:46:::1;::::0;5732:4:::1;::::0;5692:46:::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:77;;5667:165;;;;-1:-1:-1::0;;;5667:165:26::1;;;;;;;;;5852:46;-1:-1:-1::0;;;;;5852:26:26;::::1;5879:10;5891:6:::0;5852:46:::1;:26;:46;:::i;2251:109:24:-:0;2297:7;2323:30;2342:10;2323:18;:30::i;798:35:27:-;;;-1:-1:-1;;;798:35:27;;;;;:::o;1957:43::-;;;;:::o;3065:95:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;2341:8:27::1;::::0;-1:-1:-1;;;2341:8:27;::::1;;;2340:9;2332:33;;;;-1:-1:-1::0;;;2332:33:27::1;;;;;;;;;3129:17:22::2;:24:::0;;-1:-1:-1;;3129:24:22::2;;;::::0;;3065:95::o;2138:107:24:-;2183:7;2209:29;2227:10;2209:17;:29::i;1385:28:27:-;;;-1:-1:-1;;;;;1385:28:27;;:::o;1808:35::-;;;-1:-1:-1;;;;;1808:35:27;;:::o;879:27::-;;;-1:-1:-1;;;879:27:27;;;;;:::o;2982:1447:28:-;1031:15;;3168:7;;-1:-1:-1;;;1031:15:28;;;;1023:45;;;;-1:-1:-1;;;1023:45:28;;;;;;;;;1135:16:::1;::::0;::::1;;1127:47;;;;-1:-1:-1::0;;;1127:47:28::1;;;;;;;;;1365:17:::2;;1350:11;:32;;1342:61;;;;-1:-1:-1::0;;;1342:61:28::2;;;;;;;;;515:9:39::3;::::0;-1:-1:-1;;;515:9:39;::::3;;;514:10;506:32;;;;-1:-1:-1::0;;;506:32:39::3;;;;;;;;;560:4;548:16:::0;;-1:-1:-1;;;;548:16:39::3;-1:-1:-1::0;;;548:16:39::3;::::0;;;;;;;;3424:26:28::4;3443:6:::0;3424:18:::4;:26::i;:::-;3210:240;;;;;;;;;;;;3480:11;3468:8;:23;;3460:58;;;;-1:-1:-1::0;;;3460:58:28::4;;;;;;;;;3554:41;3576:10;3588:6;3554:21;:41::i;:::-;3609:15:::0;;3605:108:::4;;3640:62;::::0;-1:-1:-1;;;3640:62:28;;3652:10:::4;::::0;3640:32:::4;::::0;:62:::4;::::0;3673:4:::4;::::0;3679:6;;3687:8;;3697:4;;;;3640:62:::4;;;;;;;;;;;;;;;;;;;;;;::::0;::::4;;;;;;;;;;;;::::0;::::4;;;;;;;;;3605:108;3722:43;3744:10;3756:8;3722:21;:43::i;:::-;3779:14:::0;;3775:160:::4;;3831:12;::::0;3809:46:::4;::::0;-1:-1:-1;;;;;3831:12:28::4;3845:9:::0;3809:21:::4;:46::i;:::-;3894:12;::::0;3874:50:::4;::::0;-1:-1:-1;;;;;3894:12:28;;::::4;::::0;3874:50:::4;::::0;::::4;::::0;3894:12;;3914:9;;3874:50:::4;;;;;;;;;;3775:160;4005:14;3974:27;;:45;3970:120;;4035:27;:44:::0;;;3970:120:::4;4133:13;4103:26;;:43;4099:116;;4162:26;:42:::0;;;4099:116:::4;4242:10;4228:24;;;;;;;;:10;::::0;::::4;;:24;::::0;::::4;;;;;;;4224:78;;4268:10;:23:::0;;4281:10;;4268;-1:-1:-1;;4268:23:28::4;::::0;4281:10;4268:23:::4;::::0;::::4;;;;;;;;;;;4224:78;4312:27;4329:9;4312:16;:27::i;:::-;4367:10;-1:-1:-1::0;;;;;4354:42:28::4;;4379:6;4387:8;4354:42;;;;;;;;1736:29:27::0;;;;:::o;1579:18::-;;;;:::o;2381:158:26:-;515:9:39;;-1:-1:-1;;;515:9:39;;;;514:10;506:32;;;;-1:-1:-1;;;506:32:39;;;;;;;;;560:4;548:16;;-1:-1:-1;;;;548:16:39;-1:-1:-1;;;548:16:39;;;2458:40:26::1;2479:10;2491:6:::0;2458:20:::1;:40::i;:::-;2508:24;2525:6;2508:16;:24::i;5504:799:25:-:0;5548:16;5577:18;5597:19;5620;:17;:19::i;:::-;5576:63;;-1:-1:-1;5576:63:25;-1:-1:-1;5667:23:25;5653:10;;;;:37;;;;;;;;;5649:648;;;5706:9;5718:134;5756:49;5789:15;;5756:28;5772:11;5756;:15;;:28;;;;:::i;:49::-;5823:15;;5718:20;:134::i;:::-;5706:146;;5870:53;5899:23;5915:3;;5920:1;5899:15;:23::i;:::-;5890:3;;5870:24;;379:6:36;;5870:24:25;:19;:24;:::i;:::-;:28;:53;:28;:53;:::i;:::-;5866:57;;5944:41;5965:16;:14;:16::i;:::-;5983:1;5944:20;:41::i;:::-;5937:48;;;;;;;5649:648;6016:9;6028:130;6066:46;6097:14;;6066:26;6081:10;6066;:14;;:26;;;;:::i;:46::-;6130:14;;6028:20;:130::i;:::-;6016:142;;6176:53;6205:23;6221:3;;6226:1;6205:15;:23::i;6176:53::-;6172:57;;6250:36;6266:16;:14;:16::i;:::-;6284:1;6250:15;:36::i;10748:963:24:-;10817:15;10862:14;;10852:6;:24;;10844:65;;;;-1:-1:-1;;;10844:65:24;;;;;;;;;10937:23;10923:10;;;;:37;;;;;;;;;10919:786;;;10976:18;10997:48;11017:27;;10997:15;;:19;;:48;;;;:::i;:::-;10976:69;;11059:13;11075:16;:14;:16::i;:::-;11059:32;;11105:18;11126:39;11147:10;11159:5;11126:20;:39::i;:::-;11105:60;;11179:18;11200:136;11259:14;;11291:3;;11312:10;11200:41;:136::i;:::-;11179:157;;11403:30;11436:148;11495:26;11514:6;11495:14;;:18;;:26;;;;:::i;597:1414:2:-;907:13;;-1:-1:-1;;;907:13:2;;;;906:14;898:43;;;;-1:-1:-1;;;898:43:2;;;;;;;;;967:4;951:20;;-1:-1:-1;;;;951:20:2;-1:-1:-1;;;951:20:2;;;;1005:15;;-1:-1:-1;;;;;1005:15:2;;;-1:-1:-1;;;;;;1005:15:2;;;;;;;;;;1035:41;;1068:7;;;951:20;1035:41;;951:20;;1035:41;1087:12;:25;;-1:-1:-1;;;;;;1087:25:2;;;-1:-1:-1;;;;;1087:25:2;;;;;;;;;;1122:12;:25;;;;;;;;;;1157:12;:24;;;;;;;;;;;;1191:13;:26;;;;;;;;;;1227:8;:17;;;;;;;;;;;;-1:-1:-1;1255:30:2;;-1:-1:-1;;;;1336:23:2;;;1369:17;:33;;;1466:16;:23;;1087:25;-1:-1:-1;;1466:23:2;;;;;;-1:-1:-1;;1499:24:2;;;;;;;-1:-1:-1;;;1627:30:2;;;-1:-1:-1;1667:31:2;;;1709:13;:25;;;1744:13;:25;;;1779:3;:7;;;1796:10;:30;;;;;;;;1868:29;;-1:-1:-1;;1884:12:2;;;;;1868:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1837:20:2;:61;;-1:-1:-1;;;;;;1837:61:2;-1:-1:-1;;;;;1837:61:2;;;;;;1956:13;;1940:30;;1956:13;;;1940:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1908:21:2;:63;;-1:-1:-1;;;;;;1908:63:2;-1:-1:-1;;;;;1908:63:2;;;;;;;;;;1982:22;:20;:22::i;:::-;;597:1414;;;;;;;;;;;:::o;1381:239:22:-;648:7:37;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;1475:60:22::1;1499:13;;1514:20;1475:60;;;;;;;;;;;;;;;;1545:13;:36:::0;;;1591:22:::1;:20;:22::i;737:220:37:-:0;648:7;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;-1:-1:-1;;;;;819:22:37;::::1;811:48;;;;-1:-1:-1::0;;;811:48:37::1;;;;;;;;;900:7;::::0;;874:44:::1;::::0;-1:-1:-1;;;;;874:44:37;;::::1;::::0;900:7;::::1;::::0;874:44:::1;::::0;::::1;928:11;:22:::0;;-1:-1:-1;;;;;;928:22:37::1;-1:-1:-1::0;;;;;928:22:37;;;::::1;::::0;;;::::1;::::0;;737:220::o;2009:123:24:-;2065:7;2091:34;2106:10;2118:6;2091:14;:34::i;3088:149:27:-;3194:21;;3181:49;;-1:-1:-1;;;3181:49:27;;3155:7;;-1:-1:-1;;;;;3194:21:27;;3181:45;;:49;;3227:2;;3181:49;;;;1622:123:24;1678:7;1704:34;1719:10;1731:6;1704:14;:34::i;4819:679:25:-;4932:15;;4969:14;;4869:18;;;;;4997:10;;;;:31;;;;;;;;;4993:499;;;5052:26;;5080:27;;5044:64;;;;;;;;4993:499;5143:23;5129:10;;;;:37;;;;;;;;;5125:367;;;5182:21;5206:18;:16;:18::i;:::-;5246:26;;5182:42;;-1:-1:-1;5274:20:25;:1;5182:42;5274:20;:5;:20;:::i;:::-;5238:57;;;;;;;;;5125:367;5330:23;5316:10;;;;:37;;;;;;;;;5312:180;;;5369:20;5392:18;:16;:18::i;:::-;5369:41;-1:-1:-1;5432:19:25;:1;5369:41;5432:19;:5;:19;:::i;:::-;5453:27;;5424:57;;;;;;;;;5312:180;4819:679;;;;;:::o;934:134:41:-;992:7;1024:1;1019;:6;;1011:28;;;;-1:-1:-1;;;1011:28:41;;;;;;;;;-1:-1:-1;1056:5:41;;;934:134::o;8806:137:24:-;8895:21;;8882:54;;-1:-1:-1;;;8882:54:24;;-1:-1:-1;;;;;8895:21:24;;;;8882:40;;:54;;8923:4;;8929:6;;8882:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8806:137;;:::o;1763:187:26:-;1849:13;;1842:46;;-1:-1:-1;;;;;1849:13:26;1877:2;1881:6;1842:46;:34;:46;:::i;:::-;1916:15;;:27;;1936:6;1916:27;:19;:27;:::i;:::-;1898:15;:45;-1:-1:-1;;1763:187:26:o;2201:174::-;2293:27;;:39;;2325:6;2293:39;:31;:39;:::i;:::-;2263:27;:69;2347:21;;;;;;2354:6;;2362:5;;2347:21;;;;;;;;;;2201:174;:::o;392:115:36:-;455:7;379:6;481:13;:6;492:1;481:13;:10;:13;:::i;:::-;:19;;;;;;;392:115;-1:-1:-1;;;392:115:36:o;3310:569:35:-;3448:10;3504:12;3519:62;3539:37;3574:1;3539:30;3555:1;3558:10;3539:15;:30::i;:37::-;3578:2;3519:19;:62::i;:::-;3504:77;-1:-1:-1;3598:53:35;:46;379:6:36;3598:25:35;3504:77;379:6:36;3598:25:35;:8;:25;:::i;:46::-;:51;:53::i;:::-;3591:60;-1:-1:-1;3661:15:35;3679:56;3699:25;3591:60;379:6:36;3699:25:35;:8;:25;:::i;:::-;3726:8;:1;3732;3726:8;:5;:8;:::i;:::-;3679:19;:56::i;:::-;3661:74;-1:-1:-1;3823:49:35;3839:2;3843:28;379:6:36;3661:74:35;3843:28;:19;:28;:::i;:::-;3823:15;:49::i;:::-;3816:56;3310:569;-1:-1:-1;;;;;;3310:569:35:o;1074:157:41:-;1132:7;1163:5;;;1186:6;;;;1178:28;;;;-1:-1:-1;;;1178:28:41;;;;;;;;;1223:1;1074:157;-1:-1:-1;;;1074:157:41:o;281:217::-;339:7;362:6;358:45;;-1:-1:-1;391:1:41;384:8;;358:45;425:5;;;429:1;425;:5;:1;448:5;;;;;:10;440:32;;;;-1:-1:-1;;;440:32:41;;;;;;;;648:280;710:7;729:16;748:9;752:1;755;748:3;:9::i;:::-;729:28;-1:-1:-1;791:12:41;;;787:16;;817:13;;813:109;;-1:-1:-1;864:1:41;853:12;;-1:-1:-1;846:19:41;;813:109;-1:-1:-1;903:8:41;-1:-1:-1;896:15:41;;7611:2308:28;7715:16;7745:17;7776;7807:24;7845:22;7881:21;7961:19;:17;:19::i;:::-;7927:53;;;;;;;;8050:38;8066:6;8074:13;;8050:15;:38::i;:::-;8038:50;;8110:38;8126:6;8134:13;;8110:15;:38::i;:::-;8098:50;-1:-1:-1;8158:21:28;8182:36;8098:50;8182:21;:6;8193:9;8182:21;:10;:21;:::i;:36::-;8158:60;-1:-1:-1;8247:17:28;8233:10;;;;:31;;;;;;;;;8229:1591;;;8318:47;8336:13;8351;8318:17;:47::i;:::-;8307:58;;8392:23;8379:36;;8229:1591;;;8450:23;8436:10;;;;:37;;;;;;;;;8432:1388;;;8527:65;8547:13;8562:14;;8578:13;8527:19;:65::i;8432:1388::-;8677:23;8663:10;;;;:37;;;;;;;;;8659:1161;;;8716:25;8744:35;8763:15;;8744:14;:18;;:35;;;;:::i;:::-;8716:63;;8793:28;8824:33;8843:13;8824:14;;:18;;:33;;;;:::i;:::-;8793:64;;8967:20;8951:13;:36;8947:863;;;9166:67;9186:13;9201:15;;9218:14;9166:19;:67::i;:::-;9155:78;;9264:23;9251:36;;8947:863;;;9329:20;9312:13;:37;9308:502;;;9433:17;9422:28;;9481:17;9468:30;;9308:502;;;9607:134;9650:73;9668:39;:13;9686:20;9668:39;:17;:39;:::i;:::-;9709:13;9650:17;:73::i;9607:134::-;9596:145;;9772:23;9759:36;;9308:502;8659:1161;;;-1:-1:-1;7611:2308:28;;;;;;;:::o;8665:135:24:-;8753:20;;8740:53;;-1:-1:-1;;;8740:53:24;;-1:-1:-1;;;;;8753:20:24;;;;8740:39;;:53;;8780:4;;8786:6;;8740:53;;;;1574:183:26;1659:12;;1652:45;;-1:-1:-1;;;;;1659:12:26;1686:2;1690:6;1652:45;:33;:45;:::i;:::-;1724:14;;:26;;1743:6;1724:26;:18;:26;:::i;:::-;1707:14;:43;-1:-1:-1;;1574:183:26:o;2025:170::-;2115:26;;:38;;2146:6;2115:38;:30;:38;:::i;:::-;2086:26;:67;2168:20;;;;;;2175:6;;2183:4;;2168:20;;504:138:41;562:7;593:1;589;:5;581:32;;;;-1:-1:-1;;;581:32:41;;;;;;;;;634:1;630;:5;;;;1222:346:26;1354:21;;1323:15;;:27;;1343:6;1323:27;:19;:27;:::i;:::-;:52;;1302:127;;;;-1:-1:-1;;;1302:127:26;;;;;;;;;1446:13;;1439:67;;-1:-1:-1;;;;;1446:13:26;1478:4;1492;1499:6;1439:67;:38;:67;:::i;:::-;1534:15;;:27;;1554:6;1534:27;:19;:27;:::i;2440:236:27:-;2495:7;379:6:36;2522:3:27;;:21;2514:38;;;;-1:-1:-1;;;2514:38:27;;;;;;;;;2576:1;2570:3;;:7;2562:23;;;;-1:-1:-1;;;2562:23:27;;;;;;;;;379:6:36;2603:32:27;2621:13;;2603;;:17;;:32;;;;:::i;:::-;:50;2595:74;;;;-1:-1:-1;;;2595:74:27;;;;;;;;8522:137:24;8611:21;;8598:54;;-1:-1:-1;;;8598:54:24;;-1:-1:-1;;;;;8611:21:24;;;;8598:40;;:54;;8639:4;;8645:6;;8598:54;;;;645:123:36;713:7;739:22;759:1;739:15;:6;379;739:15;:10;:15;:::i;4861:2744:28:-;4966:20;5000:18;5032;5064:24;5102:22;5138:21;5218:19;:17;:19::i;:::-;5184:53;-1:-1:-1;5184:53:28;-1:-1:-1;5273:6:28;5248:22;5294:10;;;;:31;;;;;;;;;5290:1984;;;5416:50;5435:14;5451;5416:18;:50::i;:::-;5401:65;;5493:23;5480:36;;5290:1984;;;5551:23;5537:10;;;;:37;;;;;;;;;5533:1741;;;5590:24;5617:33;5635:14;;5617:13;:17;;:33;;;;:::i;:::-;5590:60;;5664:29;5696:35;5716:14;5696:15;;:19;;:35;;;;:::i;:::-;5664:67;;5857:16;5840:14;:33;5836:1183;;;5960:67;5981:14;5997;;6013:13;5960:20;:67::i;:::-;5945:82;;6058:23;6045:36;;6118:21;6103:12;:36;6099:386;;;6445:21;6430:36;;6099:386;5836:1183;;;6527:16;6509:14;:34;6505:514;;;6631:21;6616:36;;6683:17;6670:30;;6505:514;;;6813:137;6860:72;6879:36;:14;6898:16;6879:36;:18;:36;:::i;:::-;6917:14;6860:18;:72::i;6813:137::-;6798:152;;6981:23;6968:36;;6505:514;5533:1741;;;;;7144:69;7165:14;7181:15;;7198:14;7144:20;:69::i;:::-;7129:84;;7240:23;7227:36;;5533:1741;7319:44;7335:12;7349:13;;7319:15;:44::i;:::-;7306:57;;7386:44;7402:12;7416:13;;7386:15;:44::i;:::-;7373:57;-1:-1:-1;7455:44:28;7373:57;7455:28;:12;7472:10;7455:28;:16;:28;:::i;:::-;:32;:44;:32;:44;:::i;:::-;7440:59;-1:-1:-1;;4861:2744:28;;;;;;;:::o;911:305:26:-;1028:20;;998:14;;:26;;1017:6;998:26;:18;:26;:::i;:::-;:50;;990:90;;;;-1:-1:-1;;;990:90:26;;;;;;;;;1097:12;;1090:66;;-1:-1:-1;;;;;1097:12:26;1128:4;1142;1149:6;1090:66;:37;:66;:::i;:::-;1183:14;;:26;;1202:6;1183:26;:18;:26;:::i;8381:135:24:-;8469:20;;8456:53;;-1:-1:-1;;;8456:53:24;;-1:-1:-1;;;;;8469:20:24;;;;8456:39;;:53;;8496:4;;8502:6;;8456:53;;;;804:205:40;916:86;936:5;966:23;;;991:2;995:5;943:58;;;;;;;;;;;;;;-1:-1:-1;;943:58:40;;;;;;;;;;;;;;-1:-1:-1;;;;;943:58:40;-1:-1:-1;;;;;;943:58:40;;;;;;;;;;916:19;:86::i;:::-;804:205;;;:::o;2736:578:25:-;2787:21;2927:17;2947:46;2966:26;;2947:14;;:18;;:46;;;;:::i;:::-;2927:66;;3003:13;3019:16;:14;:16::i;:::-;3003:32;;3045:18;3066:33;3082:9;3093:5;3066:15;:33::i;:::-;3045:54;;3109:22;3134:121;3189:15;;3218:3;;3235:10;3134:41;:121::i;:::-;3109:146;;3272:35;3291:15;;3272:14;:18;;:35;;;;:::i;:::-;3265:42;;;;;;2736:578;:::o;4180:582::-;4231:20;4370:18;4391:48;4411:27;;4391:15;;:19;;:48;;;;:::i;:::-;4370:69;;4449:13;4465:16;:14;:16::i;:::-;4449:32;;4491:18;4512:39;4533:10;4545:5;4512:20;:39::i;:::-;4491:60;;4561:21;4585:120;4640:14;;4668:3;;4685:10;4585:41;:120::i;:::-;4561:144;;4722:33;4740:14;;4722:13;:17;;:33;;;;:::i;774:126:36:-;841:7;867:26;891:1;867:15;:6;379;867:15;:10;:15;:::i;1237:198:41:-;1318:1;1326;1322;1318:5;;:9;1352:77;1363:1;1359;:5;1352:77;;;1384:1;1380:5;;1417:1;1412;1408;1404;:5;;;;;;:9;1403:15;;;;;;1399:19;;1352:77;;;1237:198;;;;:::o;1183:414:25:-;1304:21;1358;1349:6;:30;1341:71;;;;-1:-1:-1;;;1341:71:25;;;;;;;;;1422:10;1435:33;:21;1461:6;1435:33;:25;:33;:::i;:::-;1422:46;;1494:66;1511:21;1534;1557:2;1494:16;:66::i;3366:360::-;3511:21;3561:11;3552:6;:20;3544:61;;;;-1:-1:-1;;;3544:61:25;;;;;;;;;3615:10;3628:23;:11;3644:6;3628:23;:15;:23;:::i;:::-;3615:36;;3668:51;3685:16;3703:11;3716:2;3668:16;:51::i;:::-;3661:58;3366:360;-1:-1:-1;;;;;3366:360:25:o;2117:613::-;2264:21;2449:9;2461:16;:14;:16::i;:::-;2449:28;;2487:10;2500:186;2554:17;2585:12;2611:30;2631:1;2634:6;2611:19;:30::i;:::-;2655:4;2673:3;;2500:40;:186::i;:::-;2487:199;-1:-1:-1;2703:20:25;2487:199;2710:12;2703:20;:6;:20;:::i;1015:275:40:-;1153:130;1186:5;1228:27;;;1257:4;1263:2;1267:5;1205:68;;;;;;;;;;;1153:130;1015:275;;;;:::o;557:620:25:-;680:25;721:9;733:16;:14;:16::i;:::-;721:28;;759:10;772:198;826:22;862;898:26;914:1;917:6;898:15;:26::i;:::-;938:5;957:3;;772:40;:198::i;:::-;759:211;-1:-1:-1;1140:30:25;:22;759:211;1140:30;:26;:30;:::i;3732:442::-;3878:25;;4076:23;:11;4092:6;4076:23;:15;:23;:::i;:::-;4063:36;;4116:51;4133:16;4151:2;4155:11;4116:16;:51::i;1649:462::-;1797:24;1833:9;1845:16;:14;:16::i;:::-;1833:28;;1871:10;1884:183;1938:17;1969:12;1995:26;2011:1;2014:6;1995:15;:26::i;1884:183::-;1871:196;-1:-1:-1;2084:20:25;:12;1871:196;2084:20;:16;:20;:::i;2335:1027:40:-;2984:12;2998:23;3033:5;-1:-1:-1;;;;;3025:19:40;3045:4;3025:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2983:67;;;;3068:7;3060:52;;;;-1:-1:-1;;;3060:52:40;;;;;;;;;3127:17;;:21;3123:233;;3279:10;3268:30;;;;;;;;;;;;;;3260:85;;;;-1:-1:-1;;;3260:85:40;;;;;;;;6309:232:25;6424:7;6443:9;6455:16;:14;:16::i;:::-;6443:28;;6488:46;6515:2;6519;6523;6527:1;6530:3;;6488:26;:46::i;513:126:36:-;580:7;606:26;379:6;606:13;:6;617:1;606:13;:10;:13;:::i;1608:1507:35:-;1786:7;1885:14;1902:38;1937:2;1902:30;1929:2;1902:22;1918:1;1921:2;1902:15;:22::i;:38::-;1885:55;-1:-1:-1;1962:9:35;1974:43;1990:22;379:6:36;2010:1:35;1990:22;:19;:22;:::i;:::-;2014:2;1974:15;:43::i;:::-;1962:55;-1:-1:-1;2055:4:35;2069:158;;;;2102:14;:1;2108:7;2102:14;:5;:14;:::i;:::-;2098:18;;2069:158;;;2176:19;:6;2187:7;2176:19;:10;:19;:::i;:::-;2167:28;;2069:158;2245:6;2240:1;:11;2236:168;;2271:13;:1;2277:6;2271:13;:5;:13;:::i;:::-;2267:17;;2310:4;2298:16;;2236:168;;;2349:13;:6;2360:1;2349:13;:10;:13;:::i;:::-;2345:17;;2388:5;2376:17;;2236:168;2440:18;2461:112;2490:29;2517:1;2490:22;379:6:36;2510:1:35;2490:22;:19;:22;:::i;:29::-;2533:30;2560:2;2533:22;2549:1;2552:2;2533:15;:22::i;2461:112::-;2440:133;-1:-1:-1;2611:31:35;:24;2440:133;2611:8;2617:1;;2611:8;:5;:8;:::i;:31::-;2598:44;-1:-1:-1;2700:19:35;2722:29;2749:1;2722:22;379:6:36;2742:1:35;2722:22;:19;:22;:::i;:29::-;2700:51;;2771:17;2802:9;2798:129;;;2839:17;:1;2845:10;2839:17;:5;:17;:::i;:::-;2827:29;;2798:129;;;2899:17;:10;2914:1;2899:17;:14;:17;:::i;:::-;2887:29;;2798:129;2941:9;2937:172;;;2973:44;2994:9;3005:11;2973:20;:44::i;:::-;2966:51;;;;;;;;;;2937:172;3055:43;3075:9;3086:11;3055:19;:43::i;634:468::-;788:7;;828:30;844:1;847:10;:2;854;847:10;:6;:10;:::i;828:30::-;807:51;-1:-1:-1;879:16:35;898:43;918:18;933:2;918:10;925:2;;918:10;:6;:10;:::i;:18::-;938:2;898:19;:43::i;:::-;879:62;;951:15;969:28;985:1;988:8;969:15;:28::i;:::-;951:46;-1:-1:-1;1031:64:35;1047:10;1059:35;951:46;1059:22;379:6:36;1079:1:35;1059:22;:19;:22;:::i;1031:64::-;1024:71;634:468;-1:-1:-1;;;;;;;;;634:468:35:o;-1:-1:-1:-;;;;;;;;:::o;5:130::-;72:20;;-1:-1;;;;;37486:54;;38855:35;;38845:2;;38904:1;;38894:12;913:241;;1017:2;1005:9;996:7;992:23;988:32;985:2;;;-1:-1;;1023:12;985:2;1085:53;1130:7;1106:22;1085:53;;1161:1373;;;;;;;;;;;1418:3;1406:9;1397:7;1393:23;1389:33;1386:2;;;-1:-1;;1425:12;1386:2;1487:53;1532:7;1508:22;1487:53;;;1477:63;;1595:53;1640:7;1577:2;1620:9;1616:22;1595:53;;;1585:63;;1703:53;1748:7;1685:2;1728:9;1724:22;1703:53;;;1693:63;;1811:53;1856:7;1793:2;1836:9;1832:22;1811:53;;;1801:63;;1920:53;1965:7;1901:3;1945:9;1941:22;1920:53;;;1910:63;;2029:53;2074:7;2010:3;2054:9;2050:22;2029:53;;;2019:63;;2119:3;2163:9;2159:22;702:20;2128:63;;2228:3;2272:9;2268:22;702:20;2237:63;;2337:3;2381:9;2377:22;702:20;2346:63;;2446:3;2490:9;2486:22;702:20;2455:63;;1380:1154;;;;;;;;;;;;;;2541:366;;;2662:2;2650:9;2641:7;2637:23;2633:32;2630:2;;;-1:-1;;2668:12;2630:2;2730:53;2775:7;2751:22;2730:53;;;2720:63;2820:2;2859:22;;;;702:20;;-1:-1;;;2624:283;2914:257;;3026:2;3014:9;3005:7;3001:23;2997:32;2994:2;;;-1:-1;;3032:12;2994:2;223:6;217:13;39001:5;37259:13;37252:21;38979:5;38976:32;38966:2;;-1:-1;;39012:12;3178:241;;3282:2;3270:9;3261:7;3257:23;3253:32;3250:2;;;-1:-1;;3288:12;3250:2;-1:-1;702:20;;3244:175;-1:-1;3244:175;3426:263;;3541:2;3529:9;3520:7;3516:23;3512:32;3509:2;;;-1:-1;;3547:12;3509:2;-1:-1;850:13;;3503:186;-1:-1;3503:186;3696:615;;;;;3853:2;3841:9;3832:7;3828:23;3824:32;3821:2;;;-1:-1;;3859:12;3821:2;715:6;702:20;3911:63;;4011:2;4054:9;4050:22;702:20;4019:63;;4147:2;4136:9;4132:18;4119:32;4171:18;;4163:6;4160:30;4157:2;;;-1:-1;;4193:12;4157:2;4278:6;4267:9;4263:22;405:3;398:4;390:6;386:17;382:27;372:2;;-1:-1;;413:12;372:2;456:6;443:20;433:30;;4171:18;475:6;472:30;469:2;;;-1:-1;;505:12;469:2;600:3;4011:2;580:17;541:6;566:32;;563:41;560:2;;;-1:-1;;607:12;560:2;3815:496;;;;-1:-1;;4011:2;537:17;;;;-1:-1;;;3815:496;17225:271;;5186:5;36558:12;-1:-1;38376:101;38390:6;38387:1;38384:13;38376:101;;;5330:4;38457:11;;;;;38451:18;38438:11;;;38431:39;38405:10;38376:101;;;38492:6;38489:1;38486:13;38483:2;;;-1:-1;38548:6;38543:3;38539:16;38532:27;38483:2;-1:-1;5361:16;;;;;17359:137;-1:-1;;17359:137;17503:222;-1:-1;;;;;37486:54;;;;4538:37;;17630:2;17615:18;;17601:124;17732:349;-1:-1;;;;;37486:54;;;;4397:58;;18067:2;18052:18;;17176:37;17895:2;17880:18;;17866:215;18088:444;-1:-1;;;;;37486:54;;;4538:37;;37486:54;;;;18435:2;18420:18;;4538:37;18518:2;18503:18;;17176:37;;;;18271:2;18256:18;;18242:290;18879:210;37259:13;;37252:21;4652:34;;19000:2;18985:18;;18971:118;19096:321;37259:13;;37252:21;4652:34;;19403:2;19388:18;;17176:37;19245:2;19230:18;;19216:201;19424:432;37259:13;;37252:21;4652:34;;19759:2;19744:18;;17176:37;;;;19842:2;19827:18;;17176:37;19601:2;19586:18;;19572:284;19863:648;;4679:5;37259:13;37252:21;4659:3;4652:34;17206:5;20255:2;20244:9;20240:18;17176:37;17206:5;20338:2;20327:9;20323:18;17176:37;20096:3;20375:2;20364:9;20360:18;20353:48;36714:6;20096:3;20085:9;20081:19;36702;38231:6;38226:3;36742:14;20085:9;36742:14;38208:30;38269:16;;;36742:14;38269:16;;;38262:27;;;;38664:7;38648:14;;;-1:-1;;38644:28;4973:39;;;20067:444;-1:-1;;;;20067:444;20518:244;20656:2;20641:18;;38767:1;38757:12;;38747:2;;38773:9;38747:2;5471:61;;;20627:135;;20769:416;20969:2;20983:47;;;5769:2;20954:18;;;36702:19;5805:31;36742:14;;;5785:52;5856:12;;;20940:245;21192:416;21392:2;21406:47;;;6107:1;21377:18;;;36702:19;-1:-1;;;36742:14;;;6122:26;6167:12;;;21363:245;21615:416;21815:2;21829:47;;;6418:2;21800:18;;;36702:19;-1:-1;;;36742:14;;;6434:36;6489:12;;;21786:245;22038:416;22238:2;22252:47;;;6740:2;22223:18;;;36702:19;-1:-1;;;36742:14;;;6756:33;6808:12;;;22209:245;22461:416;22661:2;22675:47;;;7059:2;22646:18;;;36702:19;7095:26;36742:14;;;7075:47;7141:12;;;22632:245;22884:416;23084:2;23098:47;;;7392:2;23069:18;;;36702:19;7428:27;36742:14;;;7408:48;7475:12;;;23055:245;23307:416;23507:2;23521:47;;;7726:1;23492:18;;;36702:19;-1:-1;;;36742:14;;;7741:32;7792:12;;;23478:245;23730:416;23930:2;23944:47;;;8043:2;23915:18;;;36702:19;-1:-1;;;36742:14;;;8059:34;8112:12;;;23901:245;24153:416;24353:2;24367:47;;;8363:2;24338:18;;;36702:19;8399:30;36742:14;;;8379:51;8449:12;;;24324:245;24576:416;24776:2;24790:47;;;24761:18;;;36702:19;8736:34;36742:14;;;8716:55;8790:12;;;24747:245;24999:416;25199:2;25213:47;;;9041:2;25184:18;;;36702:19;-1:-1;;;36742:14;;;9057:37;9113:12;;;25170:245;25422:416;25622:2;25636:47;;;9364:2;25607:18;;;36702:19;9400:34;36742:14;;;9380:55;-1:-1;;;9455:12;;;9448:27;9494:12;;;25593:245;25845:416;26045:2;26059:47;;;9745:2;26030:18;;;36702:19;9781:25;36742:14;;;9761:46;9826:12;;;26016:245;26268:416;26468:2;26482:47;;;10077:2;26453:18;;;36702:19;10113:29;36742:14;;;10093:50;10162:12;;;26439:245;26691:416;26891:2;26905:47;;;10413:1;26876:18;;;36702:19;-1:-1;;;36742:14;;;10428:32;10479:12;;;26862:245;27114:416;27314:2;27328:47;;;10730:2;27299:18;;;36702:19;-1:-1;;;36742:14;;;10746:39;10804:12;;;27285:245;27537:416;27737:2;27751:47;;;11055:2;27722:18;;;36702:19;11091:30;36742:14;;;11071:51;11141:12;;;27708:245;27960:416;28160:2;28174:47;;;11392:2;28145:18;;;36702:19;-1:-1;;;36742:14;;;11408:40;11467:12;;;28131:245;28383:416;28583:2;28597:47;;;11718:2;28568:18;;;36702:19;-1:-1;;;36742:14;;;11734:36;11789:12;;;28554:245;28806:416;29006:2;29020:47;;;12040:2;28991:18;;;36702:19;-1:-1;;;36742:14;;;12056:37;12112:12;;;28977:245;29229:416;29429:2;29443:47;;;12363:2;29414:18;;;36702:19;-1:-1;;;36742:14;;;12379:34;12432:12;;;29400:245;29652:416;29852:2;29866:47;;;12683:2;29837:18;;;36702:19;-1:-1;;;36742:14;;;12699:42;12760:12;;;29823:245;30075:416;30275:2;30289:47;;;13011:2;30260:18;;;36702:19;-1:-1;;;36742:14;;;13027:34;13080:12;;;30246:245;30498:416;30698:2;30712:47;;;13331:1;30683:18;;;36702:19;-1:-1;;;36742:14;;;13346:32;13397:12;;;30669:245;30921:416;31121:2;31135:47;;;13648:1;31106:18;;;36702:19;-1:-1;;;36742:14;;;13663:32;13714:12;;;31092:245;31344:416;31544:2;31558:47;;;13965:2;31529:18;;;36702:19;14001:34;36742:14;;;13981:55;-1:-1;;;14056:12;;;14049:34;14102:12;;;31515:245;31767:416;31967:2;31981:47;;;14353:2;31952:18;;;36702:19;14389:34;36742:14;;;14369:55;-1:-1;;;14444:12;;;14437:26;14482:12;;;31938:245;32190:416;32390:2;32404:47;;;14733:2;32375:18;;;36702:19;14769:30;36742:14;;;14749:51;14819:12;;;32361:245;32613:416;32813:2;32827:47;;;15070:2;32798:18;;;36702:19;-1:-1;;;36742:14;;;15086:45;15150:12;;;32784:245;33036:416;33236:2;33250:47;;;15401:1;33221:18;;;36702:19;-1:-1;;;36742:14;;;15416:32;15467:12;;;33207:245;33459:416;33659:2;33673:47;;;15718:1;33644:18;;;36702:19;-1:-1;;;36742:14;;;15733:27;15779:12;;;33630:245;33882:416;34082:2;34096:47;;;16030:2;34067:18;;;36702:19;-1:-1;;;36742:14;;;16046:39;16104:12;;;34053:245;34305:416;34505:2;34519:47;;;16355:2;34490:18;;;36702:19;-1:-1;;;36742:14;;;16371:38;16428:12;;;34476:245;34728:416;34928:2;34942:47;;;16679:2;34913:18;;;36702:19;-1:-1;;;36742:14;;;16695:38;16752:12;;;34899:245;35151:416;35351:2;35365:47;;;17003:2;35336:18;;;36702:19;-1:-1;;;36742:14;;;17019:41;17079:12;;;35322:245;35574:222;17176:37;;;35701:2;35686:18;;35672:124;35803:321;17176:37;;;37259:13;37252:21;36110:2;36095:18;;4652:34;35952:2;35937:18;;35923:201;36131:333;17176:37;;;36450:2;36435:18;;17176:37;36286:2;36271:18;;36257:207",
|
|
"source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\nimport {Types} from \"./lib/Types.sol\";\nimport {IERC20} from \"./intf/IERC20.sol\";\nimport {Storage} from \"./impl/Storage.sol\";\nimport {Trader} from \"./impl/Trader.sol\";\nimport {LiquidityProvider} from \"./impl/LiquidityProvider.sol\";\nimport {Admin} from \"./impl/Admin.sol\";\nimport {DODOLpToken} from \"./impl/DODOLpToken.sol\";\n\n\n/**\n * @title DODO\n * @author DODO Breeder\n *\n * @notice Entrance for users\n */\ncontract DODO is Admin, Trader, LiquidityProvider {\n function init(\n address owner,\n address supervisor,\n address maintainer,\n address baseToken,\n address quoteToken,\n address oracle,\n uint256 lpFeeRate,\n uint256 mtFeeRate,\n uint256 k,\n uint256 gasPriceLimit\n ) external {\n require(!_INITIALIZED_, \"DODO_INITIALIZED\");\n _INITIALIZED_ = true;\n\n // constructor\n _OWNER_ = owner;\n emit OwnershipTransferred(address(0), _OWNER_);\n\n _SUPERVISOR_ = supervisor;\n _MAINTAINER_ = maintainer;\n _BASE_TOKEN_ = baseToken;\n _QUOTE_TOKEN_ = quoteToken;\n _ORACLE_ = oracle;\n\n _DEPOSIT_BASE_ALLOWED_ = false;\n _DEPOSIT_QUOTE_ALLOWED_ = false;\n _TRADE_ALLOWED_ = false;\n _GAS_PRICE_LIMIT_ = gasPriceLimit;\n\n // Advanced controls are disabled by default\n _BUYING_ALLOWED_ = true;\n _SELLING_ALLOWED_ = true;\n uint256 MAX_INT = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;\n _BASE_BALANCE_LIMIT_ = MAX_INT;\n _QUOTE_BALANCE_LIMIT_ = MAX_INT;\n\n _LP_FEE_RATE_ = lpFeeRate;\n _MT_FEE_RATE_ = mtFeeRate;\n _K_ = k;\n _R_STATUS_ = Types.RStatus.ONE;\n\n _BASE_CAPITAL_TOKEN_ = address(new DODOLpToken(_BASE_TOKEN_));\n _QUOTE_CAPITAL_TOKEN_ = address(new DODOLpToken(_QUOTE_TOKEN_));\n\n _checkDODOParameters();\n }\n}\n",
|
|
"sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/dodo.sol",
|
|
"ast": {
|
|
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/dodo.sol",
|
|
"exportedSymbols": {
|
|
"DODO": [
|
|
1690
|
|
]
|
|
},
|
|
"id": 1691,
|
|
"license": "Apache-2.0",
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 1524,
|
|
"literals": [
|
|
"solidity",
|
|
"0.6",
|
|
".9"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "78:22:2"
|
|
},
|
|
{
|
|
"id": 1525,
|
|
"literals": [
|
|
"experimental",
|
|
"ABIEncoderV2"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "101:33:2"
|
|
},
|
|
{
|
|
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol",
|
|
"file": "./lib/Types.sol",
|
|
"id": 1527,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 1691,
|
|
"sourceUnit": 11632,
|
|
"src": "136:38:2",
|
|
"symbolAliases": [
|
|
{
|
|
"foreign": {
|
|
"argumentTypes": null,
|
|
"id": 1526,
|
|
"name": "Types",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": null,
|
|
"src": "144:5:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
},
|
|
"local": null
|
|
}
|
|
],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol",
|
|
"file": "./intf/IERC20.sol",
|
|
"id": 1529,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 1691,
|
|
"sourceUnit": 10608,
|
|
"src": "175:41:2",
|
|
"symbolAliases": [
|
|
{
|
|
"foreign": {
|
|
"argumentTypes": null,
|
|
"id": 1528,
|
|
"name": "IERC20",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": null,
|
|
"src": "183:6:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
},
|
|
"local": null
|
|
}
|
|
],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol",
|
|
"file": "./impl/Storage.sol",
|
|
"id": 1531,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 1691,
|
|
"sourceUnit": 9614,
|
|
"src": "217:43:2",
|
|
"symbolAliases": [
|
|
{
|
|
"foreign": {
|
|
"argumentTypes": null,
|
|
"id": 1530,
|
|
"name": "Storage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": null,
|
|
"src": "225:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
},
|
|
"local": null
|
|
}
|
|
],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Trader.sol",
|
|
"file": "./impl/Trader.sol",
|
|
"id": 1533,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 1691,
|
|
"sourceUnit": 10352,
|
|
"src": "261:41:2",
|
|
"symbolAliases": [
|
|
{
|
|
"foreign": {
|
|
"argumentTypes": null,
|
|
"id": 1532,
|
|
"name": "Trader",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": null,
|
|
"src": "269:6:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
},
|
|
"local": null
|
|
}
|
|
],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/LiquidityProvider.sol",
|
|
"file": "./impl/LiquidityProvider.sol",
|
|
"id": 1535,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 1691,
|
|
"sourceUnit": 8370,
|
|
"src": "303:63:2",
|
|
"symbolAliases": [
|
|
{
|
|
"foreign": {
|
|
"argumentTypes": null,
|
|
"id": 1534,
|
|
"name": "LiquidityProvider",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": null,
|
|
"src": "311:17:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
},
|
|
"local": null
|
|
}
|
|
],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Admin.sol",
|
|
"file": "./impl/Admin.sol",
|
|
"id": 1537,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 1691,
|
|
"sourceUnit": 6964,
|
|
"src": "367:39:2",
|
|
"symbolAliases": [
|
|
{
|
|
"foreign": {
|
|
"argumentTypes": null,
|
|
"id": 1536,
|
|
"name": "Admin",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": null,
|
|
"src": "375:5:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
},
|
|
"local": null
|
|
}
|
|
],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/DODOLpToken.sol",
|
|
"file": "./impl/DODOLpToken.sol",
|
|
"id": 1539,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 1691,
|
|
"sourceUnit": 7348,
|
|
"src": "407:51:2",
|
|
"symbolAliases": [
|
|
{
|
|
"foreign": {
|
|
"argumentTypes": null,
|
|
"id": 1538,
|
|
"name": "DODOLpToken",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": null,
|
|
"src": "415:11:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
},
|
|
"local": null
|
|
}
|
|
],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 1541,
|
|
"name": "Admin",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 6963,
|
|
"src": "558:5:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Admin_$6963",
|
|
"typeString": "contract Admin"
|
|
}
|
|
},
|
|
"id": 1542,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "558:5:2"
|
|
},
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 1543,
|
|
"name": "Trader",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 10351,
|
|
"src": "565:6:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Trader_$10351",
|
|
"typeString": "contract Trader"
|
|
}
|
|
},
|
|
"id": 1544,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "565:6:2"
|
|
},
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 1545,
|
|
"name": "LiquidityProvider",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 8369,
|
|
"src": "573:17:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_LiquidityProvider_$8369",
|
|
"typeString": "contract LiquidityProvider"
|
|
}
|
|
},
|
|
"id": 1546,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "573:17:2"
|
|
}
|
|
],
|
|
"contractDependencies": [
|
|
6963,
|
|
7347,
|
|
8369,
|
|
8853,
|
|
9396,
|
|
9613,
|
|
10351,
|
|
11166,
|
|
11296
|
|
],
|
|
"contractKind": "contract",
|
|
"documentation": {
|
|
"id": 1540,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "461:79:2",
|
|
"text": " @title DODO\n @author DODO Breeder\n @notice Entrance for users"
|
|
},
|
|
"fullyImplemented": true,
|
|
"id": 1690,
|
|
"linearizedBaseContracts": [
|
|
1690,
|
|
8369,
|
|
10351,
|
|
9396,
|
|
8853,
|
|
6963,
|
|
9613,
|
|
11296,
|
|
11166
|
|
],
|
|
"name": "DODO",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"body": {
|
|
"id": 1688,
|
|
"nodeType": "Block",
|
|
"src": "888:1123:2",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 1571,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "!",
|
|
"prefix": true,
|
|
"src": "906:14:2",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"id": 1570,
|
|
"name": "_INITIALIZED_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9423,
|
|
"src": "907:13:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "444f444f5f494e495449414c495a4544",
|
|
"id": 1572,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "922:18:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_8f31c5be819f18faa99e753860dc430fa9e06e61d8129feaeafc97575920b2a7",
|
|
"typeString": "literal_string \"DODO_INITIALIZED\""
|
|
},
|
|
"value": "DODO_INITIALIZED"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_8f31c5be819f18faa99e753860dc430fa9e06e61d8129feaeafc97575920b2a7",
|
|
"typeString": "literal_string \"DODO_INITIALIZED\""
|
|
}
|
|
],
|
|
"id": 1569,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "898:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 1573,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "898:43:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 1574,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "898:43:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1577,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1575,
|
|
"name": "_INITIALIZED_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9423,
|
|
"src": "951:13:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 1576,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "967:4:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"src": "951:20:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 1578,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "951:20:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1581,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1579,
|
|
"name": "_OWNER_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11084,
|
|
"src": "1005:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1580,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1548,
|
|
"src": "1015:5:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1005:15:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 1582,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1005:15:2"
|
|
},
|
|
{
|
|
"eventCall": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 1586,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1064:1:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 1585,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "1056:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 1584,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1056:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 1587,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1056:10:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 1588,
|
|
"name": "_OWNER_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11084,
|
|
"src": "1068:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 1583,
|
|
"name": "OwnershipTransferred",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11098,
|
|
"src": "1035:20:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$",
|
|
"typeString": "function (address,address)"
|
|
}
|
|
},
|
|
"id": 1589,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1035:41:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 1590,
|
|
"nodeType": "EmitStatement",
|
|
"src": "1030:46:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1593,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1591,
|
|
"name": "_SUPERVISOR_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9443,
|
|
"src": "1087:12:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1592,
|
|
"name": "supervisor",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1550,
|
|
"src": "1102:10:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1087:25:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 1594,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1087:25:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1597,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1595,
|
|
"name": "_MAINTAINER_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9445,
|
|
"src": "1122:12:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1596,
|
|
"name": "maintainer",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1552,
|
|
"src": "1137:10:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1122:25:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 1598,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1122:25:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1601,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1599,
|
|
"name": "_BASE_TOKEN_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9447,
|
|
"src": "1157:12:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1600,
|
|
"name": "baseToken",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1554,
|
|
"src": "1172:9:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1157:24:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 1602,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1157:24:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1605,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1603,
|
|
"name": "_QUOTE_TOKEN_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9449,
|
|
"src": "1191:13:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1604,
|
|
"name": "quoteToken",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1556,
|
|
"src": "1207:10:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1191:26:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 1606,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1191:26:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1609,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1607,
|
|
"name": "_ORACLE_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9451,
|
|
"src": "1227:8:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1608,
|
|
"name": "oracle",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1558,
|
|
"src": "1238:6:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1227:17:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 1610,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1227:17:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1613,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1611,
|
|
"name": "_DEPOSIT_BASE_ALLOWED_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9429,
|
|
"src": "1255:22:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "66616c7365",
|
|
"id": 1612,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1280:5:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"src": "1255:30:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 1614,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1255:30:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1617,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1615,
|
|
"name": "_DEPOSIT_QUOTE_ALLOWED_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9427,
|
|
"src": "1295:23:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "66616c7365",
|
|
"id": 1616,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1321:5:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"src": "1295:31:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 1618,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1295:31:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1621,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1619,
|
|
"name": "_TRADE_ALLOWED_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9431,
|
|
"src": "1336:15:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "66616c7365",
|
|
"id": 1620,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1354:5:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"src": "1336:23:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 1622,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1336:23:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1625,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1623,
|
|
"name": "_GAS_PRICE_LIMIT_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9433,
|
|
"src": "1369:17:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1624,
|
|
"name": "gasPriceLimit",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1566,
|
|
"src": "1389:13:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1369:33:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 1626,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1369:33:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1629,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1627,
|
|
"name": "_BUYING_ALLOWED_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9435,
|
|
"src": "1466:16:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 1628,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1485:4:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"src": "1466:23:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 1630,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1466:23:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1633,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1631,
|
|
"name": "_SELLING_ALLOWED_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9437,
|
|
"src": "1499:17:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 1632,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1519:4:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"src": "1499:24:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 1634,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1499:24:2"
|
|
},
|
|
{
|
|
"assignments": [
|
|
1636
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 1636,
|
|
"mutability": "mutable",
|
|
"name": "MAX_INT",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1688,
|
|
"src": "1533:15:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 1635,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1533:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 1638,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"hexValue": "307866666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666",
|
|
"id": 1637,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1551:66:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1",
|
|
"typeString": "int_const 1157...(70 digits omitted)...9935"
|
|
},
|
|
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1533:84:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1641,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1639,
|
|
"name": "_BASE_BALANCE_LIMIT_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9439,
|
|
"src": "1627:20:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1640,
|
|
"name": "MAX_INT",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1636,
|
|
"src": "1650:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1627:30:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 1642,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1627:30:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1645,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1643,
|
|
"name": "_QUOTE_BALANCE_LIMIT_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9441,
|
|
"src": "1667:21:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1644,
|
|
"name": "MAX_INT",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1636,
|
|
"src": "1691:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1667:31:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 1646,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1667:31:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1649,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1647,
|
|
"name": "_LP_FEE_RATE_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9453,
|
|
"src": "1709:13:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1648,
|
|
"name": "lpFeeRate",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1560,
|
|
"src": "1725:9:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1709:25:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 1650,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1709:25:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1653,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1651,
|
|
"name": "_MT_FEE_RATE_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9455,
|
|
"src": "1744:13:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1652,
|
|
"name": "mtFeeRate",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1562,
|
|
"src": "1760:9:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1744:25:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 1654,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1744:25:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1657,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1655,
|
|
"name": "_K_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9457,
|
|
"src": "1779:3:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1656,
|
|
"name": "k",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1564,
|
|
"src": "1785:1:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1779:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 1658,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1779:7:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1663,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1659,
|
|
"name": "_R_STATUS_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9459,
|
|
"src": "1796:10:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_RStatus_$11630",
|
|
"typeString": "enum Types.RStatus"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1660,
|
|
"name": "Types",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11631,
|
|
"src": "1809:5:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_Types_$11631_$",
|
|
"typeString": "type(library Types)"
|
|
}
|
|
},
|
|
"id": 1661,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "RStatus",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 11630,
|
|
"src": "1809:13:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$",
|
|
"typeString": "type(enum Types.RStatus)"
|
|
}
|
|
},
|
|
"id": 1662,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "ONE",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "1809:17:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_RStatus_$11630",
|
|
"typeString": "enum Types.RStatus"
|
|
}
|
|
},
|
|
"src": "1796:30:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_RStatus_$11630",
|
|
"typeString": "enum Types.RStatus"
|
|
}
|
|
},
|
|
"id": 1664,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1796:30:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1673,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1665,
|
|
"name": "_BASE_CAPITAL_TOKEN_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9469,
|
|
"src": "1837:20:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 1670,
|
|
"name": "_BASE_TOKEN_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9447,
|
|
"src": "1884:12:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 1669,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "NewExpression",
|
|
"src": "1868:15:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_DODOLpToken_$7347_$",
|
|
"typeString": "function (address) returns (contract DODOLpToken)"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 1668,
|
|
"name": "DODOLpToken",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 7347,
|
|
"src": "1872:11:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_DODOLpToken_$7347",
|
|
"typeString": "contract DODOLpToken"
|
|
}
|
|
}
|
|
},
|
|
"id": 1671,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1868:29:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_DODOLpToken_$7347",
|
|
"typeString": "contract DODOLpToken"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_DODOLpToken_$7347",
|
|
"typeString": "contract DODOLpToken"
|
|
}
|
|
],
|
|
"id": 1667,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "1860:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 1666,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1860:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 1672,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1860:38:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1837:61:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 1674,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1837:61:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1683,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1675,
|
|
"name": "_QUOTE_CAPITAL_TOKEN_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9471,
|
|
"src": "1908:21:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 1680,
|
|
"name": "_QUOTE_TOKEN_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9449,
|
|
"src": "1956:13:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 1679,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "NewExpression",
|
|
"src": "1940:15:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_DODOLpToken_$7347_$",
|
|
"typeString": "function (address) returns (contract DODOLpToken)"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 1678,
|
|
"name": "DODOLpToken",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 7347,
|
|
"src": "1944:11:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_DODOLpToken_$7347",
|
|
"typeString": "contract DODOLpToken"
|
|
}
|
|
}
|
|
},
|
|
"id": 1681,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1940:30:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_DODOLpToken_$7347",
|
|
"typeString": "contract DODOLpToken"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_DODOLpToken_$7347",
|
|
"typeString": "contract DODOLpToken"
|
|
}
|
|
],
|
|
"id": 1677,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "1932:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 1676,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1932:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 1682,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1932:39:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1908:63:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 1684,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1908:63:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 1685,
|
|
"name": "_checkDODOParameters",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9538,
|
|
"src": "1982:20:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
|
|
"typeString": "function () view returns (uint256)"
|
|
}
|
|
},
|
|
"id": 1686,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1982:22:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 1687,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1982:22:2"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"functionSelector": "f00f9a09",
|
|
"id": 1689,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "init",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 1567,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 1548,
|
|
"mutability": "mutable",
|
|
"name": "owner",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "620:13:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 1547,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "620:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1550,
|
|
"mutability": "mutable",
|
|
"name": "supervisor",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "643:18:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 1549,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "643:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1552,
|
|
"mutability": "mutable",
|
|
"name": "maintainer",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "671:18:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 1551,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "671:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1554,
|
|
"mutability": "mutable",
|
|
"name": "baseToken",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "699:17:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 1553,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "699:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1556,
|
|
"mutability": "mutable",
|
|
"name": "quoteToken",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "726:18:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 1555,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "726:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1558,
|
|
"mutability": "mutable",
|
|
"name": "oracle",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "754:14:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 1557,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "754:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1560,
|
|
"mutability": "mutable",
|
|
"name": "lpFeeRate",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "778:17:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 1559,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "778:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1562,
|
|
"mutability": "mutable",
|
|
"name": "mtFeeRate",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "805:17:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 1561,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "805:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1564,
|
|
"mutability": "mutable",
|
|
"name": "k",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "832:9:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 1563,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "832:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1566,
|
|
"mutability": "mutable",
|
|
"name": "gasPriceLimit",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "851:21:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 1565,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "851:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "610:268:2"
|
|
},
|
|
"returnParameters": {
|
|
"id": 1568,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "888:0:2"
|
|
},
|
|
"scope": 1690,
|
|
"src": "597:1414:2",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
}
|
|
],
|
|
"scope": 1691,
|
|
"src": "541:1472:2"
|
|
}
|
|
],
|
|
"src": "78:1936:2"
|
|
},
|
|
"legacyAST": {
|
|
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/dodo.sol",
|
|
"exportedSymbols": {
|
|
"DODO": [
|
|
1690
|
|
]
|
|
},
|
|
"id": 1691,
|
|
"license": "Apache-2.0",
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 1524,
|
|
"literals": [
|
|
"solidity",
|
|
"0.6",
|
|
".9"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "78:22:2"
|
|
},
|
|
{
|
|
"id": 1525,
|
|
"literals": [
|
|
"experimental",
|
|
"ABIEncoderV2"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "101:33:2"
|
|
},
|
|
{
|
|
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Types.sol",
|
|
"file": "./lib/Types.sol",
|
|
"id": 1527,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 1691,
|
|
"sourceUnit": 11632,
|
|
"src": "136:38:2",
|
|
"symbolAliases": [
|
|
{
|
|
"foreign": {
|
|
"argumentTypes": null,
|
|
"id": 1526,
|
|
"name": "Types",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": null,
|
|
"src": "144:5:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
},
|
|
"local": null
|
|
}
|
|
],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/intf/IERC20.sol",
|
|
"file": "./intf/IERC20.sol",
|
|
"id": 1529,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 1691,
|
|
"sourceUnit": 10608,
|
|
"src": "175:41:2",
|
|
"symbolAliases": [
|
|
{
|
|
"foreign": {
|
|
"argumentTypes": null,
|
|
"id": 1528,
|
|
"name": "IERC20",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": null,
|
|
"src": "183:6:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
},
|
|
"local": null
|
|
}
|
|
],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Storage.sol",
|
|
"file": "./impl/Storage.sol",
|
|
"id": 1531,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 1691,
|
|
"sourceUnit": 9614,
|
|
"src": "217:43:2",
|
|
"symbolAliases": [
|
|
{
|
|
"foreign": {
|
|
"argumentTypes": null,
|
|
"id": 1530,
|
|
"name": "Storage",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": null,
|
|
"src": "225:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
},
|
|
"local": null
|
|
}
|
|
],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Trader.sol",
|
|
"file": "./impl/Trader.sol",
|
|
"id": 1533,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 1691,
|
|
"sourceUnit": 10352,
|
|
"src": "261:41:2",
|
|
"symbolAliases": [
|
|
{
|
|
"foreign": {
|
|
"argumentTypes": null,
|
|
"id": 1532,
|
|
"name": "Trader",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": null,
|
|
"src": "269:6:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
},
|
|
"local": null
|
|
}
|
|
],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/LiquidityProvider.sol",
|
|
"file": "./impl/LiquidityProvider.sol",
|
|
"id": 1535,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 1691,
|
|
"sourceUnit": 8370,
|
|
"src": "303:63:2",
|
|
"symbolAliases": [
|
|
{
|
|
"foreign": {
|
|
"argumentTypes": null,
|
|
"id": 1534,
|
|
"name": "LiquidityProvider",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": null,
|
|
"src": "311:17:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
},
|
|
"local": null
|
|
}
|
|
],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/Admin.sol",
|
|
"file": "./impl/Admin.sol",
|
|
"id": 1537,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 1691,
|
|
"sourceUnit": 6964,
|
|
"src": "367:39:2",
|
|
"symbolAliases": [
|
|
{
|
|
"foreign": {
|
|
"argumentTypes": null,
|
|
"id": 1536,
|
|
"name": "Admin",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": null,
|
|
"src": "375:5:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
},
|
|
"local": null
|
|
}
|
|
],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/impl/DODOLpToken.sol",
|
|
"file": "./impl/DODOLpToken.sol",
|
|
"id": 1539,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 1691,
|
|
"sourceUnit": 7348,
|
|
"src": "407:51:2",
|
|
"symbolAliases": [
|
|
{
|
|
"foreign": {
|
|
"argumentTypes": null,
|
|
"id": 1538,
|
|
"name": "DODOLpToken",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": null,
|
|
"src": "415:11:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
},
|
|
"local": null
|
|
}
|
|
],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 1541,
|
|
"name": "Admin",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 6963,
|
|
"src": "558:5:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Admin_$6963",
|
|
"typeString": "contract Admin"
|
|
}
|
|
},
|
|
"id": 1542,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "558:5:2"
|
|
},
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 1543,
|
|
"name": "Trader",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 10351,
|
|
"src": "565:6:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Trader_$10351",
|
|
"typeString": "contract Trader"
|
|
}
|
|
},
|
|
"id": 1544,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "565:6:2"
|
|
},
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 1545,
|
|
"name": "LiquidityProvider",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 8369,
|
|
"src": "573:17:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_LiquidityProvider_$8369",
|
|
"typeString": "contract LiquidityProvider"
|
|
}
|
|
},
|
|
"id": 1546,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "573:17:2"
|
|
}
|
|
],
|
|
"contractDependencies": [
|
|
6963,
|
|
7347,
|
|
8369,
|
|
8853,
|
|
9396,
|
|
9613,
|
|
10351,
|
|
11166,
|
|
11296
|
|
],
|
|
"contractKind": "contract",
|
|
"documentation": {
|
|
"id": 1540,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "461:79:2",
|
|
"text": " @title DODO\n @author DODO Breeder\n @notice Entrance for users"
|
|
},
|
|
"fullyImplemented": true,
|
|
"id": 1690,
|
|
"linearizedBaseContracts": [
|
|
1690,
|
|
8369,
|
|
10351,
|
|
9396,
|
|
8853,
|
|
6963,
|
|
9613,
|
|
11296,
|
|
11166
|
|
],
|
|
"name": "DODO",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"body": {
|
|
"id": 1688,
|
|
"nodeType": "Block",
|
|
"src": "888:1123:2",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 1571,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "!",
|
|
"prefix": true,
|
|
"src": "906:14:2",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"id": 1570,
|
|
"name": "_INITIALIZED_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9423,
|
|
"src": "907:13:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "444f444f5f494e495449414c495a4544",
|
|
"id": 1572,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "922:18:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_8f31c5be819f18faa99e753860dc430fa9e06e61d8129feaeafc97575920b2a7",
|
|
"typeString": "literal_string \"DODO_INITIALIZED\""
|
|
},
|
|
"value": "DODO_INITIALIZED"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_8f31c5be819f18faa99e753860dc430fa9e06e61d8129feaeafc97575920b2a7",
|
|
"typeString": "literal_string \"DODO_INITIALIZED\""
|
|
}
|
|
],
|
|
"id": 1569,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "898:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 1573,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "898:43:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 1574,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "898:43:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1577,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1575,
|
|
"name": "_INITIALIZED_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9423,
|
|
"src": "951:13:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 1576,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "967:4:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"src": "951:20:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 1578,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "951:20:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1581,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1579,
|
|
"name": "_OWNER_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11084,
|
|
"src": "1005:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1580,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1548,
|
|
"src": "1015:5:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1005:15:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 1582,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1005:15:2"
|
|
},
|
|
{
|
|
"eventCall": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 1586,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1064:1:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 1585,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "1056:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 1584,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1056:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 1587,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1056:10:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 1588,
|
|
"name": "_OWNER_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11084,
|
|
"src": "1068:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 1583,
|
|
"name": "OwnershipTransferred",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11098,
|
|
"src": "1035:20:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$",
|
|
"typeString": "function (address,address)"
|
|
}
|
|
},
|
|
"id": 1589,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1035:41:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 1590,
|
|
"nodeType": "EmitStatement",
|
|
"src": "1030:46:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1593,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1591,
|
|
"name": "_SUPERVISOR_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9443,
|
|
"src": "1087:12:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1592,
|
|
"name": "supervisor",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1550,
|
|
"src": "1102:10:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1087:25:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 1594,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1087:25:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1597,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1595,
|
|
"name": "_MAINTAINER_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9445,
|
|
"src": "1122:12:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1596,
|
|
"name": "maintainer",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1552,
|
|
"src": "1137:10:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1122:25:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 1598,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1122:25:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1601,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1599,
|
|
"name": "_BASE_TOKEN_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9447,
|
|
"src": "1157:12:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1600,
|
|
"name": "baseToken",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1554,
|
|
"src": "1172:9:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1157:24:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 1602,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1157:24:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1605,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1603,
|
|
"name": "_QUOTE_TOKEN_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9449,
|
|
"src": "1191:13:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1604,
|
|
"name": "quoteToken",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1556,
|
|
"src": "1207:10:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1191:26:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 1606,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1191:26:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1609,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1607,
|
|
"name": "_ORACLE_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9451,
|
|
"src": "1227:8:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1608,
|
|
"name": "oracle",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1558,
|
|
"src": "1238:6:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1227:17:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 1610,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1227:17:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1613,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1611,
|
|
"name": "_DEPOSIT_BASE_ALLOWED_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9429,
|
|
"src": "1255:22:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "66616c7365",
|
|
"id": 1612,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1280:5:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"src": "1255:30:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 1614,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1255:30:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1617,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1615,
|
|
"name": "_DEPOSIT_QUOTE_ALLOWED_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9427,
|
|
"src": "1295:23:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "66616c7365",
|
|
"id": 1616,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1321:5:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"src": "1295:31:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 1618,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1295:31:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1621,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1619,
|
|
"name": "_TRADE_ALLOWED_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9431,
|
|
"src": "1336:15:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "66616c7365",
|
|
"id": 1620,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1354:5:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"src": "1336:23:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 1622,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1336:23:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1625,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1623,
|
|
"name": "_GAS_PRICE_LIMIT_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9433,
|
|
"src": "1369:17:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1624,
|
|
"name": "gasPriceLimit",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1566,
|
|
"src": "1389:13:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1369:33:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 1626,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1369:33:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1629,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1627,
|
|
"name": "_BUYING_ALLOWED_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9435,
|
|
"src": "1466:16:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 1628,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1485:4:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"src": "1466:23:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 1630,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1466:23:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1633,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1631,
|
|
"name": "_SELLING_ALLOWED_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9437,
|
|
"src": "1499:17:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"hexValue": "74727565",
|
|
"id": 1632,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1519:4:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"src": "1499:24:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 1634,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1499:24:2"
|
|
},
|
|
{
|
|
"assignments": [
|
|
1636
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 1636,
|
|
"mutability": "mutable",
|
|
"name": "MAX_INT",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1688,
|
|
"src": "1533:15:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 1635,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1533:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 1638,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"hexValue": "307866666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666",
|
|
"id": 1637,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1551:66:2",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1",
|
|
"typeString": "int_const 1157...(70 digits omitted)...9935"
|
|
},
|
|
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1533:84:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1641,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1639,
|
|
"name": "_BASE_BALANCE_LIMIT_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9439,
|
|
"src": "1627:20:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1640,
|
|
"name": "MAX_INT",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1636,
|
|
"src": "1650:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1627:30:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 1642,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1627:30:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1645,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1643,
|
|
"name": "_QUOTE_BALANCE_LIMIT_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9441,
|
|
"src": "1667:21:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1644,
|
|
"name": "MAX_INT",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1636,
|
|
"src": "1691:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1667:31:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 1646,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1667:31:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1649,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1647,
|
|
"name": "_LP_FEE_RATE_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9453,
|
|
"src": "1709:13:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1648,
|
|
"name": "lpFeeRate",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1560,
|
|
"src": "1725:9:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1709:25:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 1650,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1709:25:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1653,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1651,
|
|
"name": "_MT_FEE_RATE_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9455,
|
|
"src": "1744:13:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1652,
|
|
"name": "mtFeeRate",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1562,
|
|
"src": "1760:9:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1744:25:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 1654,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1744:25:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1657,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1655,
|
|
"name": "_K_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9457,
|
|
"src": "1779:3:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1656,
|
|
"name": "k",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 1564,
|
|
"src": "1785:1:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1779:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 1658,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1779:7:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1663,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1659,
|
|
"name": "_R_STATUS_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9459,
|
|
"src": "1796:10:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_RStatus_$11630",
|
|
"typeString": "enum Types.RStatus"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1660,
|
|
"name": "Types",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 11631,
|
|
"src": "1809:5:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_Types_$11631_$",
|
|
"typeString": "type(library Types)"
|
|
}
|
|
},
|
|
"id": 1661,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "RStatus",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 11630,
|
|
"src": "1809:13:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_RStatus_$11630_$",
|
|
"typeString": "type(enum Types.RStatus)"
|
|
}
|
|
},
|
|
"id": 1662,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberName": "ONE",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "1809:17:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_RStatus_$11630",
|
|
"typeString": "enum Types.RStatus"
|
|
}
|
|
},
|
|
"src": "1796:30:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_RStatus_$11630",
|
|
"typeString": "enum Types.RStatus"
|
|
}
|
|
},
|
|
"id": 1664,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1796:30:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1673,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1665,
|
|
"name": "_BASE_CAPITAL_TOKEN_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9469,
|
|
"src": "1837:20:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 1670,
|
|
"name": "_BASE_TOKEN_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9447,
|
|
"src": "1884:12:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 1669,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "NewExpression",
|
|
"src": "1868:15:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_DODOLpToken_$7347_$",
|
|
"typeString": "function (address) returns (contract DODOLpToken)"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 1668,
|
|
"name": "DODOLpToken",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 7347,
|
|
"src": "1872:11:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_DODOLpToken_$7347",
|
|
"typeString": "contract DODOLpToken"
|
|
}
|
|
}
|
|
},
|
|
"id": 1671,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1868:29:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_DODOLpToken_$7347",
|
|
"typeString": "contract DODOLpToken"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_DODOLpToken_$7347",
|
|
"typeString": "contract DODOLpToken"
|
|
}
|
|
],
|
|
"id": 1667,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "1860:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 1666,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1860:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 1672,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1860:38:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1837:61:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 1674,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1837:61:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 1683,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 1675,
|
|
"name": "_QUOTE_CAPITAL_TOKEN_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9471,
|
|
"src": "1908:21:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 1680,
|
|
"name": "_QUOTE_TOKEN_",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9449,
|
|
"src": "1956:13:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 1679,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "NewExpression",
|
|
"src": "1940:15:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_DODOLpToken_$7347_$",
|
|
"typeString": "function (address) returns (contract DODOLpToken)"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 1678,
|
|
"name": "DODOLpToken",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 7347,
|
|
"src": "1944:11:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_DODOLpToken_$7347",
|
|
"typeString": "contract DODOLpToken"
|
|
}
|
|
}
|
|
},
|
|
"id": 1681,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1940:30:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_DODOLpToken_$7347",
|
|
"typeString": "contract DODOLpToken"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_DODOLpToken_$7347",
|
|
"typeString": "contract DODOLpToken"
|
|
}
|
|
],
|
|
"id": 1677,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "1932:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 1676,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1932:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 1682,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1932:39:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1908:63:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 1684,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1908:63:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"id": 1685,
|
|
"name": "_checkDODOParameters",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9538,
|
|
"src": "1982:20:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
|
|
"typeString": "function () view returns (uint256)"
|
|
}
|
|
},
|
|
"id": 1686,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1982:22:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 1687,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1982:22:2"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"functionSelector": "f00f9a09",
|
|
"id": 1689,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "init",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 1567,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 1548,
|
|
"mutability": "mutable",
|
|
"name": "owner",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "620:13:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 1547,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "620:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1550,
|
|
"mutability": "mutable",
|
|
"name": "supervisor",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "643:18:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 1549,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "643:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1552,
|
|
"mutability": "mutable",
|
|
"name": "maintainer",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "671:18:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 1551,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "671:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1554,
|
|
"mutability": "mutable",
|
|
"name": "baseToken",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "699:17:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 1553,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "699:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1556,
|
|
"mutability": "mutable",
|
|
"name": "quoteToken",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "726:18:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 1555,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "726:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1558,
|
|
"mutability": "mutable",
|
|
"name": "oracle",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "754:14:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 1557,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "754:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1560,
|
|
"mutability": "mutable",
|
|
"name": "lpFeeRate",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "778:17:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 1559,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "778:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1562,
|
|
"mutability": "mutable",
|
|
"name": "mtFeeRate",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "805:17:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 1561,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "805:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1564,
|
|
"mutability": "mutable",
|
|
"name": "k",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "832:9:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 1563,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "832:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 1566,
|
|
"mutability": "mutable",
|
|
"name": "gasPriceLimit",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 1689,
|
|
"src": "851:21:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 1565,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "851:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "610:268:2"
|
|
},
|
|
"returnParameters": {
|
|
"id": 1568,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "888:0:2"
|
|
},
|
|
"scope": 1690,
|
|
"src": "597:1414:2",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
}
|
|
],
|
|
"scope": 1691,
|
|
"src": "541:1472:2"
|
|
}
|
|
],
|
|
"src": "78:1936:2"
|
|
},
|
|
"compiler": {
|
|
"name": "solc",
|
|
"version": "0.6.9+commit.3e3065ac.Emscripten.clang"
|
|
},
|
|
"networks": {},
|
|
"schemaVersion": "3.2.3",
|
|
"updatedAt": "2020-11-06T08:03:35.487Z",
|
|
"devdoc": {
|
|
"author": "DODO Breeder",
|
|
"methods": {},
|
|
"title": "DODO"
|
|
},
|
|
"userdoc": {
|
|
"methods": {},
|
|
"notice": "Entrance for users"
|
|
}
|
|
} |