17181 lines
746 KiB
JSON
17181 lines
746 KiB
JSON
|
{
|
||
|
"contractName": "ConverterRegistryData",
|
||
|
"abi": [
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IContractRegistry",
|
||
|
"name": "_registry",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "constructor"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_prevOwner",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_newOwner",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "OwnerUpdate",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "acceptOwnership",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "newOwner",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "onlyOwnerCanUpdateRegistry",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "bool",
|
||
|
"name": "",
|
||
|
"type": "bool"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "owner",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "prevRegistry",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "contract IContractRegistry",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "registry",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "contract IContractRegistry",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "restoreRegistry",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "bool",
|
||
|
"name": "_onlyOwnerCanUpdateRegistry",
|
||
|
"type": "bool"
|
||
|
}
|
||
|
],
|
||
|
"name": "restrictRegistryUpdate",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_newOwner",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "transferOwnership",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "updateRegistry",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IConverterAnchor",
|
||
|
"name": "_anchor",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "addSmartToken",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IConverterAnchor",
|
||
|
"name": "_anchor",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "removeSmartToken",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IConverterAnchor",
|
||
|
"name": "_liquidityPoolAnchor",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "addLiquidityPool",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IConverterAnchor",
|
||
|
"name": "_liquidityPoolAnchor",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "removeLiquidityPool",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IERC20Token",
|
||
|
"name": "_convertibleToken",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "contract IConverterAnchor",
|
||
|
"name": "_anchor",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "addConvertibleToken",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IERC20Token",
|
||
|
"name": "_convertibleToken",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "contract IConverterAnchor",
|
||
|
"name": "_anchor",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "removeConvertibleToken",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "getSmartTokenCount",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "getSmartTokens",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "address[]",
|
||
|
"name": "",
|
||
|
"type": "address[]"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "_index",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "getSmartToken",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "contract IConverterAnchor",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_value",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "isSmartToken",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "bool",
|
||
|
"name": "",
|
||
|
"type": "bool"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "getLiquidityPoolCount",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "getLiquidityPools",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "address[]",
|
||
|
"name": "",
|
||
|
"type": "address[]"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "_index",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "getLiquidityPool",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "contract IConverterAnchor",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_value",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "isLiquidityPool",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "bool",
|
||
|
"name": "",
|
||
|
"type": "bool"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "getConvertibleTokenCount",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "getConvertibleTokens",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "address[]",
|
||
|
"name": "",
|
||
|
"type": "address[]"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "_index",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "getConvertibleToken",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "contract IERC20Token",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_value",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "isConvertibleToken",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "bool",
|
||
|
"name": "",
|
||
|
"type": "bool"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IERC20Token",
|
||
|
"name": "_convertibleToken",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "getConvertibleTokenSmartTokenCount",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IERC20Token",
|
||
|
"name": "_convertibleToken",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "getConvertibleTokenSmartTokens",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "address[]",
|
||
|
"name": "",
|
||
|
"type": "address[]"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IERC20Token",
|
||
|
"name": "_convertibleToken",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "_index",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "getConvertibleTokenSmartToken",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "contract IConverterAnchor",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IERC20Token",
|
||
|
"name": "_convertibleToken",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "_value",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "isConvertibleTokenSmartToken",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "bool",
|
||
|
"name": "",
|
||
|
"type": "bool"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function",
|
||
|
"constant": true
|
||
|
}
|
||
|
],
|
||
|
"metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IContractRegistry\",\"name\":\"_registry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"OwnerUpdate\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20Token\",\"name\":\"_convertibleToken\",\"type\":\"address\"},{\"internalType\":\"contract IConverterAnchor\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"addConvertibleToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IConverterAnchor\",\"name\":\"_liquidityPoolAnchor\",\"type\":\"address\"}],\"name\":\"addLiquidityPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IConverterAnchor\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"addSmartToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getConvertibleToken\",\"outputs\":[{\"internalType\":\"contract IERC20Token\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConvertibleTokenCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20Token\",\"name\":\"_convertibleToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getConvertibleTokenSmartToken\",\"outputs\":[{\"internalType\":\"contract IConverterAnchor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20Token\",\"name\":\"_convertibleToken\",\"type\":\"address\"}],\"name\":\"getConvertibleTokenSmartTokenCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20Token\",\"name\":\"_convertibleToken\",\"type\":\"address\"}],\"name\":\"getConvertibleTokenSmartTokens\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConvertibleTokens\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getLiquidityPool\",\"outputs\":[{\"internalType\":\"contract IConverterAnchor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLiquidityPoolCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLiquidityPools\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getSmartToken\",\"outputs\":[{\"internalType\":\"contract IConverterAnchor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSmartTokenCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSmart
|
||
|
"bytecode": "0x608060405234801561001057600080fd5b506040516113c43803806113c48339818101604052602081101561003357600080fd5b5051600080546001600160a01b03191633179055808061005281610083565b50600280546001600160a01b039092166001600160a01b0319928316811790915560038054909216179055506100e1565b6001600160a01b0381166100de576040805162461bcd60e51b815260206004820152601360248201527f4552525f494e56414c49445f4144445245535300000000000000000000000000604482015290519081900360640190fd5b50565b6112d4806100f06000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c80638da5cb5b1161010f578063d4ee1d90116100a2578063ee6a934c11610071578063ee6a934c14610501578063f2fde38b14610527578063f4fb86c01461054d578063fba8f03114610573576101f0565b8063d4ee1d901461049f578063d6c4b5b2146104a7578063e571049b146104d3578063e85455d7146104db576101f0565b8063a74498aa116100de578063a74498aa1461042e578063ae22107f1461044b578063b4a176d314610471578063ceb9838c14610479576101f0565b80638da5cb5b146103bd5780638de6c3eb146103c5578063a109d214146103eb578063a43d5e9414610408576101f0565b806361cd756e116101875780637a5f0ffd116101565780637a5f0ffd146103885780637b103999146103905780637f45c4c314610398578063865cf194146103a0576101f0565b806361cd756e1461031457806369be478414610338578063725b87861461035257806379ba509714610380576101f0565b80633ab8857c116101c35780633ab8857c146102b85780634123ef60146102de57806349d10b64146103045780635f1b50fe1461030c576101f0565b8063024c7ec7146101f557806304ceaf41146102165780632fe8a6ad1461026e57806336900c111461028a575b600080fd5b6102146004803603602081101561020b57600080fd5b503515156105a1565b005b61021e6105c7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561025a578181015183820152602001610242565b505050509050019250505060405180910390f35b61027661062c565b604080519115158252519081900360200190f35b610214600480360360408110156102a057600080fd5b506001600160a01b038135811691602001351661063c565b610276600480360360208110156102ce57600080fd5b50356001600160a01b03166106d7565b610276600480360360208110156102f457600080fd5b50356001600160a01b03166106f7565b610214610715565b61021e61091d565b61031c610980565b604080516001600160a01b039092168252519081900360200190f35b61034061098f565b60408051918252519081900360200190f35b6102766004803603604081101561036857600080fd5b506001600160a01b0381358116916020013516610995565b6102146109c7565b610340610a7e565b61031c610a84565b61021e610a93565b61031c600480360360208110156103b657600080fd5b5035610af6565b61031c610b23565b610214600480360360208110156103db57600080fd5b50356001600160a01b0316610b32565b61031c6004803603602081101561040157600080fd5b5035610b59565b6103406004803603602081101561041e57600080fd5b50356001600160a01b0316610b6b565b61031c6004803603602081101561044457600080fd5b5035610b89565b6102146004803603602081101561046157600080fd5b50356001600160a01b0316610b9b565b610214610bbe565b6102146004803603602081101561048f57600080fd5b50356001600160a01b0316610bea565b61031c610c0d565b61031c600480360360408110156104bd57600080fd5b506001600160a01b038135169060200135610c1c565b610340610c5f565b610276600480360360208110156104f157600080fd5b50356001600160a01b0316610c65565b6102146004803603602081101561051757600080fd5b50356001600160a01b0316610c83565b6102146004803603602081101561053d57600080fd5b50356001600160a01b0316610ca6565b61021e6004803603602081101561056357600080fd5b50356001600160a01b0316610d24565b6102146004803603604081101561058957600080fd5b506001600160a01b0381358116916020013516610d9d565b6105a9610ec3565b60038054911515600160a01b0260ff60a01b19909216919091179055565b6060600460000180548060200260200160405190810160405280929190818152602001828054801561062257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610604575b5050505050905090565b600354600160a01b900460ff1681565b60008051602061127f83398151915261065481610f18565b6001600160a01b038316600090815260096020526040902060018101546106c457600880548083556001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319166001600160a01b0386161790555b6106d18160010184610f7d565b50505050565b6001600160a01b0316600090815260096020526040902060010154151590565b6001600160a01b0316600090815260
|
||
|
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101f05760003560e01c80638da5cb5b1161010f578063d4ee1d90116100a2578063ee6a934c11610071578063ee6a934c14610501578063f2fde38b14610527578063f4fb86c01461054d578063fba8f03114610573576101f0565b8063d4ee1d901461049f578063d6c4b5b2146104a7578063e571049b146104d3578063e85455d7146104db576101f0565b8063a74498aa116100de578063a74498aa1461042e578063ae22107f1461044b578063b4a176d314610471578063ceb9838c14610479576101f0565b80638da5cb5b146103bd5780638de6c3eb146103c5578063a109d214146103eb578063a43d5e9414610408576101f0565b806361cd756e116101875780637a5f0ffd116101565780637a5f0ffd146103885780637b103999146103905780637f45c4c314610398578063865cf194146103a0576101f0565b806361cd756e1461031457806369be478414610338578063725b87861461035257806379ba509714610380576101f0565b80633ab8857c116101c35780633ab8857c146102b85780634123ef60146102de57806349d10b64146103045780635f1b50fe1461030c576101f0565b8063024c7ec7146101f557806304ceaf41146102165780632fe8a6ad1461026e57806336900c111461028a575b600080fd5b6102146004803603602081101561020b57600080fd5b503515156105a1565b005b61021e6105c7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561025a578181015183820152602001610242565b505050509050019250505060405180910390f35b61027661062c565b604080519115158252519081900360200190f35b610214600480360360408110156102a057600080fd5b506001600160a01b038135811691602001351661063c565b610276600480360360208110156102ce57600080fd5b50356001600160a01b03166106d7565b610276600480360360208110156102f457600080fd5b50356001600160a01b03166106f7565b610214610715565b61021e61091d565b61031c610980565b604080516001600160a01b039092168252519081900360200190f35b61034061098f565b60408051918252519081900360200190f35b6102766004803603604081101561036857600080fd5b506001600160a01b0381358116916020013516610995565b6102146109c7565b610340610a7e565b61031c610a84565b61021e610a93565b61031c600480360360208110156103b657600080fd5b5035610af6565b61031c610b23565b610214600480360360208110156103db57600080fd5b50356001600160a01b0316610b32565b61031c6004803603602081101561040157600080fd5b5035610b59565b6103406004803603602081101561041e57600080fd5b50356001600160a01b0316610b6b565b61031c6004803603602081101561044457600080fd5b5035610b89565b6102146004803603602081101561046157600080fd5b50356001600160a01b0316610b9b565b610214610bbe565b6102146004803603602081101561048f57600080fd5b50356001600160a01b0316610bea565b61031c610c0d565b61031c600480360360408110156104bd57600080fd5b506001600160a01b038135169060200135610c1c565b610340610c5f565b610276600480360360208110156104f157600080fd5b50356001600160a01b0316610c65565b6102146004803603602081101561051757600080fd5b50356001600160a01b0316610c83565b6102146004803603602081101561053d57600080fd5b50356001600160a01b0316610ca6565b61021e6004803603602081101561056357600080fd5b50356001600160a01b0316610d24565b6102146004803603604081101561058957600080fd5b506001600160a01b0381358116916020013516610d9d565b6105a9610ec3565b60038054911515600160a01b0260ff60a01b19909216919091179055565b6060600460000180548060200260200160405190810160405280929190818152602001828054801561062257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610604575b5050505050905090565b600354600160a01b900460ff1681565b60008051602061127f83398151915261065481610f18565b6001600160a01b038316600090815260096020526040902060018101546106c457600880548083556001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319166001600160a01b0386161790555b6106d18160010184610f7d565b50505050565b6001600160a01b0316600090815260096020526040902060010154151590565b6001600160a01b031660009081526005602052604090205460ff1690565b6000546001600160a01b03163314806107385750600354600160a01b900460ff16155b61077d576040805162461bcd60e51b815260206004820152601160248201527011549497d050d0d154d4d7d11153925151607a1b604482015290519081900360640190fd5b600061079b6f436f6e7472616374526567697374727960801b611032565b6002549091506001600160a01b038083169116148015906107c457506001600160a01b03811615155b61080c576040805162461bcd60e51b81526020600482015260146024820152734552525f494e56414c49445f5245
|
||
|
"immutableReferences": {},
|
||
|
"sourceMap": "752:10050:11:-:0;;;1441:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1441:90:11;619:5:57;:18;;-1:-1:-1;;;;;;619:18:57;627:10;619:18;;;1441:90:11;;594:23:64;1441:90:11;594:13:64;:23::i;:::-;-1:-1:-1;2122:8:56::1;:39:::0;;-1:-1:-1;;;;;2122:39:56;;::::1;-1:-1:-1::0;;;;;;2122:39:56;;::::1;::::0;::::1;::::0;;;2172:12:::1;:43:::0;;;;::::1;;::::0;;-1:-1:-1;752:10050:11;;692:128:64;-1:-1:-1;;;;;766:22:64;;758:54;;;;;-1:-1:-1;;;758:54:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;692:128;:::o;752:10050:11:-;;;;;;;",
|
||
|
"deployedSourceMap": "752:10050:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3655:224:56;;;;;;;;;;;;;;;;-1:-1:-1;3655:224:56;;;;:::i;:::-;;4556:119:11;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1333:38:56;;;:::i;:::-;;;;;;;;;;;;;;;;;;2847:452:11;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2847:452:11;;;;;;;;;;:::i;7605:162::-;;;;;;;;;;;;;;;;-1:-1:-1;7605:162:11;-1:-1:-1;;;;;7605:162:11;;:::i;5201:133::-;;;;;;;;;;;;;;;;-1:-1:-1;5201:133:11;-1:-1:-1;;;;;5201:133:11;;:::i;2300:925:56:-;;;:::i;6922:131:11:-;;;:::i;1243:37:56:-;;;:::i;:::-;;;;-1:-1:-1;;;;;1243:37:56;;;;;;;;;;;;;;6658:133:11;;;:::i;:::-;;;;;;;;;;;;;;;;9524:226;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9524:226:11;;;;;;;;;;:::i;1422:217:57:-;;;:::i;5463:127:11:-;;;:::i;1154:33:56:-;;;:::i;5715:125:11:-;;;:::i;7231:160::-;;;;;;;;;;;;;;;;-1:-1:-1;7231:160:11;;:::i;219:29:57:-;;;:::i;1634:149:11:-;;;;;;;;;;;;;;;;-1:-1:-1;1634:149:11;-1:-1:-1;;;;;1634:149:11;;:::i;4841:158::-;;;;;;;;;;;;;;;;-1:-1:-1;4841:158:11;;:::i;8028:212::-;;;;;;;;;;;;;;;;-1:-1:-1;8028:212:11;-1:-1:-1;;;;;8028:212:11;;:::i;6012:164::-;;;;;;;;;;;;;;;;-1:-1:-1;6012:164:11;;:::i;2472:187::-;;;;;;;;;;;;;;;;-1:-1:-1;2472:187:11;-1:-1:-1;;;;;2472:187:11;;:::i;3304:137:56:-;;;:::i;1889:155:11:-;;;;;;;;;;;;;;;;-1:-1:-1;1889:155:11;-1:-1:-1;;;;;1889:155:11;;:::i;255:23:57:-;;;:::i;8959:251:11:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8959:251:11;;;;;;;;:::i;4316:121::-;;;:::i;6384:139::-;;;;;;;;;;;;;;;;-1:-1:-1;6384:139:11;-1:-1:-1;;;;;6384:139:11;;:::i;2166:181::-;;;;;;;;;;;;;;;;-1:-1:-1;2166:181:11;-1:-1:-1;;;;;2166:181:11;;:::i;1164:167:57:-;;;;;;;;;;;;;;;;-1:-1:-1;1164:167:57;-1:-1:-1;;;;;1164:167:57;;:::i;8497:210:11:-;;;;;;;;;;;;;;;;-1:-1:-1;8497:210:11;-1:-1:-1;;;;;8497:210:11;;:::i;3490:703::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3490:703:11;;;;;;;;;;:::i;3655:224:56:-;726:12:57;:10;:12::i;:::-;3815:26:56::1;:56:::0;;;::::1;;-1:-1:-1::0;;;3815:56:56::1;-1:-1:-1::0;;;;3815:56:56;;::::1;::::0;;;::::1;::::0;;3655:224::o;4556:119:11:-;4614:16;4650:11;:17;;4643:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4643:24:11;;;;;;;;;;;;;;;;;;;;;;;4556:119;:::o;1333:38:56:-;;;-1:-1:-1;;;1333:38:56;;;;;:::o;2847:452:11:-;-1:-1:-1;;;;;;;;;;;1627:20:56;1633:13;1627:5;:20::i;:::-;-1:-1:-1;;;;;3007:51:11;::::1;2987:17;3007:51:::0;;;:23;:51:::1;::::0;;;;:23:::1;3073:10:::0;::::1;:23:::0;3069:175:::1;;3131:17;:30:::0;;3118:43;;;3176:56:::1;::::0;::::1;::::0;;-1:-1:-1;3176:56:11;;;;;::::1;::::0;;-1:-1:-1;;;;;;3176:56:11::1;-1:-1:-1::0;;;;;3176:56:11;::::1;;::::0;;3069:175:::1;3254:37;3262:4;:10;;3282:7;3254;:37::i;:::-;1658:1:56;2847:452:11::0;;;:::o;7605:162::-;-1:-1:-1;;;;;7705:31:11;7681:4;7705:31;;;:23;:31;;;;;:23;:37;:50;:54;;;7605:162::o;5201:133::-;-1:-1:-1;;;;;5295:25:11;5271:4;5295:25;;;:17;:25;;;;;:31;;;;5201:133::o;2300:925:56:-;2417:5;;-1:-1:-1;;;;;2417:5:56;2403:10;:19;;:50;;-1:-1:-1;2427:26:56;;-1:-1:-1;;;2427:26:56;;;;2426:27;2403:50;2395:80;;;;;-1:-1:-1;;;2395:80:56;;;;;;;;;;;;-1:-1:-1;;;2395:80:56;;;;;;;;;;;;;;;2530:29;2580:28;-1:-1:-1;;;2580:9:56;:28::i;:::-;2721:8;;2530:79;;-1:-1:-1;;;;;;2706:23:56;;;2721:8;;2706:23;;;;:61;;-1:-1:-1;;;;;;2733:34:56;;;;2706:61;2698:94;;;;;-1:-1:-1;;;2698:94:56;;;;;;;;;;;;-1:-1:-1;;;2698:94:56;;;;;;;;;;;;;;;2959:1;-1:-1:-1;;;;;2907:54:56;:11;-1:-1:-1;;;;;2907:21:56;;-1:-1:-1;;;2907:40:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2907:40:56;-1:-1:-1;;;;;2907:54:56;;;2899:87;;;;;-1:-1:-1;;;2899:87:56;;;;;;;;;;;;-1:-1:-1;;;2899:87:56;;;;;;;;;;;;;;;3093:8;;;3078:12;:23;;-1:-1:-1;;;;;3093:8:56;;;-1:-1:-1;;;;;;3078:23:56;;;;;;;3195:22;;;;;;;;;;;2300:925::o;6922:131:11:-;6986:16;7022:17;:23;;7015:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7015:30:11;;;;;;;;;;;;;;;;;;;;;;6922:131;:::o;1243:37:56:-;;;-1:-1:-1;;;;;1243:37:56;;:::o;6658:133:11:-;6753:17;:30;6658:133;:::o;9524:226::-;-1:-1:-1;;;;;9665:51:11;;;9641:4;
|
||
|
"source": "// SPDX-License-Identifier: SEE LICENSE IN LICENSE\r\npragma solidity 0.6.12;\r\nimport \"../utility/ContractRegistryClient.sol\";\r\nimport \"./interfaces/IConverterRegistryData.sol\";\r\n\r\n/**\r\n * @dev The ConverterRegistryData contract is an integral part of the converter registry\r\n * as it serves as the database contract that holds all registry data.\r\n *\r\n * The registry is separated into two different contracts for upgradability - the data contract\r\n * is harder to upgrade as it requires migrating all registry data into a new contract, while\r\n * the registry contract itself can be easily upgraded.\r\n *\r\n * For that same reason, the data contract is simple and contains no logic beyond the basic data\r\n * access utilities that it exposes.\r\n*/\r\ncontract ConverterRegistryData is IConverterRegistryData, ContractRegistryClient {\r\n struct Item {\r\n bool valid;\r\n uint256 index;\r\n }\r\n\r\n struct Items {\r\n address[] array;\r\n mapping(address => Item) table;\r\n }\r\n\r\n struct List {\r\n uint256 index;\r\n Items items;\r\n }\r\n\r\n struct Lists {\r\n address[] array;\r\n mapping(address => List) table;\r\n }\r\n\r\n Items private smartTokens;\r\n Items private liquidityPools;\r\n Lists private convertibleTokens;\r\n\r\n /**\r\n * @dev initializes a new ConverterRegistryData instance\r\n *\r\n * @param _registry address of a contract registry contract\r\n */\r\n constructor(IContractRegistry _registry) ContractRegistryClient(_registry) public {\r\n }\r\n\r\n /**\r\n * @dev adds a smart token\r\n *\r\n * @param _anchor smart token\r\n */\r\n function addSmartToken(IConverterAnchor _anchor) external override only(CONVERTER_REGISTRY) {\r\n addItem(smartTokens, address(_anchor));\r\n }\r\n\r\n /**\r\n * @dev removes a smart token\r\n *\r\n * @param _anchor smart token\r\n */\r\n function removeSmartToken(IConverterAnchor _anchor) external override only(CONVERTER_REGISTRY) {\r\n removeItem(smartTokens, address(_anchor));\r\n }\r\n\r\n /**\r\n * @dev adds a liquidity pool\r\n *\r\n * @param _liquidityPoolAnchor liquidity pool\r\n */\r\n function addLiquidityPool(IConverterAnchor _liquidityPoolAnchor) external override only(CONVERTER_REGISTRY) {\r\n addItem(liquidityPools, address(_liquidityPoolAnchor));\r\n }\r\n\r\n /**\r\n * @dev removes a liquidity pool\r\n *\r\n * @param _liquidityPoolAnchor liquidity pool\r\n */\r\n function removeLiquidityPool(IConverterAnchor _liquidityPoolAnchor) external override only(CONVERTER_REGISTRY) {\r\n removeItem(liquidityPools, address(_liquidityPoolAnchor));\r\n }\r\n\r\n /**\r\n * @dev adds a convertible token\r\n *\r\n * @param _convertibleToken convertible token\r\n * @param _anchor associated smart token\r\n */\r\n function addConvertibleToken(IERC20Token _convertibleToken, IConverterAnchor _anchor) external override only(CONVERTER_REGISTRY) {\r\n List storage list = convertibleTokens.table[address(_convertibleToken)];\r\n if (list.items.array.length == 0) {\r\n list.index = convertibleTokens.array.length;\r\n convertibleTokens.array.push(address(_convertibleToken));\r\n }\r\n addItem(list.items, address(_anchor));\r\n }\r\n\r\n /**\r\n * @dev removes a convertible token\r\n *\r\n * @param _convertibleToken convertible token\r\n * @param _anchor associated smart token\r\n */\r\n function removeConvertibleToken(IERC20Token _convertibleToken, IConverterAnchor _anchor) external override only(CONVERTER_REGISTRY) {\r\n List storage list = convertibleTokens.table[address(_convertibleToken)];\r\n removeItem(list.items, address(_anchor));\r\n if (list.items.array.length == 0) {\r\n address lastConvertibleToken = convertibleT
|
||
|
"sourcePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/ConverterRegistryData.sol",
|
||
|
"ast": {
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/ConverterRegistryData.sol",
|
||
|
"exportedSymbols": {
|
||
|
"ConverterRegistryData": [
|
||
|
12324
|
||
|
]
|
||
|
},
|
||
|
"id": 12325,
|
||
|
"license": "SEE LICENSE IN LICENSE",
|
||
|
"nodeType": "SourceUnit",
|
||
|
"nodes": [
|
||
|
{
|
||
|
"id": 11669,
|
||
|
"literals": [
|
||
|
"solidity",
|
||
|
"0.6",
|
||
|
".12"
|
||
|
],
|
||
|
"nodeType": "PragmaDirective",
|
||
|
"src": "52:23:11"
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/ContractRegistryClient.sol",
|
||
|
"file": "../utility/ContractRegistryClient.sol",
|
||
|
"id": 11670,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 12325,
|
||
|
"sourceUnit": 21720,
|
||
|
"src": "77:47:11",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/interfaces/IConverterRegistryData.sol",
|
||
|
"file": "./interfaces/IConverterRegistryData.sol",
|
||
|
"id": 11671,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 12325,
|
||
|
"sourceUnit": 13648,
|
||
|
"src": "126:49:11",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"abstract": false,
|
||
|
"baseContracts": [
|
||
|
{
|
||
|
"arguments": null,
|
||
|
"baseName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11673,
|
||
|
"name": "IConverterRegistryData",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13647,
|
||
|
"src": "786:22:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterRegistryData_$13647",
|
||
|
"typeString": "contract IConverterRegistryData"
|
||
|
}
|
||
|
},
|
||
|
"id": 11674,
|
||
|
"nodeType": "InheritanceSpecifier",
|
||
|
"src": "786:22:11"
|
||
|
},
|
||
|
{
|
||
|
"arguments": null,
|
||
|
"baseName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11675,
|
||
|
"name": "ContractRegistryClient",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21719,
|
||
|
"src": "810:22:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ContractRegistryClient_$21719",
|
||
|
"typeString": "contract ContractRegistryClient"
|
||
|
}
|
||
|
},
|
||
|
"id": 11676,
|
||
|
"nodeType": "InheritanceSpecifier",
|
||
|
"src": "810:22:11"
|
||
|
}
|
||
|
],
|
||
|
"contractDependencies": [
|
||
|
13647,
|
||
|
21719,
|
||
|
21818,
|
||
|
22661,
|
||
|
22847
|
||
|
],
|
||
|
"contractKind": "contract",
|
||
|
"documentation": {
|
||
|
"id": 11672,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "179:571:11",
|
||
|
"text": " @dev The ConverterRegistryData contract is an integral part of the converter registry\n as it serves as the database contract that holds all registry data.\n The registry is separated into two different contracts for upgradability - the data contract\n is harder to upgrade as it requires migrating all registry data into a new contract, while\n the registry contract itself can be easily upgraded.\n For that same reason, the data contract is simple and contains no logic beyond the basic data\n access utilities that it exposes."
|
||
|
},
|
||
|
"fullyImplemented": true,
|
||
|
"id": 12324,
|
||
|
"linearizedBaseContracts": [
|
||
|
12324,
|
||
|
21719,
|
||
|
22661,
|
||
|
21818,
|
||
|
22847,
|
||
|
13647
|
||
|
],
|
||
|
"name": "ConverterRegistryData",
|
||
|
"nodeType": "ContractDefinition",
|
||
|
"nodes": [
|
||
|
{
|
||
|
"canonicalName": "ConverterRegistryData.Item",
|
||
|
"id": 11681,
|
||
|
"members": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11678,
|
||
|
"mutability": "mutable",
|
||
|
"name": "valid",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11681,
|
||
|
"src": "863:10:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11677,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "863:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11680,
|
||
|
"mutability": "mutable",
|
||
|
"name": "index",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11681,
|
||
|
"src": "884:13:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11679,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "884:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"name": "Item",
|
||
|
"nodeType": "StructDefinition",
|
||
|
"scope": 12324,
|
||
|
"src": "840:65:11",
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"canonicalName": "ConverterRegistryData.Items",
|
||
|
"id": 11689,
|
||
|
"members": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11684,
|
||
|
"mutability": "mutable",
|
||
|
"name": "array",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11689,
|
||
|
"src": "937:15:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
||
|
"typeString": "address[]"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"baseType": {
|
||
|
"id": 11682,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "937:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 11683,
|
||
|
"length": null,
|
||
|
"nodeType": "ArrayTypeName",
|
||
|
"src": "937:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
||
|
"typeString": "address[]"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11688,
|
||
|
"mutability": "mutable",
|
||
|
"name": "table",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11689,
|
||
|
"src": "963:30:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11687,
|
||
|
"keyType": {
|
||
|
"id": 11685,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "971:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Mapping",
|
||
|
"src": "963:24:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item)"
|
||
|
},
|
||
|
"valueType": {
|
||
|
"contractScope": null,
|
||
|
"id": 11686,
|
||
|
"name": "Item",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11681,
|
||
|
"src": "982:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"name": "Items",
|
||
|
"nodeType": "StructDefinition",
|
||
|
"scope": 12324,
|
||
|
"src": "913:88:11",
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"canonicalName": "ConverterRegistryData.List",
|
||
|
"id": 11694,
|
||
|
"members": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11691,
|
||
|
"mutability": "mutable",
|
||
|
"name": "index",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11694,
|
||
|
"src": "1032:13:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11690,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1032:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11693,
|
||
|
"mutability": "mutable",
|
||
|
"name": "items",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11694,
|
||
|
"src": "1056:11:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11692,
|
||
|
"name": "Items",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11689,
|
||
|
"src": "1056:5:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"name": "List",
|
||
|
"nodeType": "StructDefinition",
|
||
|
"scope": 12324,
|
||
|
"src": "1009:66:11",
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"canonicalName": "ConverterRegistryData.Lists",
|
||
|
"id": 11702,
|
||
|
"members": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11697,
|
||
|
"mutability": "mutable",
|
||
|
"name": "array",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11702,
|
||
|
"src": "1107:15:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
||
|
"typeString": "address[]"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"baseType": {
|
||
|
"id": 11695,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1107:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 11696,
|
||
|
"length": null,
|
||
|
"nodeType": "ArrayTypeName",
|
||
|
"src": "1107:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
||
|
"typeString": "address[]"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11701,
|
||
|
"mutability": "mutable",
|
||
|
"name": "table",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11702,
|
||
|
"src": "1133:30:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11700,
|
||
|
"keyType": {
|
||
|
"id": 11698,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1141:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Mapping",
|
||
|
"src": "1133:24:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List)"
|
||
|
},
|
||
|
"valueType": {
|
||
|
"contractScope": null,
|
||
|
"id": 11699,
|
||
|
"name": "List",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11694,
|
||
|
"src": "1152:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"name": "Lists",
|
||
|
"nodeType": "StructDefinition",
|
||
|
"scope": 12324,
|
||
|
"src": "1083:88:11",
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11704,
|
||
|
"mutability": "mutable",
|
||
|
"name": "smartTokens",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12324,
|
||
|
"src": "1179:25:11",
|
||
|
"stateVariable": true,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11703,
|
||
|
"name": "Items",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11689,
|
||
|
"src": "1179:5:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11706,
|
||
|
"mutability": "mutable",
|
||
|
"name": "liquidityPools",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12324,
|
||
|
"src": "1211:28:11",
|
||
|
"stateVariable": true,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11705,
|
||
|
"name": "Items",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11689,
|
||
|
"src": "1211:5:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11708,
|
||
|
"mutability": "mutable",
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12324,
|
||
|
"src": "1246:31:11",
|
||
|
"stateVariable": true,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11707,
|
||
|
"name": "Lists",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11702,
|
||
|
"src": "1246:5:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Lists"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 11717,
|
||
|
"nodeType": "Block",
|
||
|
"src": "1523:8:11",
|
||
|
"statements": []
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11709,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "1286:149:11",
|
||
|
"text": " @dev initializes a new ConverterRegistryData instance\n @param _registry address of a contract registry contract"
|
||
|
},
|
||
|
"id": 11718,
|
||
|
"implemented": true,
|
||
|
"kind": "constructor",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11714,
|
||
|
"name": "_registry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11711,
|
||
|
"src": "1505:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
||
|
"typeString": "contract IContractRegistry"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 11715,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11713,
|
||
|
"name": "ContractRegistryClient",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21719,
|
||
|
"src": "1482:22:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_ContractRegistryClient_$21719_$",
|
||
|
"typeString": "type(contract ContractRegistryClient)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "1482:33:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 11712,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11711,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_registry",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11718,
|
||
|
"src": "1453:27:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
||
|
"typeString": "contract IContractRegistry"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11710,
|
||
|
"name": "IContractRegistry",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 22831,
|
||
|
"src": "1453:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
||
|
"typeString": "contract IContractRegistry"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "1452:29:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11716,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "1523:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "1441:90:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13509
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11736,
|
||
|
"nodeType": "Block",
|
||
|
"src": "1726:57:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11729,
|
||
|
"name": "smartTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11704,
|
||
|
"src": "1745:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11732,
|
||
|
"name": "_anchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11721,
|
||
|
"src": "1766:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
],
|
||
|
"id": 11731,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "1758:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11730,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1758:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11733,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "1758:16:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 11728,
|
||
|
"name": "addItem",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12255,
|
||
|
"src": "1737:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Items_$11689_storage_ptr_$_t_address_$returns$__$",
|
||
|
"typeString": "function (struct ConverterRegistryData.Items storage pointer,address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11734,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "1737:38:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11735,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "1737:38:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11719,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "1539:89:11",
|
||
|
"text": " @dev adds a smart token\n @param _anchor smart token"
|
||
|
},
|
||
|
"functionSelector": "8de6c3eb",
|
||
|
"id": 11737,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11725,
|
||
|
"name": "CONVERTER_REGISTRY",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21545,
|
||
|
"src": "1706:18:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 11726,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11724,
|
||
|
"name": "only",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21577,
|
||
|
"src": "1701:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$_t_bytes32_$",
|
||
|
"typeString": "modifier (bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "1701:24:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "addSmartToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11723,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "1692:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11722,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11721,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_anchor",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11737,
|
||
|
"src": "1657:24:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11720,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "1657:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "1656:26:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11727,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "1726:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "1634:149:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13514
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11755,
|
||
|
"nodeType": "Block",
|
||
|
"src": "1984:60:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11748,
|
||
|
"name": "smartTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11704,
|
||
|
"src": "2006:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11751,
|
||
|
"name": "_anchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11740,
|
||
|
"src": "2027:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
],
|
||
|
"id": 11750,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "2019:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11749,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2019:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11752,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2019:16:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 11747,
|
||
|
"name": "removeItem",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12323,
|
||
|
"src": "1995:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Items_$11689_storage_ptr_$_t_address_$returns$__$",
|
||
|
"typeString": "function (struct ConverterRegistryData.Items storage pointer,address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11753,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "1995:41:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11754,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "1995:41:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11738,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "1791:92:11",
|
||
|
"text": " @dev removes a smart token\n @param _anchor smart token"
|
||
|
},
|
||
|
"functionSelector": "ceb9838c",
|
||
|
"id": 11756,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11744,
|
||
|
"name": "CONVERTER_REGISTRY",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21545,
|
||
|
"src": "1964:18:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 11745,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11743,
|
||
|
"name": "only",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21577,
|
||
|
"src": "1959:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$_t_bytes32_$",
|
||
|
"typeString": "modifier (bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "1959:24:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "removeSmartToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11742,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "1950:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11741,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11740,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_anchor",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11756,
|
||
|
"src": "1915:24:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11739,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "1915:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "1914:26:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11746,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "1984:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "1889:155:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13519
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11774,
|
||
|
"nodeType": "Block",
|
||
|
"src": "2274:73:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11767,
|
||
|
"name": "liquidityPools",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11706,
|
||
|
"src": "2293:14:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11770,
|
||
|
"name": "_liquidityPoolAnchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11759,
|
||
|
"src": "2317:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
],
|
||
|
"id": 11769,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "2309:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11768,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2309:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11771,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2309:29:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 11766,
|
||
|
"name": "addItem",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12255,
|
||
|
"src": "2285:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Items_$11689_storage_ptr_$_t_address_$returns$__$",
|
||
|
"typeString": "function (struct ConverterRegistryData.Items storage pointer,address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11772,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2285:54:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11773,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "2285:54:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11757,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "2052:108:11",
|
||
|
"text": " @dev adds a liquidity pool\n @param _liquidityPoolAnchor liquidity pool"
|
||
|
},
|
||
|
"functionSelector": "ee6a934c",
|
||
|
"id": 11775,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11763,
|
||
|
"name": "CONVERTER_REGISTRY",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21545,
|
||
|
"src": "2254:18:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 11764,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11762,
|
||
|
"name": "only",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21577,
|
||
|
"src": "2249:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$_t_bytes32_$",
|
||
|
"typeString": "modifier (bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "2249:24:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "addLiquidityPool",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11761,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "2240:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11760,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11759,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_liquidityPoolAnchor",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11775,
|
||
|
"src": "2192:37:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11758,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "2192:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "2191:39:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11765,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "2274:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "2166:181:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13524
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11793,
|
||
|
"nodeType": "Block",
|
||
|
"src": "2583:76:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11786,
|
||
|
"name": "liquidityPools",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11706,
|
||
|
"src": "2605:14:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11789,
|
||
|
"name": "_liquidityPoolAnchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11778,
|
||
|
"src": "2629:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
],
|
||
|
"id": 11788,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "2621:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11787,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2621:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11790,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2621:29:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 11785,
|
||
|
"name": "removeItem",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12323,
|
||
|
"src": "2594:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Items_$11689_storage_ptr_$_t_address_$returns$__$",
|
||
|
"typeString": "function (struct ConverterRegistryData.Items storage pointer,address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11791,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2594:57:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11792,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "2594:57:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11776,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "2355:111:11",
|
||
|
"text": " @dev removes a liquidity pool\n @param _liquidityPoolAnchor liquidity pool"
|
||
|
},
|
||
|
"functionSelector": "ae22107f",
|
||
|
"id": 11794,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11782,
|
||
|
"name": "CONVERTER_REGISTRY",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21545,
|
||
|
"src": "2563:18:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 11783,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11781,
|
||
|
"name": "only",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21577,
|
||
|
"src": "2558:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$_t_bytes32_$",
|
||
|
"typeString": "modifier (bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "2558:24:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "removeLiquidityPool",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11780,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "2549:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11779,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11778,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_liquidityPoolAnchor",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11794,
|
||
|
"src": "2501:37:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11777,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "2501:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "2500:39:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11784,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "2583:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "2472:187:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13531
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11852,
|
||
|
"nodeType": "Block",
|
||
|
"src": "2976:323:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
11807
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11807,
|
||
|
"mutability": "mutable",
|
||
|
"name": "list",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11852,
|
||
|
"src": "2987:17:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "storage",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11806,
|
||
|
"name": "List",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11694,
|
||
|
"src": "2987:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 11815,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11808,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "3007:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11809,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "3007:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11814,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11812,
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11797,
|
||
|
"src": "3039:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"id": 11811,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "3031:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11810,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3031:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11813,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3031:26:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "3007:51:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "2987:71:11"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"id": 11821,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11816,
|
||
|
"name": "list",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11807,
|
||
|
"src": "3073:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 11817,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "3073:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11818,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "3073:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11819,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3073:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 11820,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "3100:1:11",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
},
|
||
|
"src": "3073:28:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 11842,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "3069:175:11",
|
||
|
"trueBody": {
|
||
|
"id": 11841,
|
||
|
"nodeType": "Block",
|
||
|
"src": "3103:141:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11828,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11822,
|
||
|
"name": "list",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11807,
|
||
|
"src": "3118:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 11824,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"memberName": "index",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11691,
|
||
|
"src": "3118:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11825,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "3131:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11826,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "3131:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11827,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3131:30:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"src": "3118:43:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"id": 11829,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3118:43:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11837,
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11797,
|
||
|
"src": "3213:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"id": 11836,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "3205:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11835,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3205:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11838,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3205:26:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11830,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "3176:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11833,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "3176:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11834,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "push",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3176:28:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$",
|
||
|
"typeString": "function (address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11839,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3176:56:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11840,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3176:56:11"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11844,
|
||
|
"name": "list",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11807,
|
||
|
"src": "3262:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 11845,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "3262:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11848,
|
||
|
"name": "_anchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11799,
|
||
|
"src": "3282:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
],
|
||
|
"id": 11847,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "3274:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11846,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3274:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11849,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3274:16:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 11843,
|
||
|
"name": "addItem",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12255,
|
||
|
"src": "3254:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Items_$11689_storage_ptr_$_t_address_$returns$__$",
|
||
|
"typeString": "function (struct ConverterRegistryData.Items storage pointer,address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11850,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3254:37:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11851,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3254:37:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11795,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "2667:174:11",
|
||
|
"text": " @dev adds a convertible token\n @param _convertibleToken convertible token\n @param _anchor associated smart token"
|
||
|
},
|
||
|
"functionSelector": "36900c11",
|
||
|
"id": 11853,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11803,
|
||
|
"name": "CONVERTER_REGISTRY",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21545,
|
||
|
"src": "2956:18:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 11804,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11802,
|
||
|
"name": "only",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21577,
|
||
|
"src": "2951:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$_t_bytes32_$",
|
||
|
"typeString": "modifier (bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "2951:24:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "addConvertibleToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11801,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "2942:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11800,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11797,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11853,
|
||
|
"src": "2876:29:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11796,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "2876:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11799,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_anchor",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11853,
|
||
|
"src": "2907:24:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11798,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "2907:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "2875:57:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11805,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "2976:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "2847:452:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13538
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11938,
|
||
|
"nodeType": "Block",
|
||
|
"src": "3622:571:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
11866
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11866,
|
||
|
"mutability": "mutable",
|
||
|
"name": "list",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11938,
|
||
|
"src": "3633:17:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "storage",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11865,
|
||
|
"name": "List",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11694,
|
||
|
"src": "3633:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 11874,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11867,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "3653:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11868,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "3653:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11873,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11871,
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11856,
|
||
|
"src": "3685:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"id": 11870,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "3677:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11869,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3677:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11872,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3677:26:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "3653:51:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "3633:71:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11876,
|
||
|
"name": "list",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11866,
|
||
|
"src": "3726:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 11877,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "3726:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11880,
|
||
|
"name": "_anchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11858,
|
||
|
"src": "3746:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
],
|
||
|
"id": 11879,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "3738:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11878,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3738:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11881,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3738:16:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 11875,
|
||
|
"name": "removeItem",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12323,
|
||
|
"src": "3715:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Items_$11689_storage_ptr_$_t_address_$returns$__$",
|
||
|
"typeString": "function (struct ConverterRegistryData.Items storage pointer,address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11882,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3715:40:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11883,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3715:40:11"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"id": 11889,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11884,
|
||
|
"name": "list",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11866,
|
||
|
"src": "3770:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 11885,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "3770:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11886,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "3770:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11887,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3770:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 11888,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "3797:1:11",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
},
|
||
|
"src": "3770:28:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 11937,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "3766:420:11",
|
||
|
"trueBody": {
|
||
|
"id": 11936,
|
||
|
"nodeType": "Block",
|
||
|
"src": "3800:386:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
11891
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11891,
|
||
|
"mutability": "mutable",
|
||
|
"name": "lastConvertibleToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11936,
|
||
|
"src": "3815:28:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11890,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3815:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 11900,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11892,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "3846:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11893,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "3846:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11899,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"id": 11898,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11894,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "3870:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11895,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "3870:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11896,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3870:30:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "-",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "31",
|
||
|
"id": 11897,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "3903:1:11",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_1_by_1",
|
||
|
"typeString": "int_const 1"
|
||
|
},
|
||
|
"value": "1"
|
||
|
},
|
||
|
"src": "3870:34:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "3846:59:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "3815:90:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11909,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11901,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "3920:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11904,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "3920:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11905,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11903,
|
||
|
"name": "lastConvertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11891,
|
||
|
"src": "3944:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "3920:45:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11906,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"memberName": "index",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11691,
|
||
|
"src": "3920:51:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11907,
|
||
|
"name": "list",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11866,
|
||
|
"src": "3974:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 11908,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "index",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11691,
|
||
|
"src": "3974:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"src": "3920:64:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"id": 11910,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3920:64:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11918,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11911,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "3999:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11915,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "3999:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11916,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11913,
|
||
|
"name": "list",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11866,
|
||
|
"src": "4023:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 11914,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "index",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11691,
|
||
|
"src": "4023:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "3999:35:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11917,
|
||
|
"name": "lastConvertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11891,
|
||
|
"src": "4037:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"src": "3999:58:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 11919,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3999:58:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11920,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "4072:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11923,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "4072:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11924,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "pop",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "4072:27:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$",
|
||
|
"typeString": "function ()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11925,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4072:29:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11926,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4072:29:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11934,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "delete",
|
||
|
"prefix": true,
|
||
|
"src": "4116:58:11",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11927,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "4123:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11928,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "4123:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11933,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11931,
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11856,
|
||
|
"src": "4155:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"id": 11930,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "4147:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11929,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4147:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11932,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4147:26:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "4123:51:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11935,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4116:58:11"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11854,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "3307:177:11",
|
||
|
"text": " @dev removes a convertible token\n @param _convertibleToken convertible token\n @param _anchor associated smart token"
|
||
|
},
|
||
|
"functionSelector": "fba8f031",
|
||
|
"id": 11939,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11862,
|
||
|
"name": "CONVERTER_REGISTRY",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21545,
|
||
|
"src": "3602:18:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 11863,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11861,
|
||
|
"name": "only",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21577,
|
||
|
"src": "3597:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$_t_bytes32_$",
|
||
|
"typeString": "modifier (bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "3597:24:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "removeConvertibleToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11860,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "3588:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11859,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11856,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11939,
|
||
|
"src": "3522:29:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11855,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "3522:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11858,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_anchor",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11939,
|
||
|
"src": "3553:24:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11857,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "3553:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "3521:57:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11864,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "3622:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "3490:703:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13543
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11950,
|
||
|
"nodeType": "Block",
|
||
|
"src": "4387:50:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11946,
|
||
|
"name": "smartTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11704,
|
||
|
"src": "4405:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11947,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "4405:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11948,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "4405:24:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 11945,
|
||
|
"id": 11949,
|
||
|
"nodeType": "Return",
|
||
|
"src": "4398:31:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11940,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "4201:109:11",
|
||
|
"text": " @dev returns the number of smart tokens\n @return number of smart tokens"
|
||
|
},
|
||
|
"functionSelector": "e571049b",
|
||
|
"id": 11951,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getSmartTokenCount",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11942,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "4360:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11941,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "4343:2:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11945,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11944,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11951,
|
||
|
"src": "4378:7:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11943,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4378:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "4377:9:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "4316:121:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13549
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11962,
|
||
|
"nodeType": "Block",
|
||
|
"src": "4632:43:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11959,
|
||
|
"name": "smartTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11704,
|
||
|
"src": "4650:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11960,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "4650:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 11958,
|
||
|
"id": 11961,
|
||
|
"nodeType": "Return",
|
||
|
"src": "4643:24:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11952,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "4445:105:11",
|
||
|
"text": " @dev returns the list of smart tokens\n @return list of smart tokens"
|
||
|
},
|
||
|
"functionSelector": "04ceaf41",
|
||
|
"id": 11963,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getSmartTokens",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11954,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "4596:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11953,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "4579:2:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11958,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11957,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11963,
|
||
|
"src": "4614:16:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "memory",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
||
|
"typeString": "address[]"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"baseType": {
|
||
|
"id": 11955,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4614:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 11956,
|
||
|
"length": null,
|
||
|
"nodeType": "ArrayTypeName",
|
||
|
"src": "4614:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
||
|
"typeString": "address[]"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "4613:18:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "4556:119:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13556
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11979,
|
||
|
"nodeType": "Block",
|
||
|
"src": "4930:69:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11973,
|
||
|
"name": "smartTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11704,
|
||
|
"src": "4965:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11974,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "4965:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11976,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11975,
|
||
|
"name": "_index",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11966,
|
||
|
"src": "4983:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "4965:25:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 11972,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "4948:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IConverterAnchor_$13349_$",
|
||
|
"typeString": "type(contract IConverterAnchor)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11977,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4948:43:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 11971,
|
||
|
"id": 11978,
|
||
|
"nodeType": "Return",
|
||
|
"src": "4941:50:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11964,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "4683:152:11",
|
||
|
"text": " @dev returns the smart token at a given index\n @param _index index\n @return smart token at the given index"
|
||
|
},
|
||
|
"functionSelector": "a109d214",
|
||
|
"id": 11980,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getSmartToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11968,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "4894:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11967,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11966,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_index",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11980,
|
||
|
"src": "4864:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11965,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4864:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "4863:16:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11971,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11970,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11980,
|
||
|
"src": "4912:16:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11969,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "4912:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "4911:18:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "4841:158:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13563
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11995,
|
||
|
"nodeType": "Block",
|
||
|
"src": "5277:57:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11989,
|
||
|
"name": "smartTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11704,
|
||
|
"src": "5295:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11990,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11688,
|
||
|
"src": "5295:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11992,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11991,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11983,
|
||
|
"src": "5313:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "5295:25:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11993,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "valid",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11678,
|
||
|
"src": "5295:31:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 11988,
|
||
|
"id": 11994,
|
||
|
"nodeType": "Return",
|
||
|
"src": "5288:38:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11981,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "5007:188:11",
|
||
|
"text": " @dev checks whether or not a given value is a smart token\n @param _value value\n @return true if the given value is a smart token, false if not"
|
||
|
},
|
||
|
"functionSelector": "4123ef60",
|
||
|
"id": 11996,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "isSmartToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11985,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "5253:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11984,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11983,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_value",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11996,
|
||
|
"src": "5223:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11982,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "5223:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5222:16:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11988,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11987,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11996,
|
||
|
"src": "5271:4:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11986,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "5271:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5270:6:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "5201:133:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13568
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12007,
|
||
|
"nodeType": "Block",
|
||
|
"src": "5537:53:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12003,
|
||
|
"name": "liquidityPools",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11706,
|
||
|
"src": "5555:14:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12004,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "5555:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12005,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "5555:27:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12002,
|
||
|
"id": 12006,
|
||
|
"nodeType": "Return",
|
||
|
"src": "5548:34:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11997,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "5342:115:11",
|
||
|
"text": " @dev returns the number of liquidity pools\n @return number of liquidity pools"
|
||
|
},
|
||
|
"functionSelector": "7a5f0ffd",
|
||
|
"id": 12008,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getLiquidityPoolCount",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11999,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "5510:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11998,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "5493:2:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12002,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12001,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12008,
|
||
|
"src": "5528:7:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12000,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "5528:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5527:9:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "5463:127:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13574
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12019,
|
||
|
"nodeType": "Block",
|
||
|
"src": "5794:46:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12016,
|
||
|
"name": "liquidityPools",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11706,
|
||
|
"src": "5812:14:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12017,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "5812:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12015,
|
||
|
"id": 12018,
|
||
|
"nodeType": "Return",
|
||
|
"src": "5805:27:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12009,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "5598:111:11",
|
||
|
"text": " @dev returns the list of liquidity pools\n @return list of liquidity pools"
|
||
|
},
|
||
|
"functionSelector": "7f45c4c3",
|
||
|
"id": 12020,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getLiquidityPools",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12011,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "5758:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12010,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "5741:2:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12015,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12014,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12020,
|
||
|
"src": "5776:16:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "memory",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
||
|
"typeString": "address[]"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"baseType": {
|
||
|
"id": 12012,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "5776:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 12013,
|
||
|
"length": null,
|
||
|
"nodeType": "ArrayTypeName",
|
||
|
"src": "5776:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
||
|
"typeString": "address[]"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5775:18:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "5715:125:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13581
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12036,
|
||
|
"nodeType": "Block",
|
||
|
"src": "6104:72:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12030,
|
||
|
"name": "liquidityPools",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11706,
|
||
|
"src": "6139:14:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12031,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "6139:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12033,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12032,
|
||
|
"name": "_index",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12023,
|
||
|
"src": "6160:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "6139:28:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 12029,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "6122:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IConverterAnchor_$13349_$",
|
||
|
"typeString": "type(contract IConverterAnchor)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12034,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6122:46:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12028,
|
||
|
"id": 12035,
|
||
|
"nodeType": "Return",
|
||
|
"src": "6115:53:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12021,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "5848:158:11",
|
||
|
"text": " @dev returns the liquidity pool at a given index\n @param _index index\n @return liquidity pool at the given index"
|
||
|
},
|
||
|
"functionSelector": "a74498aa",
|
||
|
"id": 12037,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getLiquidityPool",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12025,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "6068:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12024,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12023,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_index",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12037,
|
||
|
"src": "6038:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12022,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "6038:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "6037:16:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12028,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12027,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12037,
|
||
|
"src": "6086:16:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12026,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "6086:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "6085:18:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "6012:164:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13588
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12052,
|
||
|
"nodeType": "Block",
|
||
|
"src": "6463:60:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12046,
|
||
|
"name": "liquidityPools",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11706,
|
||
|
"src": "6481:14:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12047,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11688,
|
||
|
"src": "6481:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12049,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12048,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12040,
|
||
|
"src": "6502:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "6481:28:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12050,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "valid",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11678,
|
||
|
"src": "6481:34:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12045,
|
||
|
"id": 12051,
|
||
|
"nodeType": "Return",
|
||
|
"src": "6474:41:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12038,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "6184:194:11",
|
||
|
"text": " @dev checks whether or not a given value is a liquidity pool\n @param _value value\n @return true if the given value is a liquidity pool, false if not"
|
||
|
},
|
||
|
"functionSelector": "e85455d7",
|
||
|
"id": 12053,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "isLiquidityPool",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12042,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "6439:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12041,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12040,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_value",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12053,
|
||
|
"src": "6409:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12039,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "6409:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "6408:16:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12045,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12044,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12053,
|
||
|
"src": "6457:4:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12043,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "6457:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "6456:6:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "6384:139:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13593
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12064,
|
||
|
"nodeType": "Block",
|
||
|
"src": "6735:56:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12060,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "6753:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12061,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "6753:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12062,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "6753:30:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12059,
|
||
|
"id": 12063,
|
||
|
"nodeType": "Return",
|
||
|
"src": "6746:37:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12054,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "6531:121:11",
|
||
|
"text": " @dev returns the number of convertible tokens\n @return number of convertible tokens"
|
||
|
},
|
||
|
"functionSelector": "69be4784",
|
||
|
"id": 12065,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getConvertibleTokenCount",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12056,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "6708:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12055,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "6691:2:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12059,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12058,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12065,
|
||
|
"src": "6726:7:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12057,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "6726:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "6725:9:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "6658:133:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13599
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12076,
|
||
|
"nodeType": "Block",
|
||
|
"src": "7004:49:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12073,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "7022:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12074,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "7022:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12072,
|
||
|
"id": 12075,
|
||
|
"nodeType": "Return",
|
||
|
"src": "7015:30:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12066,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "6799:117:11",
|
||
|
"text": " @dev returns the list of convertible tokens\n @return list of convertible tokens"
|
||
|
},
|
||
|
"functionSelector": "5f1b50fe",
|
||
|
"id": 12077,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getConvertibleTokens",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12068,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "6968:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12067,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "6951:2:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12072,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12071,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12077,
|
||
|
"src": "6986:16:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "memory",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
||
|
"typeString": "address[]"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"baseType": {
|
||
|
"id": 12069,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "6986:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 12070,
|
||
|
"length": null,
|
||
|
"nodeType": "ArrayTypeName",
|
||
|
"src": "6986:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
||
|
"typeString": "address[]"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "6985:18:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "6922:131:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13606
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12093,
|
||
|
"nodeType": "Block",
|
||
|
"src": "7321:70:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12087,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "7351:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12088,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "7351:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12090,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12089,
|
||
|
"name": "_index",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12080,
|
||
|
"src": "7375:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "7351:31:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 12086,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "7339:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IERC20Token_$21127_$",
|
||
|
"typeString": "type(contract IERC20Token)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12091,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "7339:44:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12085,
|
||
|
"id": 12092,
|
||
|
"nodeType": "Return",
|
||
|
"src": "7332:51:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12078,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "7061:164:11",
|
||
|
"text": " @dev returns the convertible token at a given index\n @param _index index\n @return convertible token at the given index"
|
||
|
},
|
||
|
"functionSelector": "865cf194",
|
||
|
"id": 12094,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getConvertibleToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12082,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "7290:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12081,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12080,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_index",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12094,
|
||
|
"src": "7260:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12079,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "7260:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "7259:16:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12085,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12084,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12094,
|
||
|
"src": "7308:11:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12083,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "7308:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "7307:13:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "7231:160:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13613
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12113,
|
||
|
"nodeType": "Block",
|
||
|
"src": "7687:80:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"id": 12111,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12103,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "7705:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12104,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "7705:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12106,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12105,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12097,
|
||
|
"src": "7729:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "7705:31:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12107,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "7705:37:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12108,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "7705:43:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12109,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "7705:50:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": ">",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 12110,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "7758:1:11",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
},
|
||
|
"src": "7705:54:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12102,
|
||
|
"id": 12112,
|
||
|
"nodeType": "Return",
|
||
|
"src": "7698:61:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12095,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "7399:200:11",
|
||
|
"text": " @dev checks whether or not a given value is a convertible token\n @param _value value\n @return true if the given value is a convertible token, false if not"
|
||
|
},
|
||
|
"functionSelector": "3ab8857c",
|
||
|
"id": 12114,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "isConvertibleToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12099,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "7663:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12098,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12097,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_value",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12114,
|
||
|
"src": "7633:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12096,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "7633:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "7632:16:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12102,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12101,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12114,
|
||
|
"src": "7681:4:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12100,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "7681:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "7680:6:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "7605:162:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13620
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12134,
|
||
|
"nodeType": "Block",
|
||
|
"src": "8144:96:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12123,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "8162:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12124,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "8162:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12129,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12127,
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12117,
|
||
|
"src": "8194:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"id": 12126,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "8186:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12125,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "8186:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12128,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "8186:26:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "8162:51:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12130,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "8162:57:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12131,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "8162:63:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12132,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "8162:70:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12122,
|
||
|
"id": 12133,
|
||
|
"nodeType": "Return",
|
||
|
"src": "8155:77:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12115,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "7775:247:11",
|
||
|
"text": " @dev returns the number of smart tokens associated with a given convertible token\n @param _convertibleToken convertible token\n @return number of smart tokens associated with the given convertible token"
|
||
|
},
|
||
|
"functionSelector": "a43d5e94",
|
||
|
"id": 12135,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getConvertibleTokenSmartTokenCount",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12119,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "8117:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12118,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12117,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12135,
|
||
|
"src": "8072:29:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12116,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "8072:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "8071:31:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12122,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12121,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12135,
|
||
|
"src": "8135:7:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12120,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "8135:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "8134:9:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "8028:212:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13628
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12155,
|
||
|
"nodeType": "Block",
|
||
|
"src": "8618:89:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12145,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "8636:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12146,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "8636:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12151,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12149,
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12138,
|
||
|
"src": "8668:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"id": 12148,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "8660:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12147,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "8660:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12150,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "8660:26:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "8636:51:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12152,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "8636:57:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12153,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "8636:63:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12144,
|
||
|
"id": 12154,
|
||
|
"nodeType": "Return",
|
||
|
"src": "8629:70:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12136,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "8248:243:11",
|
||
|
"text": " @dev returns the list of smart tokens associated with a given convertible token\n @param _convertibleToken convertible token\n @return list of smart tokens associated with the given convertible token"
|
||
|
},
|
||
|
"functionSelector": "f4fb86c0",
|
||
|
"id": 12156,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getConvertibleTokenSmartTokens",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12140,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "8582:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12139,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12138,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12156,
|
||
|
"src": "8537:29:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12137,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "8537:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "8536:31:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12144,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12143,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12156,
|
||
|
"src": "8600:16:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "memory",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
||
|
"typeString": "address[]"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"baseType": {
|
||
|
"id": 12141,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "8600:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 12142,
|
||
|
"length": null,
|
||
|
"nodeType": "ArrayTypeName",
|
||
|
"src": "8600:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
||
|
"typeString": "address[]"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "8599:18:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "8497:210:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13637
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12181,
|
||
|
"nodeType": "Block",
|
||
|
"src": "9095:115:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12168,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "9130:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12169,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "9130:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12174,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12172,
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12159,
|
||
|
"src": "9162:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"id": 12171,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "9154:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12170,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9154:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12173,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9154:26:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "9130:51:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12175,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "9130:57:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12176,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "9130:63:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12178,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12177,
|
||
|
"name": "_index",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12161,
|
||
|
"src": "9194:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "9130:71:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 12167,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "9113:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IConverterAnchor_$13349_$",
|
||
|
"typeString": "type(contract IConverterAnchor)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12179,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9113:89:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12166,
|
||
|
"id": 12180,
|
||
|
"nodeType": "Return",
|
||
|
"src": "9106:96:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12157,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "8715:238:11",
|
||
|
"text": " @dev returns the smart token associated with a given convertible token at a given index\n @param _index index\n @return smart token associated with the given convertible token at the given index"
|
||
|
},
|
||
|
"functionSelector": "d6c4b5b2",
|
||
|
"id": 12182,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getConvertibleTokenSmartToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12163,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "9059:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12162,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12159,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12182,
|
||
|
"src": "8998:29:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12158,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "8998:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12161,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_index",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12182,
|
||
|
"src": "9029:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12160,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9029:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "8997:47:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12166,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12165,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12182,
|
||
|
"src": "9077:16:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12164,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "9077:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "9076:18:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "8959:251:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13646
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12206,
|
||
|
"nodeType": "Block",
|
||
|
"src": "9647:103:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12193,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "9665:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12194,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "9665:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12199,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12197,
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12185,
|
||
|
"src": "9697:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"id": 12196,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "9689:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12195,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9689:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12198,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9689:26:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "9665:51:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12200,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "9665:57:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12201,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11688,
|
||
|
"src": "9665:63:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12203,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12202,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12187,
|
||
|
"src": "9729:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "9665:71:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12204,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "valid",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11678,
|
||
|
"src": "9665:77:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12192,
|
||
|
"id": 12205,
|
||
|
"nodeType": "Return",
|
||
|
"src": "9658:84:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12183,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "9218:300:11",
|
||
|
"text": " @dev checks whether or not a given value is a smart token of a given convertible token\n @param _convertibleToken convertible token\n @param _value value\n @return true if the given value is a smart token of the given convertible token, false it not"
|
||
|
},
|
||
|
"functionSelector": "725b8786",
|
||
|
"id": 12207,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "isConvertibleTokenSmartToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12189,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "9623:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12188,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12185,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12207,
|
||
|
"src": "9562:29:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12184,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "9562:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12187,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_value",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12207,
|
||
|
"src": "9593:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12186,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9593:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "9561:47:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12192,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12191,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12207,
|
||
|
"src": "9641:4:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12190,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9641:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "9640:6:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "9524:226:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12254,
|
||
|
"nodeType": "Block",
|
||
|
"src": "9988:219:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12219
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12219,
|
||
|
"mutability": "mutable",
|
||
|
"name": "item",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12254,
|
||
|
"src": "9999:17:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "storage",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12218,
|
||
|
"name": "Item",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11681,
|
||
|
"src": "9999:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12224,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12220,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12210,
|
||
|
"src": "10019:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12221,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11688,
|
||
|
"src": "10019:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12223,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12222,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12212,
|
||
|
"src": "10032:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "10019:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage ref"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "9999:40:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12228,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "!",
|
||
|
"prefix": true,
|
||
|
"src": "10058:11:11",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12226,
|
||
|
"name": "item",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12219,
|
||
|
"src": "10059:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12227,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "valid",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11678,
|
||
|
"src": "10059:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "4552525f494e56414c49445f4954454d",
|
||
|
"id": 12229,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "string",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "10071:18:11",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_stringliteral_45c52aff26d012f687a90a37723f3c6469b3bdb8dce3fb6f14072d935b05b47b",
|
||
|
"typeString": "literal_string \"ERR_INVALID_ITEM\""
|
||
|
},
|
||
|
"value": "ERR_INVALID_ITEM"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_stringliteral_45c52aff26d012f687a90a37723f3c6469b3bdb8dce3fb6f14072d935b05b47b",
|
||
|
"typeString": "literal_string \"ERR_INVALID_ITEM\""
|
||
|
}
|
||
|
],
|
||
|
"id": 12225,
|
||
|
"name": "require",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [
|
||
|
-18,
|
||
|
-18
|
||
|
],
|
||
|
"referencedDeclaration": -18,
|
||
|
"src": "10050:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
||
|
"typeString": "function (bool,string memory) pure"
|
||
|
}
|
||
|
},
|
||
|
"id": 12230,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10050:40:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12231,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10050:40:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12238,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12232,
|
||
|
"name": "item",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12219,
|
||
|
"src": "10103:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12234,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"memberName": "index",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11680,
|
||
|
"src": "10103:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12235,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12210,
|
||
|
"src": "10116:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12236,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "10116:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12237,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "10116:19:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"src": "10103:32:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"id": 12239,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10103:32:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12245,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12212,
|
||
|
"src": "10164:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12240,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12210,
|
||
|
"src": "10146:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12243,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "10146:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12244,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "push",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "10146:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$",
|
||
|
"typeString": "function (address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12246,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10146:25:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12247,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10146:25:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12252,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12248,
|
||
|
"name": "item",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12219,
|
||
|
"src": "10182:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12250,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"memberName": "valid",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11678,
|
||
|
"src": "10182:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "74727565",
|
||
|
"id": 12251,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "bool",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "10195:4:11",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"value": "true"
|
||
|
},
|
||
|
"src": "10182:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"id": 12253,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10182:17:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12208,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "9758:139:11",
|
||
|
"text": " @dev adds an item to a list of items\n @param _items list of items\n @param _value item's value"
|
||
|
},
|
||
|
"id": 12255,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12215,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12212,
|
||
|
"src": "9980:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 12216,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12214,
|
||
|
"name": "validAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 22618,
|
||
|
"src": "9967:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$_t_address_$",
|
||
|
"typeString": "modifier (address)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "9967:20:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "addItem",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12213,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12210,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_items",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12255,
|
||
|
"src": "9920:20:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "storage",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12209,
|
||
|
"name": "Items",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11689,
|
||
|
"src": "9920:5:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12212,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_value",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12255,
|
||
|
"src": "9942:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12211,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9942:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "9919:38:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12217,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "9988:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "9903:304:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12322,
|
||
|
"nodeType": "Block",
|
||
|
"src": "10453:346:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12267
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12267,
|
||
|
"mutability": "mutable",
|
||
|
"name": "item",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12322,
|
||
|
"src": "10464:17:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "storage",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12266,
|
||
|
"name": "Item",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11681,
|
||
|
"src": "10464:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12272,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12268,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12258,
|
||
|
"src": "10484:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12269,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11688,
|
||
|
"src": "10484:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12271,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12270,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12260,
|
||
|
"src": "10497:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "10484:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage ref"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "10464:40:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12274,
|
||
|
"name": "item",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12267,
|
||
|
"src": "10523:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12275,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "valid",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11678,
|
||
|
"src": "10523:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "4552525f494e56414c49445f4954454d",
|
||
|
"id": 12276,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "string",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "10535:18:11",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_stringliteral_45c52aff26d012f687a90a37723f3c6469b3bdb8dce3fb6f14072d935b05b47b",
|
||
|
"typeString": "literal_string \"ERR_INVALID_ITEM\""
|
||
|
},
|
||
|
"value": "ERR_INVALID_ITEM"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_stringliteral_45c52aff26d012f687a90a37723f3c6469b3bdb8dce3fb6f14072d935b05b47b",
|
||
|
"typeString": "literal_string \"ERR_INVALID_ITEM\""
|
||
|
}
|
||
|
],
|
||
|
"id": 12273,
|
||
|
"name": "require",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [
|
||
|
-18,
|
||
|
-18
|
||
|
],
|
||
|
"referencedDeclaration": -18,
|
||
|
"src": "10515:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
||
|
"typeString": "function (bool,string memory) pure"
|
||
|
}
|
||
|
},
|
||
|
"id": 12277,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10515:39:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12278,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10515:39:11"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12280
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12280,
|
||
|
"mutability": "mutable",
|
||
|
"name": "lastValue",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12322,
|
||
|
"src": "10567:17:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12279,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "10567:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12289,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12281,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12258,
|
||
|
"src": "10587:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12282,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "10587:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12288,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"id": 12287,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12283,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12258,
|
||
|
"src": "10600:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12284,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "10600:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12285,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "10600:19:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "-",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "31",
|
||
|
"id": 12286,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "10622:1:11",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_1_by_1",
|
||
|
"typeString": "int_const 1"
|
||
|
},
|
||
|
"value": "1"
|
||
|
},
|
||
|
"src": "10600:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "10587:37:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "10567:57:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12298,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12290,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12258,
|
||
|
"src": "10635:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12293,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11688,
|
||
|
"src": "10635:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12294,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12292,
|
||
|
"name": "lastValue",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12280,
|
||
|
"src": "10648:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "10635:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12295,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"memberName": "index",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11680,
|
||
|
"src": "10635:29:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12296,
|
||
|
"name": "item",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12267,
|
||
|
"src": "10667:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12297,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "index",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11680,
|
||
|
"src": "10667:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"src": "10635:42:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"id": 12299,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10635:42:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12307,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12300,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12258,
|
||
|
"src": "10688:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12304,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "10688:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12305,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12302,
|
||
|
"name": "item",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12267,
|
||
|
"src": "10701:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12303,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "index",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11680,
|
||
|
"src": "10701:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "10688:24:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12306,
|
||
|
"name": "lastValue",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12280,
|
||
|
"src": "10715:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"src": "10688:36:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 12308,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10688:36:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12309,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12258,
|
||
|
"src": "10735:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12312,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "10735:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12313,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "pop",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "10735:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$",
|
||
|
"typeString": "function ()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12314,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10735:18:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12315,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10735:18:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12320,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "delete",
|
||
|
"prefix": true,
|
||
|
"src": "10764:27:11",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12316,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12258,
|
||
|
"src": "10771:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12317,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11688,
|
||
|
"src": "10771:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12319,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12318,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12260,
|
||
|
"src": "10784:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "10771:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage ref"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12321,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10764:27:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12256,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "10215:144:11",
|
||
|
"text": " @dev removes an item from a list of items\n @param _items list of items\n @param _value item's value"
|
||
|
},
|
||
|
"id": 12323,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12263,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12260,
|
||
|
"src": "10445:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 12264,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12262,
|
||
|
"name": "validAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 22618,
|
||
|
"src": "10432:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$_t_address_$",
|
||
|
"typeString": "modifier (address)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "10432:20:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "removeItem",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12261,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12258,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_items",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12323,
|
||
|
"src": "10385:20:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "storage",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12257,
|
||
|
"name": "Items",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11689,
|
||
|
"src": "10385:5:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12260,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_value",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12323,
|
||
|
"src": "10407:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12259,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "10407:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "10384:38:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12265,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "10453:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "10365:434:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"scope": 12325,
|
||
|
"src": "752:10050:11"
|
||
|
}
|
||
|
],
|
||
|
"src": "52:10752:11"
|
||
|
},
|
||
|
"legacyAST": {
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/ConverterRegistryData.sol",
|
||
|
"exportedSymbols": {
|
||
|
"ConverterRegistryData": [
|
||
|
12324
|
||
|
]
|
||
|
},
|
||
|
"id": 12325,
|
||
|
"license": "SEE LICENSE IN LICENSE",
|
||
|
"nodeType": "SourceUnit",
|
||
|
"nodes": [
|
||
|
{
|
||
|
"id": 11669,
|
||
|
"literals": [
|
||
|
"solidity",
|
||
|
"0.6",
|
||
|
".12"
|
||
|
],
|
||
|
"nodeType": "PragmaDirective",
|
||
|
"src": "52:23:11"
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/ContractRegistryClient.sol",
|
||
|
"file": "../utility/ContractRegistryClient.sol",
|
||
|
"id": 11670,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 12325,
|
||
|
"sourceUnit": 21720,
|
||
|
"src": "77:47:11",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/interfaces/IConverterRegistryData.sol",
|
||
|
"file": "./interfaces/IConverterRegistryData.sol",
|
||
|
"id": 11671,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 12325,
|
||
|
"sourceUnit": 13648,
|
||
|
"src": "126:49:11",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"abstract": false,
|
||
|
"baseContracts": [
|
||
|
{
|
||
|
"arguments": null,
|
||
|
"baseName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11673,
|
||
|
"name": "IConverterRegistryData",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13647,
|
||
|
"src": "786:22:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterRegistryData_$13647",
|
||
|
"typeString": "contract IConverterRegistryData"
|
||
|
}
|
||
|
},
|
||
|
"id": 11674,
|
||
|
"nodeType": "InheritanceSpecifier",
|
||
|
"src": "786:22:11"
|
||
|
},
|
||
|
{
|
||
|
"arguments": null,
|
||
|
"baseName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11675,
|
||
|
"name": "ContractRegistryClient",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21719,
|
||
|
"src": "810:22:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ContractRegistryClient_$21719",
|
||
|
"typeString": "contract ContractRegistryClient"
|
||
|
}
|
||
|
},
|
||
|
"id": 11676,
|
||
|
"nodeType": "InheritanceSpecifier",
|
||
|
"src": "810:22:11"
|
||
|
}
|
||
|
],
|
||
|
"contractDependencies": [
|
||
|
13647,
|
||
|
21719,
|
||
|
21818,
|
||
|
22661,
|
||
|
22847
|
||
|
],
|
||
|
"contractKind": "contract",
|
||
|
"documentation": {
|
||
|
"id": 11672,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "179:571:11",
|
||
|
"text": " @dev The ConverterRegistryData contract is an integral part of the converter registry\n as it serves as the database contract that holds all registry data.\n The registry is separated into two different contracts for upgradability - the data contract\n is harder to upgrade as it requires migrating all registry data into a new contract, while\n the registry contract itself can be easily upgraded.\n For that same reason, the data contract is simple and contains no logic beyond the basic data\n access utilities that it exposes."
|
||
|
},
|
||
|
"fullyImplemented": true,
|
||
|
"id": 12324,
|
||
|
"linearizedBaseContracts": [
|
||
|
12324,
|
||
|
21719,
|
||
|
22661,
|
||
|
21818,
|
||
|
22847,
|
||
|
13647
|
||
|
],
|
||
|
"name": "ConverterRegistryData",
|
||
|
"nodeType": "ContractDefinition",
|
||
|
"nodes": [
|
||
|
{
|
||
|
"canonicalName": "ConverterRegistryData.Item",
|
||
|
"id": 11681,
|
||
|
"members": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11678,
|
||
|
"mutability": "mutable",
|
||
|
"name": "valid",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11681,
|
||
|
"src": "863:10:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11677,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "863:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11680,
|
||
|
"mutability": "mutable",
|
||
|
"name": "index",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11681,
|
||
|
"src": "884:13:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11679,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "884:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"name": "Item",
|
||
|
"nodeType": "StructDefinition",
|
||
|
"scope": 12324,
|
||
|
"src": "840:65:11",
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"canonicalName": "ConverterRegistryData.Items",
|
||
|
"id": 11689,
|
||
|
"members": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11684,
|
||
|
"mutability": "mutable",
|
||
|
"name": "array",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11689,
|
||
|
"src": "937:15:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
||
|
"typeString": "address[]"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"baseType": {
|
||
|
"id": 11682,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "937:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 11683,
|
||
|
"length": null,
|
||
|
"nodeType": "ArrayTypeName",
|
||
|
"src": "937:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
||
|
"typeString": "address[]"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11688,
|
||
|
"mutability": "mutable",
|
||
|
"name": "table",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11689,
|
||
|
"src": "963:30:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11687,
|
||
|
"keyType": {
|
||
|
"id": 11685,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "971:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Mapping",
|
||
|
"src": "963:24:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item)"
|
||
|
},
|
||
|
"valueType": {
|
||
|
"contractScope": null,
|
||
|
"id": 11686,
|
||
|
"name": "Item",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11681,
|
||
|
"src": "982:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"name": "Items",
|
||
|
"nodeType": "StructDefinition",
|
||
|
"scope": 12324,
|
||
|
"src": "913:88:11",
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"canonicalName": "ConverterRegistryData.List",
|
||
|
"id": 11694,
|
||
|
"members": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11691,
|
||
|
"mutability": "mutable",
|
||
|
"name": "index",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11694,
|
||
|
"src": "1032:13:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11690,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1032:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11693,
|
||
|
"mutability": "mutable",
|
||
|
"name": "items",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11694,
|
||
|
"src": "1056:11:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11692,
|
||
|
"name": "Items",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11689,
|
||
|
"src": "1056:5:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"name": "List",
|
||
|
"nodeType": "StructDefinition",
|
||
|
"scope": 12324,
|
||
|
"src": "1009:66:11",
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"canonicalName": "ConverterRegistryData.Lists",
|
||
|
"id": 11702,
|
||
|
"members": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11697,
|
||
|
"mutability": "mutable",
|
||
|
"name": "array",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11702,
|
||
|
"src": "1107:15:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
||
|
"typeString": "address[]"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"baseType": {
|
||
|
"id": 11695,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1107:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 11696,
|
||
|
"length": null,
|
||
|
"nodeType": "ArrayTypeName",
|
||
|
"src": "1107:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
||
|
"typeString": "address[]"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11701,
|
||
|
"mutability": "mutable",
|
||
|
"name": "table",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11702,
|
||
|
"src": "1133:30:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11700,
|
||
|
"keyType": {
|
||
|
"id": 11698,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1141:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Mapping",
|
||
|
"src": "1133:24:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List)"
|
||
|
},
|
||
|
"valueType": {
|
||
|
"contractScope": null,
|
||
|
"id": 11699,
|
||
|
"name": "List",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11694,
|
||
|
"src": "1152:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"name": "Lists",
|
||
|
"nodeType": "StructDefinition",
|
||
|
"scope": 12324,
|
||
|
"src": "1083:88:11",
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11704,
|
||
|
"mutability": "mutable",
|
||
|
"name": "smartTokens",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12324,
|
||
|
"src": "1179:25:11",
|
||
|
"stateVariable": true,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11703,
|
||
|
"name": "Items",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11689,
|
||
|
"src": "1179:5:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11706,
|
||
|
"mutability": "mutable",
|
||
|
"name": "liquidityPools",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12324,
|
||
|
"src": "1211:28:11",
|
||
|
"stateVariable": true,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11705,
|
||
|
"name": "Items",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11689,
|
||
|
"src": "1211:5:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11708,
|
||
|
"mutability": "mutable",
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12324,
|
||
|
"src": "1246:31:11",
|
||
|
"stateVariable": true,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11707,
|
||
|
"name": "Lists",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11702,
|
||
|
"src": "1246:5:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Lists"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 11717,
|
||
|
"nodeType": "Block",
|
||
|
"src": "1523:8:11",
|
||
|
"statements": []
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11709,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "1286:149:11",
|
||
|
"text": " @dev initializes a new ConverterRegistryData instance\n @param _registry address of a contract registry contract"
|
||
|
},
|
||
|
"id": 11718,
|
||
|
"implemented": true,
|
||
|
"kind": "constructor",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11714,
|
||
|
"name": "_registry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11711,
|
||
|
"src": "1505:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
||
|
"typeString": "contract IContractRegistry"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 11715,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11713,
|
||
|
"name": "ContractRegistryClient",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21719,
|
||
|
"src": "1482:22:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_ContractRegistryClient_$21719_$",
|
||
|
"typeString": "type(contract ContractRegistryClient)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "1482:33:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 11712,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11711,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_registry",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11718,
|
||
|
"src": "1453:27:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
||
|
"typeString": "contract IContractRegistry"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11710,
|
||
|
"name": "IContractRegistry",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 22831,
|
||
|
"src": "1453:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
||
|
"typeString": "contract IContractRegistry"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "1452:29:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11716,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "1523:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "1441:90:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13509
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11736,
|
||
|
"nodeType": "Block",
|
||
|
"src": "1726:57:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11729,
|
||
|
"name": "smartTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11704,
|
||
|
"src": "1745:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11732,
|
||
|
"name": "_anchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11721,
|
||
|
"src": "1766:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
],
|
||
|
"id": 11731,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "1758:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11730,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1758:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11733,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "1758:16:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 11728,
|
||
|
"name": "addItem",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12255,
|
||
|
"src": "1737:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Items_$11689_storage_ptr_$_t_address_$returns$__$",
|
||
|
"typeString": "function (struct ConverterRegistryData.Items storage pointer,address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11734,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "1737:38:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11735,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "1737:38:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11719,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "1539:89:11",
|
||
|
"text": " @dev adds a smart token\n @param _anchor smart token"
|
||
|
},
|
||
|
"functionSelector": "8de6c3eb",
|
||
|
"id": 11737,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11725,
|
||
|
"name": "CONVERTER_REGISTRY",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21545,
|
||
|
"src": "1706:18:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 11726,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11724,
|
||
|
"name": "only",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21577,
|
||
|
"src": "1701:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$_t_bytes32_$",
|
||
|
"typeString": "modifier (bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "1701:24:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "addSmartToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11723,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "1692:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11722,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11721,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_anchor",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11737,
|
||
|
"src": "1657:24:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11720,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "1657:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "1656:26:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11727,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "1726:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "1634:149:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13514
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11755,
|
||
|
"nodeType": "Block",
|
||
|
"src": "1984:60:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11748,
|
||
|
"name": "smartTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11704,
|
||
|
"src": "2006:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11751,
|
||
|
"name": "_anchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11740,
|
||
|
"src": "2027:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
],
|
||
|
"id": 11750,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "2019:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11749,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2019:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11752,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2019:16:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 11747,
|
||
|
"name": "removeItem",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12323,
|
||
|
"src": "1995:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Items_$11689_storage_ptr_$_t_address_$returns$__$",
|
||
|
"typeString": "function (struct ConverterRegistryData.Items storage pointer,address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11753,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "1995:41:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11754,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "1995:41:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11738,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "1791:92:11",
|
||
|
"text": " @dev removes a smart token\n @param _anchor smart token"
|
||
|
},
|
||
|
"functionSelector": "ceb9838c",
|
||
|
"id": 11756,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11744,
|
||
|
"name": "CONVERTER_REGISTRY",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21545,
|
||
|
"src": "1964:18:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 11745,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11743,
|
||
|
"name": "only",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21577,
|
||
|
"src": "1959:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$_t_bytes32_$",
|
||
|
"typeString": "modifier (bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "1959:24:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "removeSmartToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11742,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "1950:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11741,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11740,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_anchor",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11756,
|
||
|
"src": "1915:24:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11739,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "1915:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "1914:26:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11746,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "1984:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "1889:155:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13519
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11774,
|
||
|
"nodeType": "Block",
|
||
|
"src": "2274:73:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11767,
|
||
|
"name": "liquidityPools",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11706,
|
||
|
"src": "2293:14:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11770,
|
||
|
"name": "_liquidityPoolAnchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11759,
|
||
|
"src": "2317:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
],
|
||
|
"id": 11769,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "2309:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11768,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2309:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11771,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2309:29:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 11766,
|
||
|
"name": "addItem",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12255,
|
||
|
"src": "2285:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Items_$11689_storage_ptr_$_t_address_$returns$__$",
|
||
|
"typeString": "function (struct ConverterRegistryData.Items storage pointer,address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11772,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2285:54:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11773,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "2285:54:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11757,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "2052:108:11",
|
||
|
"text": " @dev adds a liquidity pool\n @param _liquidityPoolAnchor liquidity pool"
|
||
|
},
|
||
|
"functionSelector": "ee6a934c",
|
||
|
"id": 11775,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11763,
|
||
|
"name": "CONVERTER_REGISTRY",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21545,
|
||
|
"src": "2254:18:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 11764,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11762,
|
||
|
"name": "only",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21577,
|
||
|
"src": "2249:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$_t_bytes32_$",
|
||
|
"typeString": "modifier (bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "2249:24:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "addLiquidityPool",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11761,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "2240:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11760,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11759,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_liquidityPoolAnchor",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11775,
|
||
|
"src": "2192:37:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11758,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "2192:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "2191:39:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11765,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "2274:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "2166:181:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13524
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11793,
|
||
|
"nodeType": "Block",
|
||
|
"src": "2583:76:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11786,
|
||
|
"name": "liquidityPools",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11706,
|
||
|
"src": "2605:14:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11789,
|
||
|
"name": "_liquidityPoolAnchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11778,
|
||
|
"src": "2629:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
],
|
||
|
"id": 11788,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "2621:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11787,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2621:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11790,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2621:29:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 11785,
|
||
|
"name": "removeItem",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12323,
|
||
|
"src": "2594:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Items_$11689_storage_ptr_$_t_address_$returns$__$",
|
||
|
"typeString": "function (struct ConverterRegistryData.Items storage pointer,address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11791,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2594:57:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11792,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "2594:57:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11776,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "2355:111:11",
|
||
|
"text": " @dev removes a liquidity pool\n @param _liquidityPoolAnchor liquidity pool"
|
||
|
},
|
||
|
"functionSelector": "ae22107f",
|
||
|
"id": 11794,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11782,
|
||
|
"name": "CONVERTER_REGISTRY",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21545,
|
||
|
"src": "2563:18:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 11783,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11781,
|
||
|
"name": "only",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21577,
|
||
|
"src": "2558:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$_t_bytes32_$",
|
||
|
"typeString": "modifier (bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "2558:24:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "removeLiquidityPool",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11780,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "2549:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11779,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11778,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_liquidityPoolAnchor",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11794,
|
||
|
"src": "2501:37:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11777,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "2501:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "2500:39:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11784,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "2583:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "2472:187:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13531
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11852,
|
||
|
"nodeType": "Block",
|
||
|
"src": "2976:323:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
11807
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11807,
|
||
|
"mutability": "mutable",
|
||
|
"name": "list",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11852,
|
||
|
"src": "2987:17:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "storage",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11806,
|
||
|
"name": "List",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11694,
|
||
|
"src": "2987:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 11815,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11808,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "3007:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11809,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "3007:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11814,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11812,
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11797,
|
||
|
"src": "3039:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"id": 11811,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "3031:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11810,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3031:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11813,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3031:26:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "3007:51:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "2987:71:11"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"id": 11821,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11816,
|
||
|
"name": "list",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11807,
|
||
|
"src": "3073:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 11817,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "3073:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11818,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "3073:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11819,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3073:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 11820,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "3100:1:11",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
},
|
||
|
"src": "3073:28:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 11842,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "3069:175:11",
|
||
|
"trueBody": {
|
||
|
"id": 11841,
|
||
|
"nodeType": "Block",
|
||
|
"src": "3103:141:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11828,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11822,
|
||
|
"name": "list",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11807,
|
||
|
"src": "3118:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 11824,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"memberName": "index",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11691,
|
||
|
"src": "3118:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11825,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "3131:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11826,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "3131:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11827,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3131:30:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"src": "3118:43:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"id": 11829,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3118:43:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11837,
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11797,
|
||
|
"src": "3213:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"id": 11836,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "3205:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11835,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3205:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11838,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3205:26:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11830,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "3176:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11833,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "3176:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11834,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "push",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3176:28:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$",
|
||
|
"typeString": "function (address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11839,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3176:56:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11840,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3176:56:11"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11844,
|
||
|
"name": "list",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11807,
|
||
|
"src": "3262:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 11845,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "3262:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11848,
|
||
|
"name": "_anchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11799,
|
||
|
"src": "3282:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
],
|
||
|
"id": 11847,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "3274:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11846,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3274:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11849,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3274:16:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 11843,
|
||
|
"name": "addItem",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12255,
|
||
|
"src": "3254:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Items_$11689_storage_ptr_$_t_address_$returns$__$",
|
||
|
"typeString": "function (struct ConverterRegistryData.Items storage pointer,address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11850,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3254:37:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11851,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3254:37:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11795,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "2667:174:11",
|
||
|
"text": " @dev adds a convertible token\n @param _convertibleToken convertible token\n @param _anchor associated smart token"
|
||
|
},
|
||
|
"functionSelector": "36900c11",
|
||
|
"id": 11853,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11803,
|
||
|
"name": "CONVERTER_REGISTRY",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21545,
|
||
|
"src": "2956:18:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 11804,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11802,
|
||
|
"name": "only",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21577,
|
||
|
"src": "2951:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$_t_bytes32_$",
|
||
|
"typeString": "modifier (bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "2951:24:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "addConvertibleToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11801,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "2942:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11800,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11797,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11853,
|
||
|
"src": "2876:29:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11796,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "2876:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11799,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_anchor",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11853,
|
||
|
"src": "2907:24:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11798,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "2907:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "2875:57:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11805,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "2976:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "2847:452:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13538
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11938,
|
||
|
"nodeType": "Block",
|
||
|
"src": "3622:571:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
11866
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11866,
|
||
|
"mutability": "mutable",
|
||
|
"name": "list",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11938,
|
||
|
"src": "3633:17:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "storage",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11865,
|
||
|
"name": "List",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11694,
|
||
|
"src": "3633:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 11874,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11867,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "3653:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11868,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "3653:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11873,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11871,
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11856,
|
||
|
"src": "3685:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"id": 11870,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "3677:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11869,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3677:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11872,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3677:26:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "3653:51:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "3633:71:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11876,
|
||
|
"name": "list",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11866,
|
||
|
"src": "3726:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 11877,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "3726:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11880,
|
||
|
"name": "_anchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11858,
|
||
|
"src": "3746:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
],
|
||
|
"id": 11879,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "3738:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11878,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3738:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11881,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3738:16:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 11875,
|
||
|
"name": "removeItem",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12323,
|
||
|
"src": "3715:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Items_$11689_storage_ptr_$_t_address_$returns$__$",
|
||
|
"typeString": "function (struct ConverterRegistryData.Items storage pointer,address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11882,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3715:40:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11883,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3715:40:11"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"id": 11889,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11884,
|
||
|
"name": "list",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11866,
|
||
|
"src": "3770:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 11885,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "3770:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11886,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "3770:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11887,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3770:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 11888,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "3797:1:11",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
},
|
||
|
"src": "3770:28:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 11937,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "3766:420:11",
|
||
|
"trueBody": {
|
||
|
"id": 11936,
|
||
|
"nodeType": "Block",
|
||
|
"src": "3800:386:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
11891
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11891,
|
||
|
"mutability": "mutable",
|
||
|
"name": "lastConvertibleToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11936,
|
||
|
"src": "3815:28:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11890,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3815:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 11900,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11892,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "3846:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11893,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "3846:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11899,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"id": 11898,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11894,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "3870:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11895,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "3870:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11896,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3870:30:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "-",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "31",
|
||
|
"id": 11897,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "3903:1:11",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_1_by_1",
|
||
|
"typeString": "int_const 1"
|
||
|
},
|
||
|
"value": "1"
|
||
|
},
|
||
|
"src": "3870:34:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "3846:59:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "3815:90:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11909,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11901,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "3920:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11904,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "3920:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11905,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11903,
|
||
|
"name": "lastConvertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11891,
|
||
|
"src": "3944:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "3920:45:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11906,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"memberName": "index",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11691,
|
||
|
"src": "3920:51:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11907,
|
||
|
"name": "list",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11866,
|
||
|
"src": "3974:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 11908,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "index",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11691,
|
||
|
"src": "3974:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"src": "3920:64:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"id": 11910,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3920:64:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11918,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11911,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "3999:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11915,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "3999:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11916,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11913,
|
||
|
"name": "list",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11866,
|
||
|
"src": "4023:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.List storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 11914,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "index",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11691,
|
||
|
"src": "4023:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "3999:35:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11917,
|
||
|
"name": "lastConvertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11891,
|
||
|
"src": "4037:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"src": "3999:58:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 11919,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3999:58:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11920,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "4072:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11923,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "4072:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11924,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "pop",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "4072:27:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$",
|
||
|
"typeString": "function ()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11925,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4072:29:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11926,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4072:29:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11934,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "delete",
|
||
|
"prefix": true,
|
||
|
"src": "4116:58:11",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11927,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "4123:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11928,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "4123:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11933,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11931,
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11856,
|
||
|
"src": "4155:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"id": 11930,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "4147:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11929,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4147:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 11932,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4147:26:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "4123:51:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 11935,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4116:58:11"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11854,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "3307:177:11",
|
||
|
"text": " @dev removes a convertible token\n @param _convertibleToken convertible token\n @param _anchor associated smart token"
|
||
|
},
|
||
|
"functionSelector": "fba8f031",
|
||
|
"id": 11939,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 11862,
|
||
|
"name": "CONVERTER_REGISTRY",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21545,
|
||
|
"src": "3602:18:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 11863,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11861,
|
||
|
"name": "only",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21577,
|
||
|
"src": "3597:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$_t_bytes32_$",
|
||
|
"typeString": "modifier (bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "3597:24:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "removeConvertibleToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11860,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "3588:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11859,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11856,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11939,
|
||
|
"src": "3522:29:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11855,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "3522:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11858,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_anchor",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11939,
|
||
|
"src": "3553:24:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11857,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "3553:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "3521:57:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11864,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "3622:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "3490:703:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13543
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11950,
|
||
|
"nodeType": "Block",
|
||
|
"src": "4387:50:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11946,
|
||
|
"name": "smartTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11704,
|
||
|
"src": "4405:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11947,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "4405:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11948,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "4405:24:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 11945,
|
||
|
"id": 11949,
|
||
|
"nodeType": "Return",
|
||
|
"src": "4398:31:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11940,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "4201:109:11",
|
||
|
"text": " @dev returns the number of smart tokens\n @return number of smart tokens"
|
||
|
},
|
||
|
"functionSelector": "e571049b",
|
||
|
"id": 11951,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getSmartTokenCount",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11942,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "4360:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11941,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "4343:2:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11945,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11944,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11951,
|
||
|
"src": "4378:7:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11943,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4378:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "4377:9:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "4316:121:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13549
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11962,
|
||
|
"nodeType": "Block",
|
||
|
"src": "4632:43:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11959,
|
||
|
"name": "smartTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11704,
|
||
|
"src": "4650:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11960,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "4650:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 11958,
|
||
|
"id": 11961,
|
||
|
"nodeType": "Return",
|
||
|
"src": "4643:24:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11952,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "4445:105:11",
|
||
|
"text": " @dev returns the list of smart tokens\n @return list of smart tokens"
|
||
|
},
|
||
|
"functionSelector": "04ceaf41",
|
||
|
"id": 11963,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getSmartTokens",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11954,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "4596:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11953,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "4579:2:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11958,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11957,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11963,
|
||
|
"src": "4614:16:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "memory",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
||
|
"typeString": "address[]"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"baseType": {
|
||
|
"id": 11955,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4614:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 11956,
|
||
|
"length": null,
|
||
|
"nodeType": "ArrayTypeName",
|
||
|
"src": "4614:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
||
|
"typeString": "address[]"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "4613:18:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "4556:119:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13556
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11979,
|
||
|
"nodeType": "Block",
|
||
|
"src": "4930:69:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11973,
|
||
|
"name": "smartTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11704,
|
||
|
"src": "4965:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11974,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "4965:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11976,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11975,
|
||
|
"name": "_index",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11966,
|
||
|
"src": "4983:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "4965:25:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 11972,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "4948:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IConverterAnchor_$13349_$",
|
||
|
"typeString": "type(contract IConverterAnchor)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11977,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4948:43:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 11971,
|
||
|
"id": 11978,
|
||
|
"nodeType": "Return",
|
||
|
"src": "4941:50:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11964,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "4683:152:11",
|
||
|
"text": " @dev returns the smart token at a given index\n @param _index index\n @return smart token at the given index"
|
||
|
},
|
||
|
"functionSelector": "a109d214",
|
||
|
"id": 11980,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getSmartToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11968,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "4894:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11967,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11966,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_index",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11980,
|
||
|
"src": "4864:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11965,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4864:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "4863:16:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11971,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11970,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11980,
|
||
|
"src": "4912:16:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 11969,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "4912:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "4911:18:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "4841:158:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13563
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 11995,
|
||
|
"nodeType": "Block",
|
||
|
"src": "5277:57:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11989,
|
||
|
"name": "smartTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11704,
|
||
|
"src": "5295:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11990,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11688,
|
||
|
"src": "5295:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 11992,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 11991,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11983,
|
||
|
"src": "5313:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "5295:25:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 11993,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "valid",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11678,
|
||
|
"src": "5295:31:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 11988,
|
||
|
"id": 11994,
|
||
|
"nodeType": "Return",
|
||
|
"src": "5288:38:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11981,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "5007:188:11",
|
||
|
"text": " @dev checks whether or not a given value is a smart token\n @param _value value\n @return true if the given value is a smart token, false if not"
|
||
|
},
|
||
|
"functionSelector": "4123ef60",
|
||
|
"id": 11996,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "isSmartToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11985,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "5253:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11984,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11983,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_value",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11996,
|
||
|
"src": "5223:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11982,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "5223:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5222:16:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 11988,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 11987,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 11996,
|
||
|
"src": "5271:4:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 11986,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "5271:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5270:6:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "5201:133:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13568
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12007,
|
||
|
"nodeType": "Block",
|
||
|
"src": "5537:53:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12003,
|
||
|
"name": "liquidityPools",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11706,
|
||
|
"src": "5555:14:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12004,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "5555:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12005,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "5555:27:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12002,
|
||
|
"id": 12006,
|
||
|
"nodeType": "Return",
|
||
|
"src": "5548:34:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 11997,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "5342:115:11",
|
||
|
"text": " @dev returns the number of liquidity pools\n @return number of liquidity pools"
|
||
|
},
|
||
|
"functionSelector": "7a5f0ffd",
|
||
|
"id": 12008,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getLiquidityPoolCount",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 11999,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "5510:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 11998,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "5493:2:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12002,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12001,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12008,
|
||
|
"src": "5528:7:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12000,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "5528:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5527:9:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "5463:127:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13574
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12019,
|
||
|
"nodeType": "Block",
|
||
|
"src": "5794:46:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12016,
|
||
|
"name": "liquidityPools",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11706,
|
||
|
"src": "5812:14:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12017,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "5812:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12015,
|
||
|
"id": 12018,
|
||
|
"nodeType": "Return",
|
||
|
"src": "5805:27:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12009,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "5598:111:11",
|
||
|
"text": " @dev returns the list of liquidity pools\n @return list of liquidity pools"
|
||
|
},
|
||
|
"functionSelector": "7f45c4c3",
|
||
|
"id": 12020,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getLiquidityPools",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12011,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "5758:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12010,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "5741:2:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12015,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12014,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12020,
|
||
|
"src": "5776:16:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "memory",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
||
|
"typeString": "address[]"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"baseType": {
|
||
|
"id": 12012,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "5776:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 12013,
|
||
|
"length": null,
|
||
|
"nodeType": "ArrayTypeName",
|
||
|
"src": "5776:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
||
|
"typeString": "address[]"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5775:18:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "5715:125:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13581
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12036,
|
||
|
"nodeType": "Block",
|
||
|
"src": "6104:72:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12030,
|
||
|
"name": "liquidityPools",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11706,
|
||
|
"src": "6139:14:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12031,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "6139:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12033,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12032,
|
||
|
"name": "_index",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12023,
|
||
|
"src": "6160:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "6139:28:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 12029,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "6122:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IConverterAnchor_$13349_$",
|
||
|
"typeString": "type(contract IConverterAnchor)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12034,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6122:46:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12028,
|
||
|
"id": 12035,
|
||
|
"nodeType": "Return",
|
||
|
"src": "6115:53:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12021,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "5848:158:11",
|
||
|
"text": " @dev returns the liquidity pool at a given index\n @param _index index\n @return liquidity pool at the given index"
|
||
|
},
|
||
|
"functionSelector": "a74498aa",
|
||
|
"id": 12037,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getLiquidityPool",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12025,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "6068:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12024,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12023,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_index",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12037,
|
||
|
"src": "6038:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12022,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "6038:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "6037:16:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12028,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12027,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12037,
|
||
|
"src": "6086:16:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12026,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "6086:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "6085:18:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "6012:164:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13588
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12052,
|
||
|
"nodeType": "Block",
|
||
|
"src": "6463:60:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12046,
|
||
|
"name": "liquidityPools",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11706,
|
||
|
"src": "6481:14:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12047,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11688,
|
||
|
"src": "6481:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12049,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12048,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12040,
|
||
|
"src": "6502:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "6481:28:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12050,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "valid",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11678,
|
||
|
"src": "6481:34:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12045,
|
||
|
"id": 12051,
|
||
|
"nodeType": "Return",
|
||
|
"src": "6474:41:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12038,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "6184:194:11",
|
||
|
"text": " @dev checks whether or not a given value is a liquidity pool\n @param _value value\n @return true if the given value is a liquidity pool, false if not"
|
||
|
},
|
||
|
"functionSelector": "e85455d7",
|
||
|
"id": 12053,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "isLiquidityPool",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12042,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "6439:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12041,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12040,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_value",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12053,
|
||
|
"src": "6409:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12039,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "6409:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "6408:16:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12045,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12044,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12053,
|
||
|
"src": "6457:4:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12043,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "6457:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "6456:6:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "6384:139:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13593
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12064,
|
||
|
"nodeType": "Block",
|
||
|
"src": "6735:56:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12060,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "6753:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12061,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "6753:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12062,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "6753:30:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12059,
|
||
|
"id": 12063,
|
||
|
"nodeType": "Return",
|
||
|
"src": "6746:37:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12054,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "6531:121:11",
|
||
|
"text": " @dev returns the number of convertible tokens\n @return number of convertible tokens"
|
||
|
},
|
||
|
"functionSelector": "69be4784",
|
||
|
"id": 12065,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getConvertibleTokenCount",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12056,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "6708:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12055,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "6691:2:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12059,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12058,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12065,
|
||
|
"src": "6726:7:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12057,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "6726:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "6725:9:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "6658:133:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13599
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12076,
|
||
|
"nodeType": "Block",
|
||
|
"src": "7004:49:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12073,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "7022:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12074,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "7022:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12072,
|
||
|
"id": 12075,
|
||
|
"nodeType": "Return",
|
||
|
"src": "7015:30:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12066,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "6799:117:11",
|
||
|
"text": " @dev returns the list of convertible tokens\n @return list of convertible tokens"
|
||
|
},
|
||
|
"functionSelector": "5f1b50fe",
|
||
|
"id": 12077,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getConvertibleTokens",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12068,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "6968:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12067,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "6951:2:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12072,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12071,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12077,
|
||
|
"src": "6986:16:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "memory",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
||
|
"typeString": "address[]"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"baseType": {
|
||
|
"id": 12069,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "6986:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 12070,
|
||
|
"length": null,
|
||
|
"nodeType": "ArrayTypeName",
|
||
|
"src": "6986:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
||
|
"typeString": "address[]"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "6985:18:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "6922:131:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13606
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12093,
|
||
|
"nodeType": "Block",
|
||
|
"src": "7321:70:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12087,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "7351:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12088,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11697,
|
||
|
"src": "7351:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12090,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12089,
|
||
|
"name": "_index",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12080,
|
||
|
"src": "7375:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "7351:31:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 12086,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "7339:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IERC20Token_$21127_$",
|
||
|
"typeString": "type(contract IERC20Token)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12091,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "7339:44:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12085,
|
||
|
"id": 12092,
|
||
|
"nodeType": "Return",
|
||
|
"src": "7332:51:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12078,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "7061:164:11",
|
||
|
"text": " @dev returns the convertible token at a given index\n @param _index index\n @return convertible token at the given index"
|
||
|
},
|
||
|
"functionSelector": "865cf194",
|
||
|
"id": 12094,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getConvertibleToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12082,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "7290:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12081,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12080,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_index",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12094,
|
||
|
"src": "7260:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12079,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "7260:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "7259:16:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12085,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12084,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12094,
|
||
|
"src": "7308:11:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12083,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "7308:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "7307:13:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "7231:160:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13613
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12113,
|
||
|
"nodeType": "Block",
|
||
|
"src": "7687:80:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"id": 12111,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12103,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "7705:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12104,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "7705:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12106,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12105,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12097,
|
||
|
"src": "7729:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "7705:31:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12107,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "7705:37:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12108,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "7705:43:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12109,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "7705:50:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": ">",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 12110,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "7758:1:11",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
},
|
||
|
"src": "7705:54:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12102,
|
||
|
"id": 12112,
|
||
|
"nodeType": "Return",
|
||
|
"src": "7698:61:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12095,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "7399:200:11",
|
||
|
"text": " @dev checks whether or not a given value is a convertible token\n @param _value value\n @return true if the given value is a convertible token, false if not"
|
||
|
},
|
||
|
"functionSelector": "3ab8857c",
|
||
|
"id": 12114,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "isConvertibleToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12099,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "7663:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12098,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12097,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_value",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12114,
|
||
|
"src": "7633:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12096,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "7633:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "7632:16:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12102,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12101,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12114,
|
||
|
"src": "7681:4:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12100,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "7681:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "7680:6:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "7605:162:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13620
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12134,
|
||
|
"nodeType": "Block",
|
||
|
"src": "8144:96:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12123,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "8162:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12124,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "8162:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12129,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12127,
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12117,
|
||
|
"src": "8194:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"id": 12126,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "8186:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12125,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "8186:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12128,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "8186:26:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "8162:51:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12130,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "8162:57:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12131,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "8162:63:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12132,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "8162:70:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12122,
|
||
|
"id": 12133,
|
||
|
"nodeType": "Return",
|
||
|
"src": "8155:77:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12115,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "7775:247:11",
|
||
|
"text": " @dev returns the number of smart tokens associated with a given convertible token\n @param _convertibleToken convertible token\n @return number of smart tokens associated with the given convertible token"
|
||
|
},
|
||
|
"functionSelector": "a43d5e94",
|
||
|
"id": 12135,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getConvertibleTokenSmartTokenCount",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12119,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "8117:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12118,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12117,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12135,
|
||
|
"src": "8072:29:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12116,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "8072:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "8071:31:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12122,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12121,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12135,
|
||
|
"src": "8135:7:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12120,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "8135:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "8134:9:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "8028:212:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13628
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12155,
|
||
|
"nodeType": "Block",
|
||
|
"src": "8618:89:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12145,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "8636:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12146,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "8636:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12151,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12149,
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12138,
|
||
|
"src": "8668:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"id": 12148,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "8660:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12147,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "8660:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12150,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "8660:26:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "8636:51:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12152,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "8636:57:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12153,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "8636:63:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12144,
|
||
|
"id": 12154,
|
||
|
"nodeType": "Return",
|
||
|
"src": "8629:70:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12136,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "8248:243:11",
|
||
|
"text": " @dev returns the list of smart tokens associated with a given convertible token\n @param _convertibleToken convertible token\n @return list of smart tokens associated with the given convertible token"
|
||
|
},
|
||
|
"functionSelector": "f4fb86c0",
|
||
|
"id": 12156,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getConvertibleTokenSmartTokens",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12140,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "8582:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12139,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12138,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12156,
|
||
|
"src": "8537:29:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12137,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "8537:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "8536:31:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12144,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12143,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12156,
|
||
|
"src": "8600:16:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "memory",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
||
|
"typeString": "address[]"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"baseType": {
|
||
|
"id": 12141,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "8600:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 12142,
|
||
|
"length": null,
|
||
|
"nodeType": "ArrayTypeName",
|
||
|
"src": "8600:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
||
|
"typeString": "address[]"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "8599:18:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "8497:210:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13637
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12181,
|
||
|
"nodeType": "Block",
|
||
|
"src": "9095:115:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12168,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "9130:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12169,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "9130:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12174,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12172,
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12159,
|
||
|
"src": "9162:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"id": 12171,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "9154:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12170,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9154:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12173,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9154:26:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "9130:51:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12175,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "9130:57:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12176,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "9130:63:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12178,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12177,
|
||
|
"name": "_index",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12161,
|
||
|
"src": "9194:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "9130:71:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 12167,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "9113:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IConverterAnchor_$13349_$",
|
||
|
"typeString": "type(contract IConverterAnchor)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12179,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9113:89:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12166,
|
||
|
"id": 12180,
|
||
|
"nodeType": "Return",
|
||
|
"src": "9106:96:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12157,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "8715:238:11",
|
||
|
"text": " @dev returns the smart token associated with a given convertible token at a given index\n @param _index index\n @return smart token associated with the given convertible token at the given index"
|
||
|
},
|
||
|
"functionSelector": "d6c4b5b2",
|
||
|
"id": 12182,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "getConvertibleTokenSmartToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12163,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "9059:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12162,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12159,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12182,
|
||
|
"src": "8998:29:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12158,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "8998:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12161,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_index",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12182,
|
||
|
"src": "9029:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12160,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9029:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "8997:47:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12166,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12165,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12182,
|
||
|
"src": "9077:16:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12164,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "9077:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "9076:18:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "8959:251:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13646
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12206,
|
||
|
"nodeType": "Block",
|
||
|
"src": "9647:103:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12193,
|
||
|
"name": "convertibleTokens",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 11708,
|
||
|
"src": "9665:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Lists_$11702_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Lists storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12194,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11701,
|
||
|
"src": "9665:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_List_$11694_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.List storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12199,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12197,
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12185,
|
||
|
"src": "9697:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"id": 12196,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "9689:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12195,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9689:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12198,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9689:26:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "9665:51:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_List_$11694_storage",
|
||
|
"typeString": "struct ConverterRegistryData.List storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12200,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "items",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11693,
|
||
|
"src": "9665:57:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12201,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11688,
|
||
|
"src": "9665:63:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12203,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12202,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12187,
|
||
|
"src": "9729:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "9665:71:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12204,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "valid",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11678,
|
||
|
"src": "9665:77:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12192,
|
||
|
"id": 12205,
|
||
|
"nodeType": "Return",
|
||
|
"src": "9658:84:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12183,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "9218:300:11",
|
||
|
"text": " @dev checks whether or not a given value is a smart token of a given convertible token\n @param _convertibleToken convertible token\n @param _value value\n @return true if the given value is a smart token of the given convertible token, false it not"
|
||
|
},
|
||
|
"functionSelector": "725b8786",
|
||
|
"id": 12207,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "isConvertibleTokenSmartToken",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12189,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "9623:8:11"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12188,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12185,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_convertibleToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12207,
|
||
|
"src": "9562:29:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12184,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "9562:11:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12187,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_value",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12207,
|
||
|
"src": "9593:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12186,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9593:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "9561:47:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12192,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12191,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12207,
|
||
|
"src": "9641:4:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12190,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9641:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "9640:6:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "9524:226:11",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "external"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12254,
|
||
|
"nodeType": "Block",
|
||
|
"src": "9988:219:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12219
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12219,
|
||
|
"mutability": "mutable",
|
||
|
"name": "item",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12254,
|
||
|
"src": "9999:17:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "storage",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12218,
|
||
|
"name": "Item",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11681,
|
||
|
"src": "9999:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12224,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12220,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12210,
|
||
|
"src": "10019:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12221,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11688,
|
||
|
"src": "10019:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12223,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12222,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12212,
|
||
|
"src": "10032:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "10019:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage ref"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "9999:40:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12228,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "!",
|
||
|
"prefix": true,
|
||
|
"src": "10058:11:11",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12226,
|
||
|
"name": "item",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12219,
|
||
|
"src": "10059:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12227,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "valid",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11678,
|
||
|
"src": "10059:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "4552525f494e56414c49445f4954454d",
|
||
|
"id": 12229,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "string",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "10071:18:11",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_stringliteral_45c52aff26d012f687a90a37723f3c6469b3bdb8dce3fb6f14072d935b05b47b",
|
||
|
"typeString": "literal_string \"ERR_INVALID_ITEM\""
|
||
|
},
|
||
|
"value": "ERR_INVALID_ITEM"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_stringliteral_45c52aff26d012f687a90a37723f3c6469b3bdb8dce3fb6f14072d935b05b47b",
|
||
|
"typeString": "literal_string \"ERR_INVALID_ITEM\""
|
||
|
}
|
||
|
],
|
||
|
"id": 12225,
|
||
|
"name": "require",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [
|
||
|
-18,
|
||
|
-18
|
||
|
],
|
||
|
"referencedDeclaration": -18,
|
||
|
"src": "10050:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
||
|
"typeString": "function (bool,string memory) pure"
|
||
|
}
|
||
|
},
|
||
|
"id": 12230,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10050:40:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12231,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10050:40:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12238,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12232,
|
||
|
"name": "item",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12219,
|
||
|
"src": "10103:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12234,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"memberName": "index",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11680,
|
||
|
"src": "10103:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12235,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12210,
|
||
|
"src": "10116:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12236,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "10116:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12237,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "10116:19:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"src": "10103:32:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"id": 12239,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10103:32:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12245,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12212,
|
||
|
"src": "10164:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12240,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12210,
|
||
|
"src": "10146:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12243,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "10146:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12244,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "push",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "10146:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$",
|
||
|
"typeString": "function (address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12246,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10146:25:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12247,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10146:25:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12252,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12248,
|
||
|
"name": "item",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12219,
|
||
|
"src": "10182:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12250,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"memberName": "valid",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11678,
|
||
|
"src": "10182:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "74727565",
|
||
|
"id": 12251,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "bool",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "10195:4:11",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"value": "true"
|
||
|
},
|
||
|
"src": "10182:17:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"id": 12253,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10182:17:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12208,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "9758:139:11",
|
||
|
"text": " @dev adds an item to a list of items\n @param _items list of items\n @param _value item's value"
|
||
|
},
|
||
|
"id": 12255,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12215,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12212,
|
||
|
"src": "9980:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 12216,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12214,
|
||
|
"name": "validAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 22618,
|
||
|
"src": "9967:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$_t_address_$",
|
||
|
"typeString": "modifier (address)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "9967:20:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "addItem",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12213,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12210,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_items",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12255,
|
||
|
"src": "9920:20:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "storage",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12209,
|
||
|
"name": "Items",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11689,
|
||
|
"src": "9920:5:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12212,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_value",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12255,
|
||
|
"src": "9942:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12211,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9942:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "9919:38:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12217,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "9988:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "9903:304:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12322,
|
||
|
"nodeType": "Block",
|
||
|
"src": "10453:346:11",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12267
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12267,
|
||
|
"mutability": "mutable",
|
||
|
"name": "item",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12322,
|
||
|
"src": "10464:17:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "storage",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12266,
|
||
|
"name": "Item",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11681,
|
||
|
"src": "10464:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12272,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12268,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12258,
|
||
|
"src": "10484:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12269,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11688,
|
||
|
"src": "10484:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12271,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12270,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12260,
|
||
|
"src": "10497:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "10484:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage ref"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "10464:40:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12274,
|
||
|
"name": "item",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12267,
|
||
|
"src": "10523:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12275,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "valid",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11678,
|
||
|
"src": "10523:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "4552525f494e56414c49445f4954454d",
|
||
|
"id": 12276,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "string",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "10535:18:11",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_stringliteral_45c52aff26d012f687a90a37723f3c6469b3bdb8dce3fb6f14072d935b05b47b",
|
||
|
"typeString": "literal_string \"ERR_INVALID_ITEM\""
|
||
|
},
|
||
|
"value": "ERR_INVALID_ITEM"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_stringliteral_45c52aff26d012f687a90a37723f3c6469b3bdb8dce3fb6f14072d935b05b47b",
|
||
|
"typeString": "literal_string \"ERR_INVALID_ITEM\""
|
||
|
}
|
||
|
],
|
||
|
"id": 12273,
|
||
|
"name": "require",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [
|
||
|
-18,
|
||
|
-18
|
||
|
],
|
||
|
"referencedDeclaration": -18,
|
||
|
"src": "10515:7:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
||
|
"typeString": "function (bool,string memory) pure"
|
||
|
}
|
||
|
},
|
||
|
"id": 12277,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10515:39:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12278,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10515:39:11"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12280
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12280,
|
||
|
"mutability": "mutable",
|
||
|
"name": "lastValue",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12322,
|
||
|
"src": "10567:17:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12279,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "10567:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12289,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12281,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12258,
|
||
|
"src": "10587:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12282,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "10587:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12288,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"id": 12287,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12283,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12258,
|
||
|
"src": "10600:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12284,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "10600:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12285,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "10600:19:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "-",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "31",
|
||
|
"id": 12286,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "10622:1:11",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_1_by_1",
|
||
|
"typeString": "int_const 1"
|
||
|
},
|
||
|
"value": "1"
|
||
|
},
|
||
|
"src": "10600:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "10587:37:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "10567:57:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12298,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12290,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12258,
|
||
|
"src": "10635:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12293,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11688,
|
||
|
"src": "10635:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12294,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12292,
|
||
|
"name": "lastValue",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12280,
|
||
|
"src": "10648:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "10635:23:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12295,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"memberName": "index",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11680,
|
||
|
"src": "10635:29:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12296,
|
||
|
"name": "item",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12267,
|
||
|
"src": "10667:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12297,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "index",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11680,
|
||
|
"src": "10667:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"src": "10635:42:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"id": 12299,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10635:42:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12307,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12300,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12258,
|
||
|
"src": "10688:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12304,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "10688:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12305,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12302,
|
||
|
"name": "item",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12267,
|
||
|
"src": "10701:4:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12303,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "index",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11680,
|
||
|
"src": "10701:10:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "10688:24:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12306,
|
||
|
"name": "lastValue",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12280,
|
||
|
"src": "10715:9:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"src": "10688:36:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"id": 12308,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10688:36:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12309,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12258,
|
||
|
"src": "10735:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12312,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "array",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11684,
|
||
|
"src": "10735:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_array$_t_address_$dyn_storage",
|
||
|
"typeString": "address[] storage ref"
|
||
|
}
|
||
|
},
|
||
|
"id": 12313,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "pop",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "10735:16:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$",
|
||
|
"typeString": "function ()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12314,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10735:18:11",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12315,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10735:18:11"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12320,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "delete",
|
||
|
"prefix": true,
|
||
|
"src": "10764:27:11",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"baseExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12316,
|
||
|
"name": "_items",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12258,
|
||
|
"src": "10771:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items storage pointer"
|
||
|
}
|
||
|
},
|
||
|
"id": 12317,
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "table",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 11688,
|
||
|
"src": "10771:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_mapping$_t_address_$_t_struct$_Item_$11681_storage_$",
|
||
|
"typeString": "mapping(address => struct ConverterRegistryData.Item storage ref)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12319,
|
||
|
"indexExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12318,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12260,
|
||
|
"src": "10784:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"isConstant": false,
|
||
|
"isLValue": true,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": true,
|
||
|
"nodeType": "IndexAccess",
|
||
|
"src": "10771:20:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Item_$11681_storage",
|
||
|
"typeString": "struct ConverterRegistryData.Item storage ref"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12321,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10764:27:11"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12256,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "10215:144:11",
|
||
|
"text": " @dev removes an item from a list of items\n @param _items list of items\n @param _value item's value"
|
||
|
},
|
||
|
"id": 12323,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12263,
|
||
|
"name": "_value",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12260,
|
||
|
"src": "10445:6:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 12264,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12262,
|
||
|
"name": "validAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 22618,
|
||
|
"src": "10432:12:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_modifier$_t_address_$",
|
||
|
"typeString": "modifier (address)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "10432:20:11"
|
||
|
}
|
||
|
],
|
||
|
"name": "removeItem",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12261,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12258,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_items",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12323,
|
||
|
"src": "10385:20:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "storage",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12257,
|
||
|
"name": "Items",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 11689,
|
||
|
"src": "10385:5:11",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_struct$_Items_$11689_storage_ptr",
|
||
|
"typeString": "struct ConverterRegistryData.Items"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12260,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_value",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12323,
|
||
|
"src": "10407:14:11",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12259,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "10407:7:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "10384:38:11"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12265,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "10453:0:11"
|
||
|
},
|
||
|
"scope": 12324,
|
||
|
"src": "10365:434:11",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"scope": 12325,
|
||
|
"src": "752:10050:11"
|
||
|
}
|
||
|
],
|
||
|
"src": "52:10752:11"
|
||
|
},
|
||
|
"compiler": {
|
||
|
"name": "solc",
|
||
|
"version": "0.6.12+commit.27d51765.Emscripten.clang"
|
||
|
},
|
||
|
"networks": {
|
||
|
"42": {
|
||
|
"events": {
|
||
|
"0x343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a": {
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_prevOwner",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_newOwner",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "OwnerUpdate",
|
||
|
"type": "event"
|
||
|
}
|
||
|
},
|
||
|
"links": {},
|
||
|
"address": "0xd0097a901AF4ac2E63A5b6E86be8Ad91f10b05d7",
|
||
|
"transactionHash": "0x89fa917fc8afde60ec81e4388b75a298bf821df70589964493f8950d8fc3f63d"
|
||
|
},
|
||
|
"8995": {
|
||
|
"events": {
|
||
|
"0x343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a": {
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_prevOwner",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_newOwner",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "OwnerUpdate",
|
||
|
"type": "event"
|
||
|
}
|
||
|
},
|
||
|
"links": {},
|
||
|
"address": "0xd0097a901AF4ac2E63A5b6E86be8Ad91f10b05d7",
|
||
|
"transactionHash": "0x89fa917fc8afde60ec81e4388b75a298bf821df70589964493f8950d8fc3f63d"
|
||
|
},
|
||
|
"1604964387852": {
|
||
|
"events": {
|
||
|
"0x343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a": {
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_prevOwner",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_newOwner",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "OwnerUpdate",
|
||
|
"type": "event"
|
||
|
}
|
||
|
},
|
||
|
"links": {},
|
||
|
"address": "0x55Ff16F5765c13A4446b511b596263C1De8Dfc26",
|
||
|
"transactionHash": "0x144e03bae03b254034eaa0e1aee71eb82f73230d9588852d68d86a8f921304c1"
|
||
|
},
|
||
|
"1604964469407": {
|
||
|
"events": {
|
||
|
"0x343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a": {
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_prevOwner",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_newOwner",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "OwnerUpdate",
|
||
|
"type": "event"
|
||
|
}
|
||
|
},
|
||
|
"links": {},
|
||
|
"address": "0xAC3ff05D43718dF1d4c0F9363Baec946609640BA",
|
||
|
"transactionHash": "0xa9dc657a9abf000cda08ff7cca415975f43550f7f240e7be3e37f3f888e5485a"
|
||
|
},
|
||
|
"1604965528035": {
|
||
|
"events": {
|
||
|
"0x343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a": {
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_prevOwner",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_newOwner",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "OwnerUpdate",
|
||
|
"type": "event"
|
||
|
}
|
||
|
},
|
||
|
"links": {},
|
||
|
"address": "0xcF7f75A6080BeA51a04A5d10B6f2A9eD4fA94160",
|
||
|
"transactionHash": "0xfe909296dec939d70261c1d9f24e15e47fb1eda091150932ba01fa5330ab0ae4"
|
||
|
},
|
||
|
"1604965645554": {
|
||
|
"events": {
|
||
|
"0x343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a": {
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_prevOwner",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_newOwner",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "OwnerUpdate",
|
||
|
"type": "event"
|
||
|
}
|
||
|
},
|
||
|
"links": {},
|
||
|
"address": "0x48ec918ea761D509b367fe291A0980648554181C",
|
||
|
"transactionHash": "0x98be38342bdb36332b2c7fa19cab1741f3af7ab71882436748519f23e938dfbd"
|
||
|
},
|
||
|
"1604965679541": {
|
||
|
"events": {
|
||
|
"0x343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a": {
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_prevOwner",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_newOwner",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "OwnerUpdate",
|
||
|
"type": "event"
|
||
|
}
|
||
|
},
|
||
|
"links": {},
|
||
|
"address": "0x87745E2a343213bBB441dcd051DdF097a013892E",
|
||
|
"transactionHash": "0x2c03673176e2c2328055a2a41b8cc82543c7a9986ff766e19a5cf2d67a951489"
|
||
|
},
|
||
|
"1604965719492": {
|
||
|
"events": {
|
||
|
"0x343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a": {
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_prevOwner",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_newOwner",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "OwnerUpdate",
|
||
|
"type": "event"
|
||
|
}
|
||
|
},
|
||
|
"links": {},
|
||
|
"address": "0xD382D4E21484C60847a48E52122cCf704C731bFf",
|
||
|
"transactionHash": "0x753f7963061ecd52d6348c9b8af34721f84069b72fcb487c9226d29ccf3771a9"
|
||
|
},
|
||
|
"1604965760834": {
|
||
|
"events": {
|
||
|
"0x343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a": {
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_prevOwner",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_newOwner",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "OwnerUpdate",
|
||
|
"type": "event"
|
||
|
}
|
||
|
},
|
||
|
"links": {},
|
||
|
"address": "0x6076e2Dbe065826C21C4bB82e05D0e5fd1D92d15",
|
||
|
"transactionHash": "0x1c4d1c3a519f64956bc6b5727cf1248addf3d8d8369b350d008125b6710c035d"
|
||
|
}
|
||
|
},
|
||
|
"schemaVersion": "3.2.3",
|
||
|
"updatedAt": "2020-11-10T14:20:41.912Z",
|
||
|
"networkType": "ethereum",
|
||
|
"devdoc": {
|
||
|
"details": "The ConverterRegistryData contract is an integral part of the converter registry as it serves as the database contract that holds all registry data. The registry is separated into two different contracts for upgradability - the data contract is harder to upgrade as it requires migrating all registry data into a new contract, while the registry contract itself can be easily upgraded. For that same reason, the data contract is simple and contains no logic beyond the basic data access utilities that it exposes.",
|
||
|
"kind": "dev",
|
||
|
"methods": {
|
||
|
"acceptOwnership()": {
|
||
|
"details": "used by a new owner to accept an ownership transfer"
|
||
|
},
|
||
|
"addConvertibleToken(address,address)": {
|
||
|
"details": "adds a convertible token",
|
||
|
"params": {
|
||
|
"_anchor": "associated smart token",
|
||
|
"_convertibleToken": "convertible token"
|
||
|
}
|
||
|
},
|
||
|
"addLiquidityPool(address)": {
|
||
|
"details": "adds a liquidity pool",
|
||
|
"params": {
|
||
|
"_liquidityPoolAnchor": "liquidity pool"
|
||
|
}
|
||
|
},
|
||
|
"addSmartToken(address)": {
|
||
|
"details": "adds a smart token",
|
||
|
"params": {
|
||
|
"_anchor": "smart token"
|
||
|
}
|
||
|
},
|
||
|
"constructor": {
|
||
|
"details": "initializes a new ConverterRegistryData instance",
|
||
|
"params": {
|
||
|
"_registry": "address of a contract registry contract"
|
||
|
}
|
||
|
},
|
||
|
"getConvertibleToken(uint256)": {
|
||
|
"details": "returns the convertible token at a given index",
|
||
|
"params": {
|
||
|
"_index": "index"
|
||
|
},
|
||
|
"returns": {
|
||
|
"_0": "convertible token at the given index"
|
||
|
}
|
||
|
},
|
||
|
"getConvertibleTokenCount()": {
|
||
|
"details": "returns the number of convertible tokens",
|
||
|
"returns": {
|
||
|
"_0": "number of convertible tokens"
|
||
|
}
|
||
|
},
|
||
|
"getConvertibleTokenSmartToken(address,uint256)": {
|
||
|
"details": "returns the smart token associated with a given convertible token at a given index",
|
||
|
"params": {
|
||
|
"_index": "index"
|
||
|
},
|
||
|
"returns": {
|
||
|
"_0": "smart token associated with the given convertible token at the given index"
|
||
|
}
|
||
|
},
|
||
|
"getConvertibleTokenSmartTokenCount(address)": {
|
||
|
"details": "returns the number of smart tokens associated with a given convertible token",
|
||
|
"params": {
|
||
|
"_convertibleToken": "convertible token"
|
||
|
},
|
||
|
"returns": {
|
||
|
"_0": "number of smart tokens associated with the given convertible token"
|
||
|
}
|
||
|
},
|
||
|
"getConvertibleTokenSmartTokens(address)": {
|
||
|
"details": "returns the list of smart tokens associated with a given convertible token",
|
||
|
"params": {
|
||
|
"_convertibleToken": "convertible token"
|
||
|
},
|
||
|
"returns": {
|
||
|
"_0": "list of smart tokens associated with the given convertible token"
|
||
|
}
|
||
|
},
|
||
|
"getConvertibleTokens()": {
|
||
|
"details": "returns the list of convertible tokens",
|
||
|
"returns": {
|
||
|
"_0": "list of convertible tokens"
|
||
|
}
|
||
|
},
|
||
|
"getLiquidityPool(uint256)": {
|
||
|
"details": "returns the liquidity pool at a given index",
|
||
|
"params": {
|
||
|
"_index": "index"
|
||
|
},
|
||
|
"returns": {
|
||
|
"_0": "liquidity pool at the given index"
|
||
|
}
|
||
|
},
|
||
|
"getLiquidityPoolCount()": {
|
||
|
"details": "returns the number of liquidity pools",
|
||
|
"returns": {
|
||
|
"_0": "number of liquidity pools"
|
||
|
}
|
||
|
},
|
||
|
"getLiquidityPools()": {
|
||
|
"details": "returns the list of liquidity pools",
|
||
|
"returns": {
|
||
|
"_0": "list of liquidity pools"
|
||
|
}
|
||
|
},
|
||
|
"getSmartToken(uint256)": {
|
||
|
"details": "returns the smart token at a given index",
|
||
|
"params": {
|
||
|
"_index": "index"
|
||
|
},
|
||
|
"returns": {
|
||
|
"_0": "smart token at the given index"
|
||
|
}
|
||
|
},
|
||
|
"getSmartTokenCount()": {
|
||
|
"details": "returns the number of smart tokens",
|
||
|
"returns": {
|
||
|
"_0": "number of smart tokens"
|
||
|
}
|
||
|
},
|
||
|
"getSmartTokens()": {
|
||
|
"details": "returns the list of smart tokens",
|
||
|
"returns": {
|
||
|
"_0": "list of smart tokens"
|
||
|
}
|
||
|
},
|
||
|
"isConvertibleToken(address)": {
|
||
|
"details": "checks whether or not a given value is a convertible token",
|
||
|
"params": {
|
||
|
"_value": "value"
|
||
|
},
|
||
|
"returns": {
|
||
|
"_0": "true if the given value is a convertible token, false if not"
|
||
|
}
|
||
|
},
|
||
|
"isConvertibleTokenSmartToken(address,address)": {
|
||
|
"details": "checks whether or not a given value is a smart token of a given convertible token",
|
||
|
"params": {
|
||
|
"_convertibleToken": "convertible token",
|
||
|
"_value": "value"
|
||
|
},
|
||
|
"returns": {
|
||
|
"_0": "true if the given value is a smart token of the given convertible token, false it not"
|
||
|
}
|
||
|
},
|
||
|
"isLiquidityPool(address)": {
|
||
|
"details": "checks whether or not a given value is a liquidity pool",
|
||
|
"params": {
|
||
|
"_value": "value"
|
||
|
},
|
||
|
"returns": {
|
||
|
"_0": "true if the given value is a liquidity pool, false if not"
|
||
|
}
|
||
|
},
|
||
|
"isSmartToken(address)": {
|
||
|
"details": "checks whether or not a given value is a smart token",
|
||
|
"params": {
|
||
|
"_value": "value"
|
||
|
},
|
||
|
"returns": {
|
||
|
"_0": "true if the given value is a smart token, false if not"
|
||
|
}
|
||
|
},
|
||
|
"removeConvertibleToken(address,address)": {
|
||
|
"details": "removes a convertible token",
|
||
|
"params": {
|
||
|
"_anchor": "associated smart token",
|
||
|
"_convertibleToken": "convertible token"
|
||
|
}
|
||
|
},
|
||
|
"removeLiquidityPool(address)": {
|
||
|
"details": "removes a liquidity pool",
|
||
|
"params": {
|
||
|
"_liquidityPoolAnchor": "liquidity pool"
|
||
|
}
|
||
|
},
|
||
|
"removeSmartToken(address)": {
|
||
|
"details": "removes a smart token",
|
||
|
"params": {
|
||
|
"_anchor": "smart token"
|
||
|
}
|
||
|
},
|
||
|
"restoreRegistry()": {
|
||
|
"details": "restores the previous contract-registry"
|
||
|
},
|
||
|
"restrictRegistryUpdate(bool)": {
|
||
|
"details": "restricts the permission to update the contract-registry",
|
||
|
"params": {
|
||
|
"_onlyOwnerCanUpdateRegistry": "indicates whether or not permission is restricted to owner only"
|
||
|
}
|
||
|
},
|
||
|
"transferOwnership(address)": {
|
||
|
"details": "allows transferring the contract ownership the new owner still needs to accept the transfer can only be called by the contract owner",
|
||
|
"params": {
|
||
|
"_newOwner": "new contract owner"
|
||
|
}
|
||
|
},
|
||
|
"updateRegistry()": {
|
||
|
"details": "updates to the new contract-registry"
|
||
|
}
|
||
|
},
|
||
|
"version": 1
|
||
|
},
|
||
|
"userdoc": {
|
||
|
"kind": "user",
|
||
|
"methods": {},
|
||
|
"version": 1
|
||
|
}
|
||
|
}
|