cic-stack/apps/cic-eth/tests/testdata/bancor/TestConverterRegistry.json

2635 lines
185 KiB
JSON
Raw Normal View History

2021-02-01 18:12:51 +01:00
{
"contractName": "TestConverterRegistry",
"abi": [
{
"inputs": [
{
"internalType": "contract IContractRegistry",
"name": "_registry",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "contract IConverterAnchor",
"name": "_anchor",
"type": "address"
}
],
"name": "ConverterAnchorAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "contract IConverterAnchor",
"name": "_anchor",
"type": "address"
}
],
"name": "ConverterAnchorRemoved",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "contract IERC20Token",
"name": "_convertibleToken",
"type": "address"
},
{
"indexed": true,
"internalType": "contract IConverterAnchor",
"name": "_smartToken",
"type": "address"
}
],
"name": "ConvertibleTokenAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "contract IERC20Token",
"name": "_convertibleToken",
"type": "address"
},
{
"indexed": true,
"internalType": "contract IConverterAnchor",
"name": "_smartToken",
"type": "address"
}
],
"name": "ConvertibleTokenRemoved",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "contract IConverterAnchor",
"name": "_liquidityPool",
"type": "address"
}
],
"name": "LiquidityPoolAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "contract IConverterAnchor",
"name": "_liquidityPool",
"type": "address"
}
],
"name": "LiquidityPoolRemoved",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_prevOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "_newOwner",
"type": "address"
}
],
"name": "OwnerUpdate",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "contract IConverterAnchor",
"name": "_smartToken",
"type": "address"
}
],
"name": "SmartTokenAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "contract IConverterAnchor",
"name": "_smartToken",
"type": "address"
}
],
"name": "SmartTokenRemoved",
"type": "event"
},
{
"inputs": [],
"name": "acceptOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IConverter",
"name": "_converter",
"type": "address"
}
],
"name": "addConverter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "createdConverter",
"outputs": [
{
"internalType": "contract IConverter",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_index",
"type": "uint256"
}
],
"name": "getAnchor",
"outputs": [
{
"internalType": "contract IConverterAnchor",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getAnchorCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getAnchors",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "_anchors",
"type": "address[]"
}
],
"name": "getConvertersByAnchors",
"outputs": [
{
"internalType": "contract IConverter[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "_smartTokens",
"type": "address[]"
}
],
"name": "getConvertersBySmartTokens",
"outputs": [
{
"internalType": "contract IConverter[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_index",
"type": "uint256"
}
],
"name": "getConvertibleToken",
"outputs": [
{
"internalType": "contract IERC20Token",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20Token",
"name": "_convertibleToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "_index",
"type": "uint256"
}
],
"name": "getConvertibleTokenAnchor",
"outputs": [
{
"internalType": "contract IConverterAnchor",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20Token",
"name": "_convertibleToken",
"type": "address"
}
],
"name": "getConvertibleTokenAnchorCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20Token",
"name": "_convertibleToken",
"type": "address"
}
],
"name": "getConvertibleTokenAnchors",
"outputs": [
{
"internalType": "address[]",
"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": [
{
"internalType": "uint16",
"name": "_type",
"type": "uint16"
},
{
"internalType": "contract IERC20Token[]",
"name": "_reserveTokens",
"type": "address[]"
},
{
"internalType": "uint32[]",
"name": "_reserveWeights",
"type": "uint32[]"
}
],
"name": "getLiquidityPoolByConfig",
"outputs": [
{
"internalType": "contract IConverterAnchor",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20Token[]",
"name": "_reserveTokens",
"type": "address[]"
},
{
"internalType": "uint32[]",
"name": "_reserveWeights",
"type": "uint32[]"
}
],
"name": "getLiquidityPoolByReserveConfig",
"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": "getSmartTokens",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_value",
"type": "address"
}
],
"name": "isAnchor",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IConverter",
"name": "_converter",
"type": "address"
}
],
"name": "isConverterValid",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_value",
"type": "address"
}
],
"name": "isConvertibleToken",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20Token",
"name": "_convertibleToken",
"type": "address"
},
{
"internalType": "address",
"name": "_value",
"type": "address"
}
],
"name": "isConvertibleTokenAnchor",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"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"
},
{
"inputs": [
{
"internalType": "address",
"name": "_value",
"type": "address"
}
],
"name": "isLiquidityPool",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IConverter",
"name": "_converter",
"type": "address"
}
],
"name": "isSimilarLiquidityPoolRegistered",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_value",
"type": "address"
}
],
"name": "isSmartToken",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "newOwner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "onlyOwnerCanUpdateRegistry",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "prevRegistry",
"outputs": [
{
"internalType": "contract IContractRegistry",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "registry",
"outputs": [
{
"internalType": "contract IContractRegistry",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IConverter",
"name": "_converter",
"type": "address"
}
],
"name": "removeConverter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"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": "uint16",
"name": "_type",
"type": "uint16"
},
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "string",
"name": "_symbol",
"type": "string"
},
{
"internalType": "uint8",
"name": "_decimals",
"type": "uint8"
},
{
"internalType": "uint32",
"name": "_maxConversionFee",
"type": "uint32"
},
{
"internalType": "contract IERC20Token[]",
"name": "_reserveTokens",
"type": "address[]"
},
{
"internalType": "uint32[]",
"name": "_reserveWeights",
"type": "uint32[]"
}
],
"name": "newConverter",
"outputs": [
{
"internalType": "contract IConverter",
"name": "",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"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\":\"contract IConverterAnchor\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"ConverterAnchorAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IConverterAnchor\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"ConverterAnchorRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20Token\",\"name\":\"_convertibleToken\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract IConverterAnchor\",\"name\":\"_smartToken\",\"type\":\"address\"}],\"name\":\"ConvertibleTokenAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20Token\",\"name\":\"_convertibleToken\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract IConverterAnchor\",\"name\":\"_smartToken\",\"type\":\"address\"}],\"name\":\"ConvertibleTokenRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IConverterAnchor\",\"name\":\"_liquidityPool\",\"type\":\"address\"}],\"name\":\"LiquidityPoolAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IConverterAnchor\",\"name\":\"_liquidityPool\",\"type\":\"address\"}],\"name\":\"LiquidityPoolRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"OwnerUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IConverterAnchor\",\"name\":\"_smartToken\",\"type\":\"address\"}],\"name\":\"SmartTokenAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IConverterAnchor\",\"name\":\"_smartToken\",\"type\":\"address\"}],\"name\":\"SmartTokenRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IConverter\",\"name\":\"_converter\",\"type\":\"address\"}],\"name\":\"addConverter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"createdConverter\",\"outputs\":[{\"internalType\":\"contract IConverter\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getAnchor\",\"outputs\":[{\"internalType\":\"contract IConverterAnchor\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAnchorCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAnchors\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_anchors\",\"type\":\"address[]\"}],\"name\":\"getConvertersByAnchors\",\"outputs\":[{\"internalType\":\"contract IConverter[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_smartTokens\",\"type\":\"address[]\"}],\"name\":\"getConvertersBySmartTokens\",\"outputs\":[{\"internalType\":\"contract IConverter[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name
"bytecode": "0x60806040523480156200001157600080fd5b506040516200337238038062003372833981810160405260208110156200003757600080fd5b5051600080546001600160a01b0319163317905580808062000059816200008d565b50600280546001600160a01b039092166001600160a01b031992831681179091556003805490921617905550620000ec9050565b6001600160a01b038116620000e9576040805162461bcd60e51b815260206004820152601360248201527f4552525f494e56414c49445f4144445245535300000000000000000000000000604482015290519081900360640190fd5b50565b61327680620000fc6000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c80637b10399911610151578063b4c4197a116100c3578063d8cced2a11610087578063d8cced2a14610c02578063e571049b14610c28578063e85455d714610c30578063effb3c6e14610c56578063f2fde38b14610c5e578063f4fb86c014610c8457610274565b8063b4c4197a14610a75578063c22b82f014610aa3578063d3182bed14610bc6578063d4ee1d9014610bce578063d6c4b5b214610bd657610274565b8063954254f511610115578063954254f5146109c15780639e76a007146109e7578063a109d21414610a0d578063a43d5e9414610a2a578063a74498aa14610a50578063b4a176d314610a6d57610274565b80637b103999146109665780637f45c4c31461096e578063865cf194146109765780638da5cb5b146109935780638f1d0e1a1461099b57610274565b80634c7df18f116101ea57806361cd756e116101ae57806361cd756e146108f257806369be4784146108fa5780636ce1c4dc14610902578063725b87861461092857806379ba5097146109565780637a5f0ffd1461095e57610274565b80634c7df18f146105b35780635a0a6618146105d05780635f1b50fe1461081d578063603f51e414610825578063610c0b051461085157610274565b80631f8e26201161023c5780631f8e26201461046a5780632fe8a6ad1461050b5780633ab8857c146105275780634123ef601461054d57806349c5f32b1461057357806349d10b64146105ab57610274565b8063024c7ec71461027957806304ceaf411461029a57806311839064146102f25780631814f2d2146103185780631d3fccd51461033c575b600080fd5b6102986004803603602081101561028f57600080fd5b50351515610caa565b005b6102a2610cd0565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102de5781810151838201526020016102c6565b505050509050019250505060405180910390f35b6102a26004803603602081101561030857600080fd5b50356001600160a01b0316610cdf565b610320610e12565b604080516001600160a01b039092168252519081900360200190f35b6103206004803603606081101561035257600080fd5b61ffff8235169190810190604081016020820135600160201b81111561037757600080fd5b82018360208201111561038957600080fd5b803590602001918460208302840111600160201b831117156103aa57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156103f957600080fd5b82018360208201111561040b57600080fd5b803590602001918460208302840111600160201b8311171561042c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610e21945050505050565b6102a26004803603602081101561048057600080fd5b810190602081018135600160201b81111561049a57600080fd5b8201836020820111156104ac57600080fd5b803590602001918460208302840111600160201b831117156104cd57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610f08945050505050565b610513610f19565b604080519115158252519081900360200190f35b6105136004803603602081101561053d57600080fd5b50356001600160a01b0316610f29565b6105136004803603602081101561056357600080fd5b50356001600160a01b0316610fc0565b6105996004803603602081101561058957600080fd5b50356001600160a01b0316610fcb565b60408051918252519081900360200190f35b610298611030565b610320600480360360208110156105c957600080fd5b5035611238565b610320600480360360e08110156105e657600080fd5b61ffff8235169190810190604081016020820135600160201b81111561060b57600080fd5b82018360208201111561061d57600080fd5b803590602001918460018302840111600160201b8311171561063e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561069057600080fd5b8201836020820111156106a257600080fd5b803590602001918460018302840111600160201b831117156106c357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929560ff
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102745760003560e01c80637b10399911610151578063b4c4197a116100c3578063d8cced2a11610087578063d8cced2a14610c02578063e571049b14610c28578063e85455d714610c30578063effb3c6e14610c56578063f2fde38b14610c5e578063f4fb86c014610c8457610274565b8063b4c4197a14610a75578063c22b82f014610aa3578063d3182bed14610bc6578063d4ee1d9014610bce578063d6c4b5b214610bd657610274565b8063954254f511610115578063954254f5146109c15780639e76a007146109e7578063a109d21414610a0d578063a43d5e9414610a2a578063a74498aa14610a50578063b4a176d314610a6d57610274565b80637b103999146109665780637f45c4c31461096e578063865cf194146109765780638da5cb5b146109935780638f1d0e1a1461099b57610274565b80634c7df18f116101ea57806361cd756e116101ae57806361cd756e146108f257806369be4784146108fa5780636ce1c4dc14610902578063725b87861461092857806379ba5097146109565780637a5f0ffd1461095e57610274565b80634c7df18f146105b35780635a0a6618146105d05780635f1b50fe1461081d578063603f51e414610825578063610c0b051461085157610274565b80631f8e26201161023c5780631f8e26201461046a5780632fe8a6ad1461050b5780633ab8857c146105275780634123ef601461054d57806349c5f32b1461057357806349d10b64146105ab57610274565b8063024c7ec71461027957806304ceaf411461029a57806311839064146102f25780631814f2d2146103185780631d3fccd51461033c575b600080fd5b6102986004803603602081101561028f57600080fd5b50351515610caa565b005b6102a2610cd0565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102de5781810151838201526020016102c6565b505050509050019250505060405180910390f35b6102a26004803603602081101561030857600080fd5b50356001600160a01b0316610cdf565b610320610e12565b604080516001600160a01b039092168252519081900360200190f35b6103206004803603606081101561035257600080fd5b61ffff8235169190810190604081016020820135600160201b81111561037757600080fd5b82018360208201111561038957600080fd5b803590602001918460208302840111600160201b831117156103aa57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156103f957600080fd5b82018360208201111561040b57600080fd5b803590602001918460208302840111600160201b8311171561042c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610e21945050505050565b6102a26004803603602081101561048057600080fd5b810190602081018135600160201b81111561049a57600080fd5b8201836020820111156104ac57600080fd5b803590602001918460208302840111600160201b831117156104cd57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610f08945050505050565b610513610f19565b604080519115158252519081900360200190f35b6105136004803603602081101561053d57600080fd5b50356001600160a01b0316610f29565b6105136004803603602081101561056357600080fd5b50356001600160a01b0316610fc0565b6105996004803603602081101561058957600080fd5b50356001600160a01b0316610fcb565b60408051918252519081900360200190f35b610298611030565b610320600480360360208110156105c957600080fd5b5035611238565b610320600480360360e08110156105e657600080fd5b61ffff8235169190810190604081016020820135600160201b81111561060b57600080fd5b82018360208201111561061d57600080fd5b803590602001918460018302840111600160201b8311171561063e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561069057600080fd5b8201836020820111156106a257600080fd5b803590602001918460018302840111600160201b831117156106c357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929560ff8535169563ffffffff60208701351695919450925060608101915060400135600160201b81111561072a57600080fd5b82018360208201111561073c57600080fd5b803590602001918460208302840111600160201b8311171561075d57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156107ac57600080fd5b8201836020820111156107be57600080fd5b803590602001918460208302840111600160201b831117156107df57600080fd5b91908080602002602001604051908101604052
"immutableReferences": {},
"sourceMap": "195:673:40:-:0;;;294:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;294:84:40;619:5:57;:18;;-1:-1:-1;;;;;;619:18:57;627:10;619:18;;;294:84:40;;;594:23:64;294:84:40;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;195:673:40;;-1:-1:-1;195:673:40;692:128:64;-1:-1:-1;;;;;766:22:64;;758:54;;;;;-1:-1:-1;;;758:54:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;692:128;:::o;195:673:40:-;;;;;;;",
"deployedSourceMap": "195:673:40:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3655:224:56;;;;;;;;;;;;;;;;-1:-1:-1;3655:224:56;;;;:::i;:::-;;23430:103:10;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11304:249;;;;;;;;;;;;;;;;-1:-1:-1;11304:249:10;-1:-1:-1;;;;;11304:249:10;;:::i;253:34:40:-;;;:::i;:::-;;;;-1:-1:-1;;;;;253:34:40;;;;;;;;;;;;;;15233:1026:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15233:1026:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15233:1026:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15233:1026:10;;;;;;;;-1:-1:-1;15233:1026:10;;-1:-1:-1;;;;;15233:1026:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15233:1026:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15233:1026:10;;-1:-1:-1;15233:1026:10;;-1:-1:-1;;;;;15233:1026:10:i;25232:171::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;25232:171:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;25232:171:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25232:171:10;;-1:-1:-1;25232:171:10;;-1:-1:-1;;;;;25232:171:10:i;1333:38:56:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;10347:191:10;;;;;;;;;;;;;;;;-1:-1:-1;10347:191:10;-1:-1:-1;;;;;10347:191:10;;:::i;23835:107::-;;;;;;;;;;;;;;;;-1:-1:-1;23835:107:10;-1:-1:-1;;;;;23835:107:10;;:::i;10799:248::-;;;;;;;;;;;;;;;;-1:-1:-1;10799:248:10;-1:-1:-1;;;;;10799:248:10;;:::i;:::-;;;;;;;;;;;;;;;;2300:925:56;;;:::i;7106:189:10:-;;;;;;;;;;;;;;;;-1:-1:-1;7106:189:10;;:::i;384:482:40:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;384:482:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;384:482:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;384:482:40;;;;;;;;-1:-1:-1;384:482:40;;-1:-1:-1;;;;;384:482:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;384:482:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;384:482:40;;;;;;;;;;;;;;;;-1:-1:-1;384:482:40;-1:-1:-1;384:482:40;;;;-1:-1:-1;384:482:40;;;-1:-1:-1;;;384:482:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;384:482:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;384:482:40;;;;;;;;-1:-1:-1;384:482:40;;-1:-1:-1;;;;;384:482:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;384:482:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;384:482:40;;-1:-1:-1;384:482:40;;-1:-1:-1;;;;;384:482:40:i;9568:187:10:-;;;:::i;11805:271::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11805:271:10;;;;;;;;:::i;12939:362::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12939:362:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12939:362:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12939:362:10;;-1:-1:-1;12939:362:10;;-1:-1:-1;;;;;12939:362:10:i;1243:37:56:-;;;:::i;9235:186:10:-;;;:::i;5648:::-;;;;;;;;;;;;;;;;-1:-1:-1;5648:186:10;-1:-1:-1;;;;;5648:186:10;;:::i;24939:189::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24939:189:10;;;;;;;;;;:::i;1422:217:57:-;;;:::i;7818:180:10:-;;;:::i;1154:33:56:-;;;:::i;8139:181:10:-;;;:::i;9933:200::-;;;;;;;;;;;;;;;;-1:-1:-1;9933:200:10;;:::i;219:29:57:-;;;:::i;13976:891:10:-;;;;;;;;;;;;;;;;-1:-1:-1;13976:891:10;-1:-1:-1;;;;;13976:891:10;;:::i;13503:199::-;;;;;;;;;;;;;;;;-1:-1:-1;13503:199:10;-1:-1:-1;;;;;13503:199:10;;:::i;6123:202::-;;;;;;;;;;;;;;;;-1:-1:-1;6123:202:10;-1:-1:-1;;;;;6123:202:10;;:::i;23624:121::-;;;;;;;;;;;;;;;;-1:-1:-1;23624:121:10;;:::i;24054:180::-;;;;;;;;;;;;;;;;-1:-1:-1;24054:180:10;-1:-1:-1;;;;;24054:180:10;;:::i;8492:199::-;;;;;;;;;;;;;;;;-1:-1:-1;8492:199:10;;:::i;3304:137:56:-;;;:::i;12391:257:10:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12391:257:10;;;;;;;;;;:::i;25509:268::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;25509:268:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;25509:268:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25509:268:10;;;;;;;;-1:-1:-1;25509:268:10;;-1:-1:-1;;;;;25509:268:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;25509:268:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
"source": "// SPDX-License-Identifier: SEE LICENSE IN LICENSE\npragma solidity 0.6.12;\nimport \"../converter/ConverterRegistry.sol\";\n\n/*\n Utils test helper that exposes the converter registry functions\n*/\ncontract TestConverterRegistry is ConverterRegistry {\n IConverter public createdConverter;\n\n constructor(IContractRegistry _registry) public ConverterRegistry(_registry) {\n }\n\n function newConverter(\n uint16 _type,\n string memory _name,\n string memory _symbol,\n uint8 _decimals,\n uint32 _maxConversionFee,\n IERC20Token[] memory _reserveTokens,\n uint32[] memory _reserveWeights\n )\n public override returns (IConverter) {\n createdConverter = super.newConverter(_type, _name, _symbol, _decimals, _maxConversionFee, _reserveTokens,\n _reserveWeights);\n\n return createdConverter;\n }\n}\n",
"sourcePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/helpers/TestConverterRegistry.sol",
"ast": {
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/helpers/TestConverterRegistry.sol",
"exportedSymbols": {
"TestConverterRegistry": [
19370
]
},
"id": 19371,
"license": "SEE LICENSE IN LICENSE",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 19317,
"literals": [
"solidity",
"0.6",
".12"
],
"nodeType": "PragmaDirective",
"src": "51:23:40"
},
{
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/ConverterRegistry.sol",
"file": "../converter/ConverterRegistry.sol",
"id": 19318,
"nodeType": "ImportDirective",
"scope": 19371,
"sourceUnit": 11668,
"src": "75:44:40",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 19319,
"name": "ConverterRegistry",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 11667,
"src": "229:17:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ConverterRegistry_$11667",
"typeString": "contract ConverterRegistry"
}
},
"id": 19320,
"nodeType": "InheritanceSpecifier",
"src": "229:17:40"
}
],
"contractDependencies": [
11667,
13501,
21719,
21818,
22526,
22661,
22847
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 19370,
"linearizedBaseContracts": [
19370,
11667,
22526,
21719,
22661,
21818,
22847,
13501
],
"name": "TestConverterRegistry",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "1814f2d2",
"id": 19322,
"mutability": "mutable",
"name": "createdConverter",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19370,
"src": "253:34:40",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IConverter_$13340",
"typeString": "contract IConverter"
},
"typeName": {
"contractScope": null,
"id": 19321,
"name": "IConverter",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 13340,
"src": "253:10:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IConverter_$13340",
"typeString": "contract IConverter"
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 19330,
"nodeType": "Block",
"src": "371:7:40",
"statements": []
},
"documentation": null,
"id": 19331,
"implemented": true,
"kind": "constructor",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 19327,
"name": "_registry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19324,
"src": "360:9:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
"typeString": "contract IContractRegistry"
}
}
],
"id": 19328,
"modifierName": {
"argumentTypes": null,
"id": 19326,
"name": "ConverterRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11667,
"src": "342:17:40",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ConverterRegistry_$11667_$",
"typeString": "type(contract ConverterRegistry)"
}
},
"nodeType": "ModifierInvocation",
"src": "342:28:40"
}
],
"name": "",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 19325,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 19324,
"mutability": "mutable",
"name": "_registry",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19331,
"src": "306:27:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
"typeString": "contract IContractRegistry"
},
"typeName": {
"contractScope": null,
"id": 19323,
"name": "IContractRegistry",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 22831,
"src": "306:17:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
"typeString": "contract IContractRegistry"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "305:29:40"
},
"returnParameters": {
"id": 19329,
"nodeType": "ParameterList",
"parameters": [],
"src": "371:0:40"
},
"scope": 19370,
"src": "294:84:40",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"baseFunctions": [
10454
],
"body": {
"id": 19368,
"nodeType": "Block",
"src": "680:186:40",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 19364,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 19353,
"name": "createdConverter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19322,
"src": "690:16:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IConverter_$13340",
"typeString": "contract IConverter"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 19356,
"name": "_type",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19333,
"src": "728:5:40",
"typeDescriptions": {
"typeIdentifier": "t_uint16",
"typeString": "uint16"
}
},
{
"argumentTypes": null,
"id": 19357,
"name": "_name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19335,
"src": "735:5:40",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"argumentTypes": null,
"id": 19358,
"name": "_symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19337,
"src": "742:7:40",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"argumentTypes": null,
"id": 19359,
"name": "_decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19339,
"src": "751:9:40",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
"id": 19360,
"name": "_maxConversionFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19341,
"src": "762:17:40",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
{
"argumentTypes": null,
"id": 19361,
"name": "_reserveTokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19344,
"src": "781:14:40",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_IERC20Token_$21127_$dyn_memory_ptr",
"typeString": "contract IERC20Token[] memory"
}
},
{
"argumentTypes": null,
"id": 19362,
"name": "_reserveWeights",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19347,
"src": "809:15:40",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint32_$dyn_memory_ptr",
"typeString": "uint32[] memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint16",
"typeString": "uint16"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
{
"typeIdentifier": "t_array$_t_contract$_IERC20Token_$21127_$dyn_memory_ptr",
"typeString": "contract IERC20Token[] memory"
},
{
"typeIdentifier": "t_array$_t_uint32_$dyn_memory_ptr",
"typeString": "uint32[] memory"
}
],
"expression": {
"argumentTypes": null,
"id": 19354,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -25,
"src": "709:5:40",
"typeDescriptions": {
"typeIdentifier": "t_super$_TestConverterRegistry_$19370",
"typeString": "contract super TestConverterRegistry"
}
},
"id": 19355,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "newConverter",
"nodeType": "MemberAccess",
"referencedDeclaration": 10454,
"src": "709:18:40",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_uint16_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$_t_uint32_$_t_array$_t_contract$_IERC20Token_$21127_$dyn_memory_ptr_$_t_array$_t_uint32_$dyn_memory_ptr_$returns$_t_contract$_IConverter_$13340_$",
"typeString": "function (uint16,string memory,string memory,uint8,uint32,contract IERC20Token[] memory,uint32[] memory) returns (contract IConverter)"
}
},
"id": 19363,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "709:116:40",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IConverter_$13340",
"typeString": "contract IConverter"
}
},
"src": "690:135:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IConverter_$13340",
"typeString": "contract IConverter"
}
},
"id": 19365,
"nodeType": "ExpressionStatement",
"src": "690:135:40"
},
{
"expression": {
"argumentTypes": null,
"id": 19366,
"name": "createdConverter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19322,
"src": "843:16:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IConverter_$13340",
"typeString": "contract IConverter"
}
},
"functionReturnParameters": 19352,
"id": 19367,
"nodeType": "Return",
"src": "836:23:40"
}
]
},
"documentation": null,
"functionSelector": "5a0a6618",
"id": 19369,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "newConverter",
"nodeType": "FunctionDefinition",
"overrides": {
"id": 19349,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "650:8:40"
},
"parameters": {
"id": 19348,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 19333,
"mutability": "mutable",
"name": "_type",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19369,
"src": "415:12:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint16",
"typeString": "uint16"
},
"typeName": {
"id": 19332,
"name": "uint16",
"nodeType": "ElementaryTypeName",
"src": "415:6:40",
"typeDescriptions": {
"typeIdentifier": "t_uint16",
"typeString": "uint16"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 19335,
"mutability": "mutable",
"name": "_name",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19369,
"src": "437:19:40",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 19334,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "437:6:40",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 19337,
"mutability": "mutable",
"name": "_symbol",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19369,
"src": "466:21:40",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 19336,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "466:6:40",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 19339,
"mutability": "mutable",
"name": "_decimals",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19369,
"src": "497:15:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 19338,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "497:5:40",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 19341,
"mutability": "mutable",
"name": "_maxConversionFee",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19369,
"src": "522:24:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
"id": 19340,
"name": "uint32",
"nodeType": "ElementaryTypeName",
"src": "522:6:40",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 19344,
"mutability": "mutable",
"name": "_reserveTokens",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19369,
"src": "556:35:40",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_IERC20Token_$21127_$dyn_memory_ptr",
"typeString": "contract IERC20Token[]"
},
"typeName": {
"baseType": {
"contractScope": null,
"id": 19342,
"name": "IERC20Token",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 21127,
"src": "556:11:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
}
},
"id": 19343,
"length": null,
"nodeType": "ArrayTypeName",
"src": "556:13:40",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_IERC20Token_$21127_$dyn_storage_ptr",
"typeString": "contract IERC20Token[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 19347,
"mutability": "mutable",
"name": "_reserveWeights",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19369,
"src": "601:31:40",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint32_$dyn_memory_ptr",
"typeString": "uint32[]"
},
"typeName": {
"baseType": {
"id": 19345,
"name": "uint32",
"nodeType": "ElementaryTypeName",
"src": "601:6:40",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"id": 19346,
"length": null,
"nodeType": "ArrayTypeName",
"src": "601:8:40",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint32_$dyn_storage_ptr",
"typeString": "uint32[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "405:233:40"
},
"returnParameters": {
"id": 19352,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 19351,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19369,
"src": "668:10:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IConverter_$13340",
"typeString": "contract IConverter"
},
"typeName": {
"contractScope": null,
"id": 19350,
"name": "IConverter",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 13340,
"src": "668:10:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IConverter_$13340",
"typeString": "contract IConverter"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "667:12:40"
},
"scope": 19370,
"src": "384:482:40",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 19371,
"src": "195:673:40"
}
],
"src": "51:818:40"
},
"legacyAST": {
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/helpers/TestConverterRegistry.sol",
"exportedSymbols": {
"TestConverterRegistry": [
19370
]
},
"id": 19371,
"license": "SEE LICENSE IN LICENSE",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 19317,
"literals": [
"solidity",
"0.6",
".12"
],
"nodeType": "PragmaDirective",
"src": "51:23:40"
},
{
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/ConverterRegistry.sol",
"file": "../converter/ConverterRegistry.sol",
"id": 19318,
"nodeType": "ImportDirective",
"scope": 19371,
"sourceUnit": 11668,
"src": "75:44:40",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 19319,
"name": "ConverterRegistry",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 11667,
"src": "229:17:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ConverterRegistry_$11667",
"typeString": "contract ConverterRegistry"
}
},
"id": 19320,
"nodeType": "InheritanceSpecifier",
"src": "229:17:40"
}
],
"contractDependencies": [
11667,
13501,
21719,
21818,
22526,
22661,
22847
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 19370,
"linearizedBaseContracts": [
19370,
11667,
22526,
21719,
22661,
21818,
22847,
13501
],
"name": "TestConverterRegistry",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "1814f2d2",
"id": 19322,
"mutability": "mutable",
"name": "createdConverter",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19370,
"src": "253:34:40",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IConverter_$13340",
"typeString": "contract IConverter"
},
"typeName": {
"contractScope": null,
"id": 19321,
"name": "IConverter",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 13340,
"src": "253:10:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IConverter_$13340",
"typeString": "contract IConverter"
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 19330,
"nodeType": "Block",
"src": "371:7:40",
"statements": []
},
"documentation": null,
"id": 19331,
"implemented": true,
"kind": "constructor",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 19327,
"name": "_registry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19324,
"src": "360:9:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
"typeString": "contract IContractRegistry"
}
}
],
"id": 19328,
"modifierName": {
"argumentTypes": null,
"id": 19326,
"name": "ConverterRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11667,
"src": "342:17:40",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_ConverterRegistry_$11667_$",
"typeString": "type(contract ConverterRegistry)"
}
},
"nodeType": "ModifierInvocation",
"src": "342:28:40"
}
],
"name": "",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 19325,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 19324,
"mutability": "mutable",
"name": "_registry",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19331,
"src": "306:27:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
"typeString": "contract IContractRegistry"
},
"typeName": {
"contractScope": null,
"id": 19323,
"name": "IContractRegistry",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 22831,
"src": "306:17:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
"typeString": "contract IContractRegistry"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "305:29:40"
},
"returnParameters": {
"id": 19329,
"nodeType": "ParameterList",
"parameters": [],
"src": "371:0:40"
},
"scope": 19370,
"src": "294:84:40",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"baseFunctions": [
10454
],
"body": {
"id": 19368,
"nodeType": "Block",
"src": "680:186:40",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 19364,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 19353,
"name": "createdConverter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19322,
"src": "690:16:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IConverter_$13340",
"typeString": "contract IConverter"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 19356,
"name": "_type",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19333,
"src": "728:5:40",
"typeDescriptions": {
"typeIdentifier": "t_uint16",
"typeString": "uint16"
}
},
{
"argumentTypes": null,
"id": 19357,
"name": "_name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19335,
"src": "735:5:40",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"argumentTypes": null,
"id": 19358,
"name": "_symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19337,
"src": "742:7:40",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"argumentTypes": null,
"id": 19359,
"name": "_decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19339,
"src": "751:9:40",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
{
"argumentTypes": null,
"id": 19360,
"name": "_maxConversionFee",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19341,
"src": "762:17:40",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
{
"argumentTypes": null,
"id": 19361,
"name": "_reserveTokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19344,
"src": "781:14:40",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_IERC20Token_$21127_$dyn_memory_ptr",
"typeString": "contract IERC20Token[] memory"
}
},
{
"argumentTypes": null,
"id": 19362,
"name": "_reserveWeights",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19347,
"src": "809:15:40",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint32_$dyn_memory_ptr",
"typeString": "uint32[] memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint16",
"typeString": "uint16"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
{
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
{
"typeIdentifier": "t_array$_t_contract$_IERC20Token_$21127_$dyn_memory_ptr",
"typeString": "contract IERC20Token[] memory"
},
{
"typeIdentifier": "t_array$_t_uint32_$dyn_memory_ptr",
"typeString": "uint32[] memory"
}
],
"expression": {
"argumentTypes": null,
"id": 19354,
"name": "super",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -25,
"src": "709:5:40",
"typeDescriptions": {
"typeIdentifier": "t_super$_TestConverterRegistry_$19370",
"typeString": "contract super TestConverterRegistry"
}
},
"id": 19355,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "newConverter",
"nodeType": "MemberAccess",
"referencedDeclaration": 10454,
"src": "709:18:40",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_uint16_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$_t_uint32_$_t_array$_t_contract$_IERC20Token_$21127_$dyn_memory_ptr_$_t_array$_t_uint32_$dyn_memory_ptr_$returns$_t_contract$_IConverter_$13340_$",
"typeString": "function (uint16,string memory,string memory,uint8,uint32,contract IERC20Token[] memory,uint32[] memory) returns (contract IConverter)"
}
},
"id": 19363,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "709:116:40",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IConverter_$13340",
"typeString": "contract IConverter"
}
},
"src": "690:135:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IConverter_$13340",
"typeString": "contract IConverter"
}
},
"id": 19365,
"nodeType": "ExpressionStatement",
"src": "690:135:40"
},
{
"expression": {
"argumentTypes": null,
"id": 19366,
"name": "createdConverter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19322,
"src": "843:16:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IConverter_$13340",
"typeString": "contract IConverter"
}
},
"functionReturnParameters": 19352,
"id": 19367,
"nodeType": "Return",
"src": "836:23:40"
}
]
},
"documentation": null,
"functionSelector": "5a0a6618",
"id": 19369,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "newConverter",
"nodeType": "FunctionDefinition",
"overrides": {
"id": 19349,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "650:8:40"
},
"parameters": {
"id": 19348,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 19333,
"mutability": "mutable",
"name": "_type",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19369,
"src": "415:12:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint16",
"typeString": "uint16"
},
"typeName": {
"id": 19332,
"name": "uint16",
"nodeType": "ElementaryTypeName",
"src": "415:6:40",
"typeDescriptions": {
"typeIdentifier": "t_uint16",
"typeString": "uint16"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 19335,
"mutability": "mutable",
"name": "_name",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19369,
"src": "437:19:40",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 19334,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "437:6:40",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 19337,
"mutability": "mutable",
"name": "_symbol",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19369,
"src": "466:21:40",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 19336,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "466:6:40",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 19339,
"mutability": "mutable",
"name": "_decimals",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19369,
"src": "497:15:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 19338,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "497:5:40",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 19341,
"mutability": "mutable",
"name": "_maxConversionFee",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19369,
"src": "522:24:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
},
"typeName": {
"id": 19340,
"name": "uint32",
"nodeType": "ElementaryTypeName",
"src": "522:6:40",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 19344,
"mutability": "mutable",
"name": "_reserveTokens",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19369,
"src": "556:35:40",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_IERC20Token_$21127_$dyn_memory_ptr",
"typeString": "contract IERC20Token[]"
},
"typeName": {
"baseType": {
"contractScope": null,
"id": 19342,
"name": "IERC20Token",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 21127,
"src": "556:11:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
}
},
"id": 19343,
"length": null,
"nodeType": "ArrayTypeName",
"src": "556:13:40",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_contract$_IERC20Token_$21127_$dyn_storage_ptr",
"typeString": "contract IERC20Token[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 19347,
"mutability": "mutable",
"name": "_reserveWeights",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19369,
"src": "601:31:40",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint32_$dyn_memory_ptr",
"typeString": "uint32[]"
},
"typeName": {
"baseType": {
"id": 19345,
"name": "uint32",
"nodeType": "ElementaryTypeName",
"src": "601:6:40",
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
},
"id": 19346,
"length": null,
"nodeType": "ArrayTypeName",
"src": "601:8:40",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint32_$dyn_storage_ptr",
"typeString": "uint32[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "405:233:40"
},
"returnParameters": {
"id": 19352,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 19351,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 19369,
"src": "668:10:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IConverter_$13340",
"typeString": "contract IConverter"
},
"typeName": {
"contractScope": null,
"id": 19350,
"name": "IConverter",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 13340,
"src": "668:10:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IConverter_$13340",
"typeString": "contract IConverter"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "667:12:40"
},
"scope": 19370,
"src": "384:482:40",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 19371,
"src": "195:673:40"
}
],
"src": "51:818:40"
},
"compiler": {
"name": "solc",
"version": "0.6.12+commit.27d51765.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.2.3",
"updatedAt": "2020-10-20T08:24:47.806Z",
"devdoc": {
"kind": "dev",
"methods": {
"acceptOwnership()": {
"details": "used by a new owner to accept an ownership transfer"
},
"addConverter(address)": {
"details": "adds an existing converter to the registry can only be called by the owner",
"params": {
"_converter": "converter"
}
},
"getAnchor(uint256)": {
"details": "returns the converter anchor at a given index",
"params": {
"_index": "index"
},
"returns": {
"_0": "anchor at the given index"
}
},
"getAnchorCount()": {
"details": "returns the number of converter anchors in the registry",
"returns": {
"_0": "number of anchors"
}
},
"getAnchors()": {
"details": "returns the list of converter anchors in the registry",
"returns": {
"_0": "list of anchors"
}
},
"getConvertersByAnchors(address[])": {
"details": "returns a list of converters for a given list of anchors this is a utility function that can be used to reduce the number of calls to the contract",
"params": {
"_anchors": "list of converter anchors"
},
"returns": {
"_0": "list of converters"
}
},
"getConvertersBySmartTokens(address[])": {
"details": "deprecated, backward compatibility, use `getConvertersByAnchors`"
},
"getConvertibleToken(uint256)": {
"details": "returns the convertible token at a given index",
"params": {
"_index": "index"
},
"returns": {
"_0": "convertible token at the given index"
}
},
"getConvertibleTokenAnchor(address,uint256)": {
"details": "returns the converter anchor associated with a given convertible token at a given index",
"params": {
"_index": "index"
},
"returns": {
"_0": "anchor associated with the given convertible token at the given index"
}
},
"getConvertibleTokenAnchorCount(address)": {
"details": "returns the number of converter anchors associated with a given convertible token",
"params": {
"_convertibleToken": "convertible token"
},
"returns": {
"_0": "number of anchors associated with the given convertible token"
}
},
"getConvertibleTokenAnchors(address)": {
"details": "returns the list of aoncerter anchors associated with a given convertible token",
"params": {
"_convertibleToken": "convertible token"
},
"returns": {
"_0": "list of anchors associated with the given convertible token"
}
},
"getConvertibleTokenCount()": {
"details": "returns the number of convertible tokens in the registry",
"returns": {
"_0": "number of convertible tokens"
}
},
"getConvertibleTokenSmartToken(address,uint256)": {
"details": "deprecated, backward compatibility, use `getConvertibleTokenAnchor`"
},
"getConvertibleTokenSmartTokenCount(address)": {
"details": "deprecated, backward compatibility, use `getConvertibleTokenAnchorCount`"
},
"getConvertibleTokenSmartTokens(address)": {
"details": "deprecated, backward compatibility, use `getConvertibleTokenAnchors`"
},
"getConvertibleTokens()": {
"details": "returns the list of convertible tokens in the registry",
"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"
}
},
"getLiquidityPoolByConfig(uint16,address[],uint32[])": {
"details": "searches for a liquidity pool with specific configuration",
"params": {
"_reserveTokens": "reserve tokens",
"_reserveWeights": "reserve weights",
"_type": "converter type, see ConverterBase contract main doc"
},
"returns": {
"_0": "the liquidity pool, or zero if no such liquidity pool exists"
}
},
"getLiquidityPoolByReserveConfig(address[],uint32[])": {
"details": "deprecated, backward compatibility, use `getLiquidityPoolByConfig`"
},
"getLiquidityPoolCount()": {
"details": "returns the number of liquidity pools in the registry",
"returns": {
"_0": "number of liquidity pools"
}
},
"getLiquidityPools()": {
"details": "returns the list of liquidity pools in the registry",
"returns": {
"_0": "list of liquidity pools"
}
},
"getSmartToken(uint256)": {
"details": "deprecated, backward compatibility, use `getAnchor`"
},
"getSmartTokenCount()": {
"details": "deprecated, backward compatibility, use `getAnchorCount`"
},
"getSmartTokens()": {
"details": "deprecated, backward compatibility, use `getAnchors`"
},
"isAnchor(address)": {
"details": "checks whether or not a given value is a converter anchor",
"params": {
"_value": "value"
},
"returns": {
"_0": "true if the given value is an anchor, false if not"
}
},
"isConverterValid(address)": {
"details": "checks whether or not a given converter is valid",
"params": {
"_converter": "converter"
},
"returns": {
"_0": "true if the given converter is valid, false if not"
}
},
"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"
}
},
"isConvertibleTokenAnchor(address,address)": {
"details": "checks whether or not a given value is a converter anchor of a given convertible token",
"params": {
"_convertibleToken": "convertible token",
"_value": "value"
},
"returns": {
"_0": "true if the given value is an anchor of the given convertible token, false if not"
}
},
"isConvertibleTokenSmartToken(address,address)": {
"details": "deprecated, backward compatibility, use `isConvertibleTokenAnchor`"
},
"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"
}
},
"isSimilarLiquidityPoolRegistered(address)": {
"details": "checks if a liquidity pool with given configuration is already registered",
"params": {
"_converter": "converter with specific configuration"
},
"returns": {
"_0": "if a liquidity pool with the same configuration is already registered"
}
},
"isSmartToken(address)": {
"details": "deprecated, backward compatibility, use `isAnchor`"
},
"newConverter(uint16,string,string,uint8,uint32,address[],uint32[])": {
"details": "creates a zero supply liquid token / empty liquidity pool and adds its converter to the registry",
"params": {
"_decimals": "token / pool decimals",
"_maxConversionFee": "maximum conversion-fee",
"_name": "token / pool name",
"_reserveTokens": "reserve tokens",
"_reserveWeights": "reserve weights",
"_symbol": "token / pool symbol",
"_type": "converter type, see ConverterBase contract main doc"
},
"returns": {
"_0": "new converter"
}
},
"removeConverter(address)": {
"details": "removes a converter from the registry anyone can remove an existing converter from the registry, as long as the converter is invalid note that the owner can also remove valid converters",
"params": {
"_converter": "converter"
}
},
"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
}
}