18634 lines
891 KiB
JSON
18634 lines
891 KiB
JSON
|
{
|
||
|
"contractName": "ConverterUpgrader",
|
||
|
"abi": [
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IContractRegistry",
|
||
|
"name": "_registry",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "contract IEtherToken",
|
||
|
"name": "_etherToken",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "constructor"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "contract IConverter",
|
||
|
"name": "_converter",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_owner",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "ConverterOwned",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_oldConverter",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "_newConverter",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "ConverterUpgrade",
|
||
|
"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"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "acceptOwnership",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "etherToken",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "contract IEtherToken",
|
||
|
"name": "",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"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": [],
|
||
|
"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": "_version",
|
||
|
"type": "uint16"
|
||
|
}
|
||
|
],
|
||
|
"name": "upgrade",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "bytes32",
|
||
|
"name": "_version",
|
||
|
"type": "bytes32"
|
||
|
}
|
||
|
],
|
||
|
"name": "upgrade",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "contract IConverter",
|
||
|
"name": "_converter",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "bytes32",
|
||
|
"name": "_version",
|
||
|
"type": "bytes32"
|
||
|
}
|
||
|
],
|
||
|
"name": "upgradeOld",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
}
|
||
|
],
|
||
|
"metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IContractRegistry\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"contract IEtherToken\",\"name\":\"_etherToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IConverter\",\"name\":\"_converter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"ConverterOwned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_oldConverter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_newConverter\",\"type\":\"address\"}],\"name\":\"ConverterUpgrade\",\"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\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"etherToken\",\"outputs\":[{\"internalType\":\"contract IEtherToken\",\"name\":\"\",\"type\":\"address\"}],\"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\":[],\"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\":\"_version\",\"type\":\"uint16\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_version\",\"type\":\"bytes32\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IConverter\",\"name\":\"_converter\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_version\",\"type\":\"bytes32\"}],\"name\":\"upgradeOld\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Converter Upgrader The converter upgrader contract allows upgrading an older converter contract (0.4 and up) to the latest version. To begin the upgrade process, simply execute the 'upgrade' function. At the end of the process, the ownership of the newly upgraded converter will be transferred back to the original owner and the original owner will need to execute the 'acceptOwnership' function. The address
|
||
|
"bytecode": "0x608060405234801561001057600080fd5b50604051611d60380380611d608339818101604052604081101561003357600080fd5b508051602090910151600080546001600160a01b0319163317905581806100598161009c565b50600280546001600160a01b039283166001600160a01b0319918216811790925560038054821690921790915560048054939092169216919091179055506100fa565b6001600160a01b0381166100f7576040805162461bcd60e51b815260206004820152601360248201527f4552525f494e56414c49445f4144445245535300000000000000000000000000604482015290519081900360640190fd5b50565b611c57806101096000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806390f58c961161008c578063bc444e1311610066578063bc444e13146101a1578063d4ee1d90146101be578063f2cfed87146101c6578063f2fde38b146101f2576100ea565b806390f58c9614610170578063b4a176d314610191578063b8066bcb14610199576100ea565b806361cd756e116100c857806361cd756e1461013457806379ba5097146101585780637b103999146101605780638da5cb5b14610168576100ea565b8063024c7ec7146100ef5780632fe8a6ad1461011057806349d10b641461012c575b600080fd5b61010e6004803603602081101561010557600080fd5b50351515610218565b005b61011861023e565b604080519115158252519081900360200190f35b61010e61024e565b61013c610456565b604080516001600160a01b039092168252519081900360200190f35b61010e610465565b61013c61051c565b61013c61052b565b61010e6004803603602081101561018657600080fd5b503561ffff1661053a565b61010e61054b565b61013c610577565b61010e600480360360208110156101b757600080fd5b5035610586565b61013c610590565b61010e600480360360408110156101dc57600080fd5b506001600160a01b03813516906020013561059f565b61010e6004803603602081101561020857600080fd5b50356001600160a01b0316610977565b6102206109f5565b60038054911515600160a01b0260ff60a01b19909216919091179055565b600354600160a01b900460ff1681565b6000546001600160a01b03163314806102715750600354600160a01b900460ff16155b6102b6576040805162461bcd60e51b815260206004820152601160248201527011549497d050d0d154d4d7d11153925151607a1b604482015290519081900360640190fd5b60006102d46f436f6e7472616374526567697374727960801b610a4a565b6002549091506001600160a01b038083169116148015906102fd57506001600160a01b03811615155b610345576040805162461bcd60e51b81526020600482015260146024820152734552525f494e56414c49445f524547495354525960601b604482015290519081900360640190fd5b60006001600160a01b0316816001600160a01b031663bb34534c6f436f6e7472616374526567697374727960801b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156103a757600080fd5b505afa1580156103bb573d6000803e3d6000fd5b505050506040513d60208110156103d157600080fd5b50516001600160a01b03161415610426576040805162461bcd60e51b81526020600482015260146024820152734552525f494e56414c49445f524547495354525960601b604482015290519081900360640190fd5b60028054600380546001600160a01b038084166001600160a01b0319928316179092559091169216919091179055565b6003546001600160a01b031681565b6001546001600160a01b031633146104b8576040805162461bcd60e51b815260206004820152601160248201527011549497d050d0d154d4d7d11153925151607a1b604482015290519081900360640190fd5b600154600080546040516001600160a01b0393841693909116917f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a91a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b031681565b6000546001600160a01b031681565b6105483361ffff831661059f565b50565b6105536109f5565b600354600280546001600160a01b0319166001600160a01b03909216919091179055565b6004546001600160a01b031681565b610548338261059f565b6001546001600160a01b031681565b60008290506000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105df57600080fd5b505afa1580156105f3573d6000803e3d6000fd5b505050506040513d602081101561060957600080fd5b5051905061061682610aca565b600061062183610b56565b905061062d8382610e56565b6106378382611175565b610641838261124a565b6000836001600160a01b031663fc0c546a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561067c57600080fd5b505afa158015610690573d6000803e3d6000fd5b505050506040513d60208110156106a657600080fd5b5051905060006106b585611641565b80156107225750846001600160a01b03166322f3e2d46040518163ffffffff1660e01b815260040160206040518083038186803b15801561
|
||
|
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806390f58c961161008c578063bc444e1311610066578063bc444e13146101a1578063d4ee1d90146101be578063f2cfed87146101c6578063f2fde38b146101f2576100ea565b806390f58c9614610170578063b4a176d314610191578063b8066bcb14610199576100ea565b806361cd756e116100c857806361cd756e1461013457806379ba5097146101585780637b103999146101605780638da5cb5b14610168576100ea565b8063024c7ec7146100ef5780632fe8a6ad1461011057806349d10b641461012c575b600080fd5b61010e6004803603602081101561010557600080fd5b50351515610218565b005b61011861023e565b604080519115158252519081900360200190f35b61010e61024e565b61013c610456565b604080516001600160a01b039092168252519081900360200190f35b61010e610465565b61013c61051c565b61013c61052b565b61010e6004803603602081101561018657600080fd5b503561ffff1661053a565b61010e61054b565b61013c610577565b61010e600480360360208110156101b757600080fd5b5035610586565b61013c610590565b61010e600480360360408110156101dc57600080fd5b506001600160a01b03813516906020013561059f565b61010e6004803603602081101561020857600080fd5b50356001600160a01b0316610977565b6102206109f5565b60038054911515600160a01b0260ff60a01b19909216919091179055565b600354600160a01b900460ff1681565b6000546001600160a01b03163314806102715750600354600160a01b900460ff16155b6102b6576040805162461bcd60e51b815260206004820152601160248201527011549497d050d0d154d4d7d11153925151607a1b604482015290519081900360640190fd5b60006102d46f436f6e7472616374526567697374727960801b610a4a565b6002549091506001600160a01b038083169116148015906102fd57506001600160a01b03811615155b610345576040805162461bcd60e51b81526020600482015260146024820152734552525f494e56414c49445f524547495354525960601b604482015290519081900360640190fd5b60006001600160a01b0316816001600160a01b031663bb34534c6f436f6e7472616374526567697374727960801b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156103a757600080fd5b505afa1580156103bb573d6000803e3d6000fd5b505050506040513d60208110156103d157600080fd5b50516001600160a01b03161415610426576040805162461bcd60e51b81526020600482015260146024820152734552525f494e56414c49445f524547495354525960601b604482015290519081900360640190fd5b60028054600380546001600160a01b038084166001600160a01b0319928316179092559091169216919091179055565b6003546001600160a01b031681565b6001546001600160a01b031633146104b8576040805162461bcd60e51b815260206004820152601160248201527011549497d050d0d154d4d7d11153925151607a1b604482015290519081900360640190fd5b600154600080546040516001600160a01b0393841693909116917f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a91a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b031681565b6000546001600160a01b031681565b6105483361ffff831661059f565b50565b6105536109f5565b600354600280546001600160a01b0319166001600160a01b03909216919091179055565b6004546001600160a01b031681565b610548338261059f565b6001546001600160a01b031681565b60008290506000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105df57600080fd5b505afa1580156105f3573d6000803e3d6000fd5b505050506040513d602081101561060957600080fd5b5051905061061682610aca565b600061062183610b56565b905061062d8382610e56565b6106378382611175565b610641838261124a565b6000836001600160a01b031663fc0c546a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561067c57600080fd5b505afa158015610690573d6000803e3d6000fd5b505050506040513d60208110156106a657600080fd5b5051905060006106b585611641565b80156107225750846001600160a01b03166322f3e2d46040518163ffffffff1660e01b815260040160206040518083038186803b1580156106f557600080fd5b505afa158015610709573d6000803e3d6000fd5b505050506040513d602081101561071f57600080fd5b50515b9050846001600160a01b0316826001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561076757600080fd5b505afa15801561077b573d6000803e3d6000fd5b505050506040513d602081101561079157600080fd5b50516001600160a01b0316141561085d57846001600160a01b03166321e6b53d846040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156107f157600080fd5b50
|
||
|
"immutableReferences": {},
|
||
|
"sourceMap": "1251:11574:12:-:0;;;2216:150;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2216:150:12;;;;;;;619:5:57;:18;;-1:-1:-1;;;;;;619:18:57;627:10;619:18;;;2216:150:12;;594:23:64;2216:150:12;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;::::0;;;2334:10:12::1;:24:::0;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;-1:-1:-1;1251:11574:12;;692:128:64;-1:-1:-1;;;;;766:22:64;;758:54;;;;;-1:-1:-1;;;758:54:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;692:128;:::o;1251:11574:12:-;;;;;;;",
|
||
|
"deployedSourceMap": "1251:11574:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3655:224:56;;;;;;;;;;;;;;;;-1:-1:-1;3655:224:56;;;;:::i;:::-;;1333:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;2300:925;;;:::i;1243:37::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1243:37:56;;;;;;;;;;;;;;1422:217:57;;;:::i;1154:33:56:-;;;:::i;219:29:57:-;;;:::i;3336:131:12:-;;;;;;;;;;;;;;;;-1:-1:-1;3336:131:12;;;;:::i;3304:137:56:-;;;:::i;1444:29:12:-;;;:::i;2794:114::-;;;;;;;;;;;;;;;;-1:-1:-1;2794:114:12;;:::i;255:23:57:-;;;:::i;3916:1113:12:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3916:1113:12;;;;;;;;:::i;1164:167:57:-;;;;;;;;;;;;;;;;-1:-1:-1;1164:167:57;-1:-1:-1;;;;;1164:167:57;;:::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;1333:38::-;;;-1:-1:-1;;;1333:38:56;;;;;:::o;2300:925::-;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;1243:37::-;;;-1:-1:-1;;;;;1243:37:56;;:::o;1422:217:57:-;1498:8;;-1:-1:-1;;;;;1498:8:57;1484:10;:22;1476:52;;;;;-1:-1:-1;;;1476:52:57;;;;;;;;;;;;-1:-1:-1;;;1476:52:57;;;;;;;;;;;;;;;1563:8;;;1556:5;;1544:28;;-1:-1:-1;;;;;1563:8:57;;;;1556:5;;;;1544:28;;;1591:8;;;;1583:16;;-1:-1:-1;;;;;;1583:16:57;;;-1:-1:-1;;;;;1591:8:57;;1583:16;;;;1610:21;;;1422:217::o;1154:33:56:-;;;-1:-1:-1;;;;;1154:33:56;;:::o;219:29:57:-;;;-1:-1:-1;;;;;219:29:57;;:::o;3336:131:12:-;3397:62;3419:10;3440:17;;;3397:10;:62::i;:::-;3336:131;:::o;3304:137:56:-;726:12:57;:10;:12::i;:::-;3421::56::1;::::0;3410:8:::1;:23:::0;;-1:-1:-1;;;;;;3410:23:56::1;-1:-1:-1::0;;;;;3421:12:56;;::::1;3410:23:::0;;;::::1;::::0;;3304:137::o;1444:29:12:-;;;-1:-1:-1;;;;;1444:29:12;;:::o;2794:114::-;2856:44;2878:10;2891:8;2856:10;:44::i;255:23:57:-;;;-1:-1:-1;;;;;255:23:57;;:::o;3916:1113:12:-;4014:20;4048:10;4014:45;;4070:17;4090:9;-1:-1:-1;;;;;4090:15:12;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4090:17:12;;-1:-1:-1;4118:35:12;4143:9;4118:24;:35::i;:::-;4164:23;4190:26;4206:9;4190:15;:26::i;:::-;4164:52;;4227:37;4240:9;4251:12;4227;:37::i;:::-;4275:42;4293:9;4304:12;4275:17;:42::i;:::-;4328:48;4352:9;4363:12;4328:23;:48::i;:::-;4387:23;4413:9;-1:-1:-1;;;;;4413:15:12;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4413:17:12;;-1:-1:-1;4511:13:12;4527:33;4550:9;4527:22;:33::i;:::-;:57;;;;;4564:9;-1:-1:-1;;;;;4564:18:12;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4564:20:12;4527:57;4511:73;;4627:9;-1:-1:-1;;;;;4601:36:12;:6;-1:-1:-1;;;;;4601:12:12;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4601:14:12;-1:-1:-1;;;;;4601:36:12;;4597:175;;;4654:9;-1:-1:-1;;;;;4654:32:12;;4695:12;4654:55;;;;;;;;;;;;;-1:-1:-1;;;;;4654:55:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4724:12;-1:-1:-1;;;;;4724:34:12;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4597:175;4784:57;4807:9;4818:12;4832:8;4784:22;:57::i;:::-;4854:9;-1:-1:-1;;;;;4854:27:12;;4882:9;4854:38;;;;;;;;;;;;;-1:-1:-1;;;;;4854:38:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4903:12;-1:-1:-1;;;;;4903:30:12;;4934:9;4903:41;;;;;;;;;;;;;-1:-1:-1;;;;;4903:41:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4962:59:12;;-1:-1:-1;;;;;4962:59:12;;;;-1:-1:-1;4962:59:12;;;-1:
|
||
|
"source": "// SPDX-License-Identifier: SEE LICENSE IN LICENSE\r\npragma solidity 0.6.12;\r\nimport \"./interfaces/IConverter.sol\";\r\nimport \"./interfaces/IConverterUpgrader.sol\";\r\nimport \"./interfaces/IConverterFactory.sol\";\r\nimport \"../utility/ContractRegistryClient.sol\";\r\nimport \"../utility/interfaces/IWhitelist.sol\";\r\nimport \"../token/interfaces/IEtherToken.sol\";\r\nimport \"./types/liquidity-pool-v2/interfaces/ILiquidityPoolV2Converter.sol\";\r\n\r\n/**\r\n * @dev Converter Upgrader\r\n *\r\n * The converter upgrader contract allows upgrading an older converter contract (0.4 and up)\r\n * to the latest version.\r\n * To begin the upgrade process, simply execute the 'upgrade' function.\r\n * At the end of the process, the ownership of the newly upgraded converter will be transferred\r\n * back to the original owner and the original owner will need to execute the 'acceptOwnership' function.\r\n *\r\n * The address of the new converter is available in the ConverterUpgrade event.\r\n *\r\n * Note that for older converters that don't yet have the 'upgrade' function, ownership should first\r\n * be transferred manually to the ConverterUpgrader contract using the 'transferOwnership' function\r\n * and then the upgrader 'upgrade' function should be executed directly.\r\n*/\r\ncontract ConverterUpgrader is IConverterUpgrader, ContractRegistryClient {\r\n IERC20Token private constant ETH_RESERVE_ADDRESS = IERC20Token(0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE);\r\n IEtherToken public etherToken;\r\n\r\n /**\r\n * @dev triggered when the contract accept a converter ownership\r\n *\r\n * @param _converter converter address\r\n * @param _owner new owner - local upgrader address\r\n */\r\n event ConverterOwned(IConverter indexed _converter, address indexed _owner);\r\n\r\n /**\r\n * @dev triggered when the upgrading process is done\r\n *\r\n * @param _oldConverter old converter address\r\n * @param _newConverter new converter address\r\n */\r\n event ConverterUpgrade(address indexed _oldConverter, address indexed _newConverter);\r\n\r\n /**\r\n * @dev initializes a new ConverterUpgrader instance\r\n *\r\n * @param _registry address of a contract registry contract\r\n */\r\n constructor(IContractRegistry _registry, IEtherToken _etherToken) ContractRegistryClient(_registry) public {\r\n etherToken = _etherToken;\r\n }\r\n\r\n /**\r\n * @dev upgrades an old converter to the latest version\r\n * will throw if ownership wasn't transferred to the upgrader before calling this function.\r\n * ownership of the new converter will be transferred back to the original owner.\r\n * fires the ConverterUpgrade event upon success.\r\n * can only be called by a converter\r\n *\r\n * @param _version old converter version\r\n */\r\n function upgrade(bytes32 _version) public override {\r\n upgradeOld(IConverter(msg.sender), _version);\r\n }\r\n\r\n /**\r\n * @dev upgrades an old converter to the latest version\r\n * will throw if ownership wasn't transferred to the upgrader before calling this function.\r\n * ownership of the new converter will be transferred back to the original owner.\r\n * fires the ConverterUpgrade event upon success.\r\n * can only be called by a converter\r\n *\r\n * @param _version old converter version\r\n */\r\n function upgrade(uint16 _version) public override {\r\n upgradeOld(IConverter(msg.sender), bytes32(uint256(_version)));\r\n }\r\n\r\n /**\r\n * @dev upgrades an old converter to the latest version\r\n * will throw if ownership wasn't transferred to the upgrader before calling this function.\r\n * ownership of the new converter will be transferred back to the original owner.\r\n * fires the ConverterUpgrade event upon success.\r\n *\r\n * @param _converter old converter contract address\r\n * @param _version old converter
|
||
|
"sourcePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/ConverterUpgrader.sol",
|
||
|
"ast": {
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/ConverterUpgrader.sol",
|
||
|
"exportedSymbols": {
|
||
|
"ConverterUpgrader": [
|
||
|
13009
|
||
|
]
|
||
|
},
|
||
|
"id": 13010,
|
||
|
"license": "SEE LICENSE IN LICENSE",
|
||
|
"nodeType": "SourceUnit",
|
||
|
"nodes": [
|
||
|
{
|
||
|
"id": 12326,
|
||
|
"literals": [
|
||
|
"solidity",
|
||
|
"0.6",
|
||
|
".12"
|
||
|
],
|
||
|
"nodeType": "PragmaDirective",
|
||
|
"src": "52:23:12"
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/interfaces/IConverter.sol",
|
||
|
"file": "./interfaces/IConverter.sol",
|
||
|
"id": 12327,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 13010,
|
||
|
"sourceUnit": 13341,
|
||
|
"src": "77:37:12",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/interfaces/IConverterUpgrader.sol",
|
||
|
"file": "./interfaces/IConverterUpgrader.sol",
|
||
|
"id": 12328,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 13010,
|
||
|
"sourceUnit": 13661,
|
||
|
"src": "116:45:12",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/interfaces/IConverterFactory.sol",
|
||
|
"file": "./interfaces/IConverterFactory.sol",
|
||
|
"id": 12329,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 13010,
|
||
|
"sourceUnit": 13390,
|
||
|
"src": "163:44:12",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/ContractRegistryClient.sol",
|
||
|
"file": "../utility/ContractRegistryClient.sol",
|
||
|
"id": 12330,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 13010,
|
||
|
"sourceUnit": 21720,
|
||
|
"src": "209:47:12",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/interfaces/IWhitelist.sol",
|
||
|
"file": "../utility/interfaces/IWhitelist.sol",
|
||
|
"id": 12331,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 13010,
|
||
|
"sourceUnit": 22918,
|
||
|
"src": "258:46:12",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/token/interfaces/IEtherToken.sol",
|
||
|
"file": "../token/interfaces/IEtherToken.sol",
|
||
|
"id": 12332,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 13010,
|
||
|
"sourceUnit": 21154,
|
||
|
"src": "306:45:12",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/types/liquidity-pool-v2/interfaces/ILiquidityPoolV2Converter.sol",
|
||
|
"file": "./types/liquidity-pool-v2/interfaces/ILiquidityPoolV2Converter.sol",
|
||
|
"id": 12333,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 13010,
|
||
|
"sourceUnit": 18766,
|
||
|
"src": "353:76:12",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"abstract": false,
|
||
|
"baseContracts": [
|
||
|
{
|
||
|
"arguments": null,
|
||
|
"baseName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12335,
|
||
|
"name": "IConverterUpgrader",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13660,
|
||
|
"src": "1281:18:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterUpgrader_$13660",
|
||
|
"typeString": "contract IConverterUpgrader"
|
||
|
}
|
||
|
},
|
||
|
"id": 12336,
|
||
|
"nodeType": "InheritanceSpecifier",
|
||
|
"src": "1281:18:12"
|
||
|
},
|
||
|
{
|
||
|
"arguments": null,
|
||
|
"baseName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12337,
|
||
|
"name": "ContractRegistryClient",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21719,
|
||
|
"src": "1301:22:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ContractRegistryClient_$21719",
|
||
|
"typeString": "contract ContractRegistryClient"
|
||
|
}
|
||
|
},
|
||
|
"id": 12338,
|
||
|
"nodeType": "InheritanceSpecifier",
|
||
|
"src": "1301:22:12"
|
||
|
}
|
||
|
],
|
||
|
"contractDependencies": [
|
||
|
13660,
|
||
|
21719,
|
||
|
21818,
|
||
|
22661,
|
||
|
22847
|
||
|
],
|
||
|
"contractKind": "contract",
|
||
|
"documentation": {
|
||
|
"id": 12334,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "433:816:12",
|
||
|
"text": " @dev Converter Upgrader\n The converter upgrader contract allows upgrading an older converter contract (0.4 and up)\n to the latest version.\n To begin the upgrade process, simply execute the 'upgrade' function.\n At the end of the process, the ownership of the newly upgraded converter will be transferred\n back to the original owner and the original owner will need to execute the 'acceptOwnership' function.\n The address of the new converter is available in the ConverterUpgrade event.\n Note that for older converters that don't yet have the 'upgrade' function, ownership should first\n be transferred manually to the ConverterUpgrader contract using the 'transferOwnership' function\n and then the upgrader 'upgrade' function should be executed directly."
|
||
|
},
|
||
|
"fullyImplemented": true,
|
||
|
"id": 13009,
|
||
|
"linearizedBaseContracts": [
|
||
|
13009,
|
||
|
21719,
|
||
|
22661,
|
||
|
21818,
|
||
|
22847,
|
||
|
13660
|
||
|
],
|
||
|
"name": "ConverterUpgrader",
|
||
|
"nodeType": "ContractDefinition",
|
||
|
"nodes": [
|
||
|
{
|
||
|
"constant": true,
|
||
|
"id": 12343,
|
||
|
"mutability": "constant",
|
||
|
"name": "ETH_RESERVE_ADDRESS",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 13009,
|
||
|
"src": "1331:106:12",
|
||
|
"stateVariable": true,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12339,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "1331:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "307845656565654565656545654565654565456545656545454565656565456565656565656545456545",
|
||
|
"id": 12341,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "1394:42:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
"value": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"id": 12340,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "1382:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IERC20Token_$21127_$",
|
||
|
"typeString": "type(contract IERC20Token)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12342,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "1382:55:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"functionSelector": "b8066bcb",
|
||
|
"id": 12345,
|
||
|
"mutability": "mutable",
|
||
|
"name": "etherToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 13009,
|
||
|
"src": "1444:29:12",
|
||
|
"stateVariable": true,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12344,
|
||
|
"name": "IEtherToken",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21153,
|
||
|
"src": "1444:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"documentation": {
|
||
|
"id": 12346,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "1482:202:12",
|
||
|
"text": " @dev triggered when the contract accept a converter ownership\n @param _converter converter address\n @param _owner new owner - local upgrader address"
|
||
|
},
|
||
|
"id": 12352,
|
||
|
"name": "ConverterOwned",
|
||
|
"nodeType": "EventDefinition",
|
||
|
"parameters": {
|
||
|
"id": 12351,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12348,
|
||
|
"indexed": true,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_converter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12352,
|
||
|
"src": "1711:29:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12347,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "1711:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12350,
|
||
|
"indexed": true,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_owner",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12352,
|
||
|
"src": "1742:22:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12349,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1742:7:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "1710:55:12"
|
||
|
},
|
||
|
"src": "1690:76:12"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"documentation": {
|
||
|
"id": 12353,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "1774:189:12",
|
||
|
"text": " @dev triggered when the upgrading process is done\n @param _oldConverter old converter address\n @param _newConverter new converter address"
|
||
|
},
|
||
|
"id": 12359,
|
||
|
"name": "ConverterUpgrade",
|
||
|
"nodeType": "EventDefinition",
|
||
|
"parameters": {
|
||
|
"id": 12358,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12355,
|
||
|
"indexed": true,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12359,
|
||
|
"src": "1992:29:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12354,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1992:7:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12357,
|
||
|
"indexed": true,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12359,
|
||
|
"src": "2023:29:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12356,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2023:7:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "1991:62:12"
|
||
|
},
|
||
|
"src": "1969:85:12"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12374,
|
||
|
"nodeType": "Block",
|
||
|
"src": "2323:43:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12372,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12370,
|
||
|
"name": "etherToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12345,
|
||
|
"src": "2334:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12371,
|
||
|
"name": "_etherToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12364,
|
||
|
"src": "2347:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"src": "2334:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"id": 12373,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "2334:24:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12360,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "2062:148:12",
|
||
|
"text": " @dev initializes a new ConverterUpgrader instance\n @param _registry address of a contract registry contract"
|
||
|
},
|
||
|
"id": 12375,
|
||
|
"implemented": true,
|
||
|
"kind": "constructor",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12367,
|
||
|
"name": "_registry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12362,
|
||
|
"src": "2305:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
||
|
"typeString": "contract IContractRegistry"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 12368,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12366,
|
||
|
"name": "ContractRegistryClient",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21719,
|
||
|
"src": "2282:22:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_ContractRegistryClient_$21719_$",
|
||
|
"typeString": "type(contract ContractRegistryClient)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "2282:33:12"
|
||
|
}
|
||
|
],
|
||
|
"name": "",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12365,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12362,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_registry",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12375,
|
||
|
"src": "2228:27:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
||
|
"typeString": "contract IContractRegistry"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12361,
|
||
|
"name": "IContractRegistry",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 22831,
|
||
|
"src": "2228:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
||
|
"typeString": "contract IContractRegistry"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12364,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_etherToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12375,
|
||
|
"src": "2257:23:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12363,
|
||
|
"name": "IEtherToken",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21153,
|
||
|
"src": "2257:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "2227:54:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12369,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "2323:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "2216:150:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13654
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12390,
|
||
|
"nodeType": "Block",
|
||
|
"src": "2845:63:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12384,
|
||
|
"name": "msg",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -15,
|
||
|
"src": "2878:3:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_magic_message",
|
||
|
"typeString": "msg"
|
||
|
}
|
||
|
},
|
||
|
"id": 12385,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "sender",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "2878:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"id": 12383,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "2867:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IConverter_$13340_$",
|
||
|
"typeString": "type(contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12386,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2867:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12387,
|
||
|
"name": "_version",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12378,
|
||
|
"src": "2891:8:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
],
|
||
|
"id": 12382,
|
||
|
"name": "upgradeOld",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12530,
|
||
|
"src": "2856:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IConverter_$13340_$_t_bytes32_$returns$__$",
|
||
|
"typeString": "function (contract IConverter,bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12388,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2856:44:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12389,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "2856:44:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12376,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "2374:414:12",
|
||
|
"text": " @dev upgrades an old converter to the latest version\n will throw if ownership wasn't transferred to the upgrader before calling this function.\n ownership of the new converter will be transferred back to the original owner.\n fires the ConverterUpgrade event upon success.\n can only be called by a converter\n @param _version old converter version"
|
||
|
},
|
||
|
"functionSelector": "bc444e13",
|
||
|
"id": 12391,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "upgrade",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12380,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "2836:8:12"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12379,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12378,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_version",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12391,
|
||
|
"src": "2811:16:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12377,
|
||
|
"name": "bytes32",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2811:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "2810:18:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12381,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "2845:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "2794:114:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13659
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12412,
|
||
|
"nodeType": "Block",
|
||
|
"src": "3386:81:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12400,
|
||
|
"name": "msg",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -15,
|
||
|
"src": "3419:3:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_magic_message",
|
||
|
"typeString": "msg"
|
||
|
}
|
||
|
},
|
||
|
"id": 12401,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "sender",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3419:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"id": 12399,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "3408:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IConverter_$13340_$",
|
||
|
"typeString": "type(contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12402,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3408:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12407,
|
||
|
"name": "_version",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12394,
|
||
|
"src": "3448:8:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
],
|
||
|
"id": 12406,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "3440:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_uint256_$",
|
||
|
"typeString": "type(uint256)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12405,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3440:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12408,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3440:17:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"id": 12404,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "3432:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
||
|
"typeString": "type(bytes32)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12403,
|
||
|
"name": "bytes32",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3432:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12409,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3432:26:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
],
|
||
|
"id": 12398,
|
||
|
"name": "upgradeOld",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12530,
|
||
|
"src": "3397:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IConverter_$13340_$_t_bytes32_$returns$__$",
|
||
|
"typeString": "function (contract IConverter,bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12410,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3397:62:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12411,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3397:62:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12392,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "2916:414:12",
|
||
|
"text": " @dev upgrades an old converter to the latest version\n will throw if ownership wasn't transferred to the upgrader before calling this function.\n ownership of the new converter will be transferred back to the original owner.\n fires the ConverterUpgrade event upon success.\n can only be called by a converter\n @param _version old converter version"
|
||
|
},
|
||
|
"functionSelector": "90f58c96",
|
||
|
"id": 12413,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "upgrade",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12396,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "3377:8:12"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12395,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12394,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_version",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12413,
|
||
|
"src": "3353:15:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12393,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3353:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "3352:17:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12397,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "3386:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "3336:131:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12529,
|
||
|
"nodeType": "Block",
|
||
|
"src": "3984:1045:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12421,
|
||
|
"name": "_version",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12418,
|
||
|
"src": "3995:8:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
},
|
||
|
"id": 12422,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3995:8:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12424
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12424,
|
||
|
"mutability": "mutable",
|
||
|
"name": "converter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12529,
|
||
|
"src": "4014:20:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12423,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "4014:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12428,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12426,
|
||
|
"name": "_converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12416,
|
||
|
"src": "4048:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12425,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "4037:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IConverter_$13340_$",
|
||
|
"typeString": "type(contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12427,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4037:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "4014:45:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12430
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12430,
|
||
|
"mutability": "mutable",
|
||
|
"name": "prevOwner",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12529,
|
||
|
"src": "4070:17:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12429,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4070:7:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12434,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12431,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4090:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12432,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "owner",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 22838,
|
||
|
"src": "4090:15:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
|
||
|
"typeString": "function () view external returns (address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12433,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4090:17:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "4070:37:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12436,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4143:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12435,
|
||
|
"name": "acceptConverterOwnership",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12550,
|
||
|
"src": "4118:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IConverter_$13340_$returns$__$",
|
||
|
"typeString": "function (contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12437,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4118:35:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12438,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4118:35:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12440
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12440,
|
||
|
"mutability": "mutable",
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12529,
|
||
|
"src": "4164:23:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12439,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "4164:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12444,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12442,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4206:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12441,
|
||
|
"name": "createConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12624,
|
||
|
"src": "4190:15:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IConverter_$13340_$returns$_t_contract$_IConverter_$13340_$",
|
||
|
"typeString": "function (contract IConverter) returns (contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12443,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4190:26:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "4164:52:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12446,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4240:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12447,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12440,
|
||
|
"src": "4251:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12445,
|
||
|
"name": "copyReserves",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12697,
|
||
|
"src": "4227:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IConverter_$13340_$_t_contract$_IConverter_$13340_$returns$__$",
|
||
|
"typeString": "function (contract IConverter,contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12448,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4227:37:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12449,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4227:37:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12451,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4293:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12452,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12440,
|
||
|
"src": "4304:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12450,
|
||
|
"name": "copyConversionFee",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12718,
|
||
|
"src": "4275:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IConverter_$13340_$_t_contract$_IConverter_$13340_$returns$__$",
|
||
|
"typeString": "function (contract IConverter,contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12453,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4275:42:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12454,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4275:42:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12456,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4352:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12457,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12440,
|
||
|
"src": "4363:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12455,
|
||
|
"name": "transferReserveBalances",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12831,
|
||
|
"src": "4328:23:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IConverter_$13340_$_t_contract$_IConverter_$13340_$returns$__$",
|
||
|
"typeString": "function (contract IConverter,contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12458,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4328:48:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12459,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4328:48:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12461
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12461,
|
||
|
"mutability": "mutable",
|
||
|
"name": "anchor",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12529,
|
||
|
"src": "4387:23:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12460,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "4387:16:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12465,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12462,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4413:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12463,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "token",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13297,
|
||
|
"src": "4413:15:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IConverterAnchor_$13349_$",
|
||
|
"typeString": "function () view external returns (contract IConverterAnchor)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12464,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4413:17:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "4387:43:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12467
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12467,
|
||
|
"mutability": "mutable",
|
||
|
"name": "activate",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12529,
|
||
|
"src": "4511:13:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12466,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4511:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12475,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"id": 12474,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12469,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4550:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12468,
|
||
|
"name": "isV28OrHigherConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13008,
|
||
|
"src": "4527:22:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_view$_t_contract$_IConverter_$13340_$returns$_t_bool_$",
|
||
|
"typeString": "function (contract IConverter) view returns (bool)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12470,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4527:33:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "&&",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12471,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4564:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12472,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "isActive",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13200,
|
||
|
"src": "4564:18:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
|
||
|
"typeString": "function () view external returns (bool)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12473,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4564:20:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"src": "4527:57:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "4511:73:12"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"id": 12483,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12476,
|
||
|
"name": "anchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12461,
|
||
|
"src": "4601:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"id": 12477,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "owner",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 22838,
|
||
|
"src": "4601:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
|
||
|
"typeString": "function () view external returns (address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12478,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4601:14:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12481,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4627:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12480,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "4619:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12479,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4619:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12482,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4619:18:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
"src": "4601:36:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 12499,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "4597:175:12",
|
||
|
"trueBody": {
|
||
|
"id": 12498,
|
||
|
"nodeType": "Block",
|
||
|
"src": "4639:133:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12489,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12440,
|
||
|
"src": "4695:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12488,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "4687:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12487,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4687:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12490,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4687:21:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12484,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4654:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12486,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "transferTokenOwnership",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13302,
|
||
|
"src": "4654:32:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
|
||
|
"typeString": "function (address) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12491,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4654:55:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12492,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4654:55:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12493,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12440,
|
||
|
"src": "4724:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12495,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "acceptAnchorOwnership",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13261,
|
||
|
"src": "4724:34:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
|
||
|
"typeString": "function () external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12496,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4724:36:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12497,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4724:36:12"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12501,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4807:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12502,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12440,
|
||
|
"src": "4818:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12503,
|
||
|
"name": "activate",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12467,
|
||
|
"src": "4832:8:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
],
|
||
|
"id": 12500,
|
||
|
"name": "handleTypeSpecificData",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12953,
|
||
|
"src": "4784:22:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IConverter_$13340_$_t_contract$_IConverter_$13340_$_t_bool_$returns$__$",
|
||
|
"typeString": "function (contract IConverter,contract IConverter,bool)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12504,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4784:57:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12505,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4784:57:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12509,
|
||
|
"name": "prevOwner",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12430,
|
||
|
"src": "4882:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12506,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4854:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12508,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "transferOwnership",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 22843,
|
||
|
"src": "4854:27:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
|
||
|
"typeString": "function (address) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12510,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4854:38:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12511,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4854:38:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12515,
|
||
|
"name": "prevOwner",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12430,
|
||
|
"src": "4934:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12512,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12440,
|
||
|
"src": "4903:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12514,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "transferOwnership",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 22843,
|
||
|
"src": "4903:30:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
|
||
|
"typeString": "function (address) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12516,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4903:41:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12517,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4903:41:12"
|
||
|
},
|
||
|
{
|
||
|
"eventCall": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12521,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4987:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12520,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "4979:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12519,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4979:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12522,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4979:18:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12525,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12440,
|
||
|
"src": "5007:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12524,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "4999:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12523,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4999:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12526,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4999:21:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"id": 12518,
|
||
|
"name": "ConverterUpgrade",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12359,
|
||
|
"src": "4962:16:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$",
|
||
|
"typeString": "function (address,address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12527,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4962:59:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12528,
|
||
|
"nodeType": "EmitStatement",
|
||
|
"src": "4957:64:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12414,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "3475:435:12",
|
||
|
"text": " @dev upgrades an old converter to the latest version\n will throw if ownership wasn't transferred to the upgrader before calling this function.\n ownership of the new converter will be transferred back to the original owner.\n fires the ConverterUpgrade event upon success.\n @param _converter old converter contract address\n @param _version old converter version"
|
||
|
},
|
||
|
"functionSelector": "f2cfed87",
|
||
|
"id": 12530,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "upgradeOld",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12419,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12416,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_converter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12530,
|
||
|
"src": "3936:21:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12415,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "3936:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12418,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_version",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12530,
|
||
|
"src": "3959:16:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12417,
|
||
|
"name": "bytes32",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3959:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "3935:41:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12420,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "3984:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "3916:1113:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12549,
|
||
|
"nodeType": "Block",
|
||
|
"src": "5484:110:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12536,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12533,
|
||
|
"src": "5495:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12538,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "acceptOwnership",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 22846,
|
||
|
"src": "5495:29:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
|
||
|
"typeString": "function () external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12539,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "5495:31:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12540,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "5495:31:12"
|
||
|
},
|
||
|
{
|
||
|
"eventCall": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12542,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12533,
|
||
|
"src": "5557:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12545,
|
||
|
"name": "this",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -28,
|
||
|
"src": "5580:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ConverterUpgrader_$13009",
|
||
|
"typeString": "contract ConverterUpgrader"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_ConverterUpgrader_$13009",
|
||
|
"typeString": "contract ConverterUpgrader"
|
||
|
}
|
||
|
],
|
||
|
"id": 12544,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "5572:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12543,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "5572:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12546,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "5572:13:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 12541,
|
||
|
"name": "ConverterOwned",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12352,
|
||
|
"src": "5542:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_event_nonpayable$_t_contract$_IConverter_$13340_$_t_address_$returns$__$",
|
||
|
"typeString": "function (contract IConverter,address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12547,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "5542:44:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12548,
|
||
|
"nodeType": "EmitStatement",
|
||
|
"src": "5537:49:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12531,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "5037:373:12",
|
||
|
"text": " @dev the first step when upgrading a converter is to transfer the ownership to the local contract.\n the upgrader contract then needs to accept the ownership transfer before initiating\n the upgrade process.\n fires the ConverterOwned event upon success\n @param _oldConverter converter to accept ownership of"
|
||
|
},
|
||
|
"id": 12550,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "acceptConverterOwnership",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12534,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12533,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12550,
|
||
|
"src": "5450:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12532,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "5450:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5449:26:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12535,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "5484:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "5416:178:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12623,
|
||
|
"nodeType": "Block",
|
||
|
"src": "6010:912:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12559
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12559,
|
||
|
"mutability": "mutable",
|
||
|
"name": "anchor",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12623,
|
||
|
"src": "6021:23:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12558,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "6021:16:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12563,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12560,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12553,
|
||
|
"src": "6047:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12561,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "token",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13297,
|
||
|
"src": "6047:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IConverterAnchor_$13349_$",
|
||
|
"typeString": "function () view external returns (contract IConverterAnchor)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12562,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6047:21:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "6021:47:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12565
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12565,
|
||
|
"mutability": "mutable",
|
||
|
"name": "maxConversionFee",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12623,
|
||
|
"src": "6079:23:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12564,
|
||
|
"name": "uint32",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "6079:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12569,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12566,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12553,
|
||
|
"src": "6105:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12567,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "maxConversionFee",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13243,
|
||
|
"src": "6105:30:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_uint32_$",
|
||
|
"typeString": "function () view external returns (uint32)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12568,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6105:32:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "6079:58:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12571
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12571,
|
||
|
"mutability": "mutable",
|
||
|
"name": "reserveTokenCount",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12623,
|
||
|
"src": "6148:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12570,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "6148:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12575,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12572,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12553,
|
||
|
"src": "6175:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12573,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "connectorTokenCount",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13339,
|
||
|
"src": "6175:33:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_uint16_$",
|
||
|
"typeString": "function () view external returns (uint16)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12574,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6175:35:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "6148:62:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12577
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12577,
|
||
|
"mutability": "mutable",
|
||
|
"name": "newType",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12623,
|
||
|
"src": "6264:14:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12576,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "6264:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12579,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 12578,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "6281:1:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "6264:18:12"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12581,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12553,
|
||
|
"src": "6387:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12580,
|
||
|
"name": "isV28OrHigherConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13008,
|
||
|
"src": "6364:22:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_view$_t_contract$_IConverter_$13340_$returns$_t_bool_$",
|
||
|
"typeString": "function (contract IConverter) view returns (bool)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12582,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6364:37:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": {
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"id": 12591,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12589,
|
||
|
"name": "reserveTokenCount",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12571,
|
||
|
"src": "6592:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": ">",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "31",
|
||
|
"id": 12590,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "6612:1:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_1_by_1",
|
||
|
"typeString": "int_const 1"
|
||
|
},
|
||
|
"value": "1"
|
||
|
},
|
||
|
"src": "6592:21:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 12596,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "6588:51:12",
|
||
|
"trueBody": {
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12594,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12592,
|
||
|
"name": "newType",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12577,
|
||
|
"src": "6628:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "31",
|
||
|
"id": 12593,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "6638:1:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_1_by_1",
|
||
|
"typeString": "int_const 1"
|
||
|
},
|
||
|
"value": "1"
|
||
|
},
|
||
|
"src": "6628:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"id": 12595,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "6628:11:12"
|
||
|
}
|
||
|
},
|
||
|
"id": 12597,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "6360:279:12",
|
||
|
"trueBody": {
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12587,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12583,
|
||
|
"name": "newType",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12577,
|
||
|
"src": "6416:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12584,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12553,
|
||
|
"src": "6426:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12585,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "converterType",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13190,
|
||
|
"src": "6426:27:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_pure$__$returns$_t_uint16_$",
|
||
|
"typeString": "function () pure external returns (uint16)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12586,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6426:29:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"src": "6416:39:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"id": 12588,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "6416:39:12"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12599
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12599,
|
||
|
"mutability": "mutable",
|
||
|
"name": "converterFactory",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12623,
|
||
|
"src": "6652:34:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterFactory_$13389",
|
||
|
"typeString": "contract IConverterFactory"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12598,
|
||
|
"name": "IConverterFactory",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13389,
|
||
|
"src": "6652:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterFactory_$13389",
|
||
|
"typeString": "contract IConverterFactory"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12605,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12602,
|
||
|
"name": "CONVERTER_FACTORY",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21536,
|
||
|
"src": "6717:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
],
|
||
|
"id": 12601,
|
||
|
"name": "addressOf",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21718,
|
||
|
"src": "6707:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
|
||
|
"typeString": "function (bytes32) view returns (address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12603,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6707:28:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 12600,
|
||
|
"name": "IConverterFactory",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13389,
|
||
|
"src": "6689:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IConverterFactory_$13389_$",
|
||
|
"typeString": "type(contract IConverterFactory)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12604,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6689:47:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterFactory_$13389",
|
||
|
"typeString": "contract IConverterFactory"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "6652:84:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12607
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12607,
|
||
|
"mutability": "mutable",
|
||
|
"name": "converter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12623,
|
||
|
"src": "6747:20:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12606,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "6747:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12615,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12610,
|
||
|
"name": "newType",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12577,
|
||
|
"src": "6803:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12611,
|
||
|
"name": "anchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12559,
|
||
|
"src": "6812:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12612,
|
||
|
"name": "registry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21562,
|
||
|
"src": "6820:8:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
||
|
"typeString": "contract IContractRegistry"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12613,
|
||
|
"name": "maxConversionFee",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12565,
|
||
|
"src": "6830:16:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
||
|
"typeString": "contract IContractRegistry"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12608,
|
||
|
"name": "converterFactory",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12599,
|
||
|
"src": "6770:16:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterFactory_$13389",
|
||
|
"typeString": "contract IConverterFactory"
|
||
|
}
|
||
|
},
|
||
|
"id": 12609,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "createConverter",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13381,
|
||
|
"src": "6770:32:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_uint16_$_t_contract$_IConverterAnchor_$13349_$_t_contract$_IContractRegistry_$22831_$_t_uint32_$returns$_t_contract$_IConverter_$13340_$",
|
||
|
"typeString": "function (uint16,contract IConverterAnchor,contract IContractRegistry,uint32) external returns (contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12614,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6770:77:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "6747:100:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12616,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12607,
|
||
|
"src": "6860:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12618,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "acceptOwnership",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 22846,
|
||
|
"src": "6860:25:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
|
||
|
"typeString": "function () external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12619,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6860:27:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12620,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "6860:27:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12621,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12607,
|
||
|
"src": "6905:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12557,
|
||
|
"id": 12622,
|
||
|
"nodeType": "Return",
|
||
|
"src": "6898:16:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12551,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "5602:322:12",
|
||
|
"text": " @dev creates a new converter with same basic data as the original old converter\n the newly created converter will have no reserves at this step.\n @param _oldConverter old converter contract address\n @return the new converter new converter contract address"
|
||
|
},
|
||
|
"id": 12624,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "createConverter",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12554,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12553,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12624,
|
||
|
"src": "5955:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12552,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "5955:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5954:26:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12557,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12556,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12624,
|
||
|
"src": "5998:10:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12555,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "5998:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5997:12:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "5930:992:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12696,
|
||
|
"nodeType": "Block",
|
||
|
"src": "7349:801:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12633
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12633,
|
||
|
"mutability": "mutable",
|
||
|
"name": "reserveTokenCount",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12696,
|
||
|
"src": "7360:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12632,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "7360:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12637,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12634,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12627,
|
||
|
"src": "7387:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12635,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "connectorTokenCount",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13339,
|
||
|
"src": "7387:33:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_uint16_$",
|
||
|
"typeString": "function () view external returns (uint16)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12636,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "7387:35:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "7360:62:12"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12694,
|
||
|
"nodeType": "Block",
|
||
|
"src": "7482:661:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12649
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12649,
|
||
|
"mutability": "mutable",
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12694,
|
||
|
"src": "7497:26:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12648,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "7497:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12654,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12652,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12639,
|
||
|
"src": "7556:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12650,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12627,
|
||
|
"src": "7526:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12651,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "connectorTokens",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13334,
|
||
|
"src": "7526:29:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_contract$_IERC20Token_$21127_$",
|
||
|
"typeString": "function (uint256) view external returns (contract IERC20Token)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12653,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "7526:32:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "7497:61:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
null,
|
||
|
12656,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
],
|
||
|
"declarations": [
|
||
|
null,
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12656,
|
||
|
"mutability": "mutable",
|
||
|
"name": "weight",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12694,
|
||
|
"src": "7576:13:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12655,
|
||
|
"name": "uint32",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "7576:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
],
|
||
|
"id": 12661,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12659,
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12649,
|
||
|
"src": "7624:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12657,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12627,
|
||
|
"src": "7599:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12658,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "connectors",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13320,
|
||
|
"src": "7599:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_contract$_IERC20Token_$21127_$returns$_t_uint256_$_t_uint32_$_t_bool_$_t_bool_$_t_bool_$",
|
||
|
"typeString": "function (contract IERC20Token) view external returns (uint256,uint32,bool,bool,bool)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12660,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "7599:40:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$_t_bool_$_t_bool_$_t_bool_$",
|
||
|
"typeString": "tuple(uint256,uint32,bool,bool,bool)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "7573:66:12"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"id": 12664,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12662,
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12649,
|
||
|
"src": "7690:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12663,
|
||
|
"name": "ETH_RESERVE_ADDRESS",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12343,
|
||
|
"src": "7708:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"src": "7690:37:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": {
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"id": 12675,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12673,
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12649,
|
||
|
"src": "7876:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12674,
|
||
|
"name": "etherToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12345,
|
||
|
"src": "7894:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"src": "7876:28:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": {
|
||
|
"id": 12691,
|
||
|
"nodeType": "Block",
|
||
|
"src": "8049:83:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12687,
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12649,
|
||
|
"src": "8093:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12688,
|
||
|
"name": "weight",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12656,
|
||
|
"src": "8109:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12684,
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12629,
|
||
|
"src": "8068:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12686,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "addReserve",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13292,
|
||
|
"src": "8068:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_IERC20Token_$21127_$_t_uint32_$returns$__$",
|
||
|
"typeString": "function (contract IERC20Token,uint32) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12689,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "8068:48:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12690,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "8068:48:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"id": 12692,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "7872:260:12",
|
||
|
"trueBody": {
|
||
|
"id": 12683,
|
||
|
"nodeType": "Block",
|
||
|
"src": "7906:88:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12679,
|
||
|
"name": "ETH_RESERVE_ADDRESS",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12343,
|
||
|
"src": "7950:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12680,
|
||
|
"name": "weight",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12656,
|
||
|
"src": "7971:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12676,
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12629,
|
||
|
"src": "7925:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12678,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "addReserve",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13292,
|
||
|
"src": "7925:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_IERC20Token_$21127_$_t_uint32_$returns$__$",
|
||
|
"typeString": "function (contract IERC20Token,uint32) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12681,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "7925:53:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12682,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "7925:53:12"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
"id": 12693,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "7686:446:12",
|
||
|
"trueBody": {
|
||
|
"id": 12672,
|
||
|
"nodeType": "Block",
|
||
|
"src": "7729:88:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12668,
|
||
|
"name": "ETH_RESERVE_ADDRESS",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12343,
|
||
|
"src": "7773:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12669,
|
||
|
"name": "weight",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12656,
|
||
|
"src": "7794:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12665,
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12629,
|
||
|
"src": "7748:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12667,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "addReserve",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13292,
|
||
|
"src": "7748:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_IERC20Token_$21127_$_t_uint32_$returns$__$",
|
||
|
"typeString": "function (contract IERC20Token,uint32) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12670,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "7748:53:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12671,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "7748:53:12"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"id": 12644,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12642,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12639,
|
||
|
"src": "7454:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "<",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12643,
|
||
|
"name": "reserveTokenCount",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12633,
|
||
|
"src": "7458:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"src": "7454:21:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"id": 12695,
|
||
|
"initializationExpression": {
|
||
|
"assignments": [
|
||
|
12639
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12639,
|
||
|
"mutability": "mutable",
|
||
|
"name": "i",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12695,
|
||
|
"src": "7440:8:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12638,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "7440:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12641,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 12640,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "7451:1:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "7440:12:12"
|
||
|
},
|
||
|
"loopExpression": {
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12646,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "++",
|
||
|
"prefix": false,
|
||
|
"src": "7477:3:12",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12645,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12639,
|
||
|
"src": "7477:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"id": 12647,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "7477:3:12"
|
||
|
},
|
||
|
"nodeType": "ForStatement",
|
||
|
"src": "7435:708:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12625,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "6930:331:12",
|
||
|
"text": " @dev copies the reserves from the old converter to the new one.\n note that this will not work for an unlimited number of reserves due to block gas limit constraints.\n @param _oldConverter old converter contract address\n @param _newConverter new converter contract address"
|
||
|
},
|
||
|
"id": 12697,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "copyReserves",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12630,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12627,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12697,
|
||
|
"src": "7289:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12626,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "7289:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12629,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12697,
|
||
|
"src": "7315:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12628,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "7315:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "7288:52:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12631,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "7349:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "7267:883:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12717,
|
||
|
"nodeType": "Block",
|
||
|
"src": "8477:127:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12706
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12706,
|
||
|
"mutability": "mutable",
|
||
|
"name": "conversionFee",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12717,
|
||
|
"src": "8488:20:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12705,
|
||
|
"name": "uint32",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "8488:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12710,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12707,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12700,
|
||
|
"src": "8511:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12708,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "conversionFee",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13238,
|
||
|
"src": "8511:27:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_uint32_$",
|
||
|
"typeString": "function () view external returns (uint32)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12709,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "8511:29:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "8488:52:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12714,
|
||
|
"name": "conversionFee",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12706,
|
||
|
"src": "8582:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12711,
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12702,
|
||
|
"src": "8551:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12713,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "setConversionFee",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13266,
|
||
|
"src": "8551:30:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_uint32_$returns$__$",
|
||
|
"typeString": "function (uint32) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12715,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "8551:45:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12716,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "8551:45:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12698,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "8158:226:12",
|
||
|
"text": " @dev copies the conversion fee from the old converter to the new one\n @param _oldConverter old converter contract address\n @param _newConverter new converter contract address"
|
||
|
},
|
||
|
"id": 12718,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "copyConversionFee",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12703,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12700,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12718,
|
||
|
"src": "8417:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12699,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "8417:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12702,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12718,
|
||
|
"src": "8443:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12701,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "8443:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "8416:52:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12704,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "8477:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "8390:214:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12830,
|
||
|
"nodeType": "Block",
|
||
|
"src": "9154:1092:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12727
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12727,
|
||
|
"mutability": "mutable",
|
||
|
"name": "reserveBalance",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12830,
|
||
|
"src": "9165:22:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12726,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9165:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12728,
|
||
|
"initialValue": null,
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "9165:22:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12730
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12730,
|
||
|
"mutability": "mutable",
|
||
|
"name": "reserveTokenCount",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12830,
|
||
|
"src": "9198:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12729,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9198:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12734,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12731,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12721,
|
||
|
"src": "9225:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12732,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "connectorTokenCount",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13339,
|
||
|
"src": "9225:33:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_uint16_$",
|
||
|
"typeString": "function () view external returns (uint16)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12733,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9225:35:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "9198:62:12"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12828,
|
||
|
"nodeType": "Block",
|
||
|
"src": "9320:919:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12746
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12746,
|
||
|
"mutability": "mutable",
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12828,
|
||
|
"src": "9335:26:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12745,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "9335:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12751,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12749,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12736,
|
||
|
"src": "9394:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12747,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12721,
|
||
|
"src": "9364:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12748,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "connectorTokens",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13334,
|
||
|
"src": "9364:29:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_contract$_IERC20Token_$21127_$",
|
||
|
"typeString": "function (uint256) view external returns (contract IERC20Token)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12750,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9364:32:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "9335:61:12"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"id": 12754,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12752,
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12746,
|
||
|
"src": "9445:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12753,
|
||
|
"name": "ETH_RESERVE_ADDRESS",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12343,
|
||
|
"src": "9463:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"src": "9445:37:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": {
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"id": 12767,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12765,
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12746,
|
||
|
"src": "9627:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12766,
|
||
|
"name": "etherToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12345,
|
||
|
"src": "9645:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"src": "9627:28:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": {
|
||
|
"id": 12825,
|
||
|
"nodeType": "Block",
|
||
|
"src": "9978:250:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12801
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12801,
|
||
|
"mutability": "mutable",
|
||
|
"name": "connector",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12825,
|
||
|
"src": "9997:21:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12800,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "9997:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12803,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12802,
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12746,
|
||
|
"src": "10021:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "9997:38:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12812,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12804,
|
||
|
"name": "reserveBalance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12727,
|
||
|
"src": "10054:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12809,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12721,
|
||
|
"src": "10099:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12808,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "10091:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12807,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "10091:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12810,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10091:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12805,
|
||
|
"name": "connector",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12801,
|
||
|
"src": "10071:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"id": 12806,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "balanceOf",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 21088,
|
||
|
"src": "10071:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
|
||
|
"typeString": "function (address) view external returns (uint256)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12811,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10071:43:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"src": "10054:60:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"id": 12813,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10054:60:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12817,
|
||
|
"name": "connector",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12801,
|
||
|
"src": "10162:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12820,
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12723,
|
||
|
"src": "10181:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12819,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "10173:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12818,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "10173:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12821,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10173:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12822,
|
||
|
"name": "reserveBalance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12727,
|
||
|
"src": "10197:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12814,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12721,
|
||
|
"src": "10133:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12816,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "withdrawTokens",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13280,
|
||
|
"src": "10133:28:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_IERC20Token_$21127_$_t_address_$_t_uint256_$returns$__$",
|
||
|
"typeString": "function (contract IERC20Token,address,uint256) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12823,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10133:79:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12824,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10133:79:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"id": 12826,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "9623:605:12",
|
||
|
"trueBody": {
|
||
|
"id": 12799,
|
||
|
"nodeType": "Block",
|
||
|
"src": "9657:266:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12776,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12768,
|
||
|
"name": "reserveBalance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12727,
|
||
|
"src": "9676:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12773,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12721,
|
||
|
"src": "9722:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12772,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "9714:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12771,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9714:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12774,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9714:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12769,
|
||
|
"name": "etherToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12345,
|
||
|
"src": "9693:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"id": 12770,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "balanceOf",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 21088,
|
||
|
"src": "9693:20:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
|
||
|
"typeString": "function (address) view external returns (uint256)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12775,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9693:44:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"src": "9676:61:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"id": 12777,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "9676:61:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12781,
|
||
|
"name": "etherToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12345,
|
||
|
"src": "9785:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12784,
|
||
|
"name": "this",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -28,
|
||
|
"src": "9805:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ConverterUpgrader_$13009",
|
||
|
"typeString": "contract ConverterUpgrader"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_ConverterUpgrader_$13009",
|
||
|
"typeString": "contract ConverterUpgrader"
|
||
|
}
|
||
|
],
|
||
|
"id": 12783,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "9797:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12782,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9797:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12785,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9797:13:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12786,
|
||
|
"name": "reserveBalance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12727,
|
||
|
"src": "9812:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12778,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12721,
|
||
|
"src": "9756:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12780,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "withdrawTokens",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13280,
|
||
|
"src": "9756:28:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_IERC20Token_$21127_$_t_address_$_t_uint256_$returns$__$",
|
||
|
"typeString": "function (contract IERC20Token,address,uint256) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12787,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9756:71:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12788,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "9756:71:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12794,
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12723,
|
||
|
"src": "9876:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12793,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "9868:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12792,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9868:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12795,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9868:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12796,
|
||
|
"name": "reserveBalance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12727,
|
||
|
"src": "9892:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12789,
|
||
|
"name": "etherToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12345,
|
||
|
"src": "9846:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"id": 12791,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "withdrawTo",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 21152,
|
||
|
"src": "9846:21:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_payable_$_t_uint256_$returns$__$",
|
||
|
"typeString": "function (address payable,uint256) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12797,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9846:61:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12798,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "9846:61:12"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
"id": 12827,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "9441:787:12",
|
||
|
"trueBody": {
|
||
|
"id": 12764,
|
||
|
"nodeType": "Block",
|
||
|
"src": "9484:84:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12760,
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12723,
|
||
|
"src": "9537:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12759,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "9529:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12758,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9529:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12761,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9529:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12755,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12721,
|
||
|
"src": "9503:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12757,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "withdrawETH",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13285,
|
||
|
"src": "9503:25:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_payable_$returns$__$",
|
||
|
"typeString": "function (address payable) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12762,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9503:49:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12763,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "9503:49:12"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"id": 12741,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12739,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12736,
|
||
|
"src": "9292:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "<",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12740,
|
||
|
"name": "reserveTokenCount",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12730,
|
||
|
"src": "9296:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"src": "9292:21:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"id": 12829,
|
||
|
"initializationExpression": {
|
||
|
"assignments": [
|
||
|
12736
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12736,
|
||
|
"mutability": "mutable",
|
||
|
"name": "i",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12829,
|
||
|
"src": "9278:8:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12735,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9278:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12738,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 12737,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "9289:1:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "9278:12:12"
|
||
|
},
|
||
|
"loopExpression": {
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12743,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "++",
|
||
|
"prefix": false,
|
||
|
"src": "9315:3:12",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12742,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12736,
|
||
|
"src": "9315:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"id": 12744,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "9315:3:12"
|
||
|
},
|
||
|
"nodeType": "ForStatement",
|
||
|
"src": "9273:966:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12719,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "8612:443:12",
|
||
|
"text": " @dev transfers the balance of each reserve in the old converter to the new one.\n note that the function assumes that the new converter already has the exact same number of\n also, this will not work for an unlimited number of reserves due to block gas limit constraints.\n @param _oldConverter old converter contract address\n @param _newConverter new converter contract address"
|
||
|
},
|
||
|
"id": 12831,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "transferReserveBalances",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12724,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12721,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12831,
|
||
|
"src": "9094:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12720,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "9094:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12723,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12831,
|
||
|
"src": "9120:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12722,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "9120:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "9093:52:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12725,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "9154:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "9061:1185:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12952,
|
||
|
"nodeType": "Block",
|
||
|
"src": "10674:1454:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12844,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "!",
|
||
|
"prefix": true,
|
||
|
"src": "10689:38:12",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12842,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12834,
|
||
|
"src": "10713:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12841,
|
||
|
"name": "isV28OrHigherConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13008,
|
||
|
"src": "10690:22:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_view$_t_contract$_IConverter_$13340_$returns$_t_bool_$",
|
||
|
"typeString": "function (contract IConverter) view returns (bool)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12843,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10690:37:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 12846,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "10685:64:12",
|
||
|
"trueBody": {
|
||
|
"expression": null,
|
||
|
"functionReturnParameters": 12840,
|
||
|
"id": 12845,
|
||
|
"nodeType": "Return",
|
||
|
"src": "10742:7:12"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12848
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12848,
|
||
|
"mutability": "mutable",
|
||
|
"name": "converterType",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12952,
|
||
|
"src": "10761:20:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12847,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "10761:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12852,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12849,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12834,
|
||
|
"src": "10784:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12850,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "converterType",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13190,
|
||
|
"src": "10784:27:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_pure$__$returns$_t_uint16_$",
|
||
|
"typeString": "function () pure external returns (uint16)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12851,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10784:29:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "10761:52:12"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"id": 12855,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12853,
|
||
|
"name": "converterType",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12848,
|
||
|
"src": "10828:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "32",
|
||
|
"id": 12854,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "10845:1:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_2_by_1",
|
||
|
"typeString": "int_const 2"
|
||
|
},
|
||
|
"value": "2"
|
||
|
},
|
||
|
"src": "10828:18:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 12951,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "10824:1297:12",
|
||
|
"trueBody": {
|
||
|
"id": 12950,
|
||
|
"nodeType": "Block",
|
||
|
"src": "10848:1273:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12857
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12857,
|
||
|
"mutability": "mutable",
|
||
|
"name": "oldConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12950,
|
||
|
"src": "10863:38:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12856,
|
||
|
"name": "ILiquidityPoolV2Converter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 18765,
|
||
|
"src": "10863:25:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12864,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12861,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12834,
|
||
|
"src": "10938:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12860,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "10930:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12859,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "10930:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12862,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10930:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"id": 12858,
|
||
|
"name": "ILiquidityPoolV2Converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 18765,
|
||
|
"src": "10904:25:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_ILiquidityPoolV2Converter_$18765_$",
|
||
|
"typeString": "type(contract ILiquidityPoolV2Converter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12863,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10904:49:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "10863:90:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12866
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12866,
|
||
|
"mutability": "mutable",
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12950,
|
||
|
"src": "10968:38:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12865,
|
||
|
"name": "ILiquidityPoolV2Converter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 18765,
|
||
|
"src": "10968:25:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12873,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12870,
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12836,
|
||
|
"src": "11043:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12869,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "11035:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12868,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "11035:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12871,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11035:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"id": 12867,
|
||
|
"name": "ILiquidityPoolV2Converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 18765,
|
||
|
"src": "11009:25:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_ILiquidityPoolV2Converter_$18765_$",
|
||
|
"typeString": "type(contract ILiquidityPoolV2Converter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12872,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11009:49:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "10968:90:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12875
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12875,
|
||
|
"mutability": "mutable",
|
||
|
"name": "reserveTokenCount",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12950,
|
||
|
"src": "11075:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12874,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "11075:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12879,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12876,
|
||
|
"name": "oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12857,
|
||
|
"src": "11102:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12877,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "connectorTokenCount",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13339,
|
||
|
"src": "11102:32:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_uint16_$",
|
||
|
"typeString": "function () view external returns (uint16)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12878,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11102:34:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "11075:61:12"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12911,
|
||
|
"nodeType": "Block",
|
||
|
"src": "11198:324:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12891
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12891,
|
||
|
"mutability": "mutable",
|
||
|
"name": "reserveTokenAddress",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12911,
|
||
|
"src": "11265:31:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12890,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "11265:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12896,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12894,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12881,
|
||
|
"src": "11328:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12892,
|
||
|
"name": "oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12857,
|
||
|
"src": "11299:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12893,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "connectorTokens",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13334,
|
||
|
"src": "11299:28:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_contract$_IERC20Token_$21127_$",
|
||
|
"typeString": "function (uint256) view external returns (contract IERC20Token)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12895,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11299:31:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "11265:65:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12898
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12898,
|
||
|
"mutability": "mutable",
|
||
|
"name": "balance",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12911,
|
||
|
"src": "11349:15:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12897,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "11349:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12903,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12901,
|
||
|
"name": "reserveTokenAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12891,
|
||
|
"src": "11401:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12899,
|
||
|
"name": "oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12857,
|
||
|
"src": "11367:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12900,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "reserveStakedBalance",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 18738,
|
||
|
"src": "11367:33:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_contract$_IERC20Token_$21127_$returns$_t_uint256_$",
|
||
|
"typeString": "function (contract IERC20Token) view external returns (uint256)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12902,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11367:54:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "11349:72:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12907,
|
||
|
"name": "reserveTokenAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12891,
|
||
|
"src": "11477:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12908,
|
||
|
"name": "balance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12898,
|
||
|
"src": "11498:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12904,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12866,
|
||
|
"src": "11440:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12906,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "setReserveStakedBalance",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 18745,
|
||
|
"src": "11440:36:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_IERC20Token_$21127_$_t_uint256_$returns$__$",
|
||
|
"typeString": "function (contract IERC20Token,uint256) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12909,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11440:66:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12910,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "11440:66:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"id": 12886,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12884,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12881,
|
||
|
"src": "11170:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "<",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12885,
|
||
|
"name": "reserveTokenCount",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12875,
|
||
|
"src": "11174:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"src": "11170:21:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"id": 12912,
|
||
|
"initializationExpression": {
|
||
|
"assignments": [
|
||
|
12881
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12881,
|
||
|
"mutability": "mutable",
|
||
|
"name": "i",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12912,
|
||
|
"src": "11156:8:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12880,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "11156:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12883,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 12882,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "11167:1:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "11156:12:12"
|
||
|
},
|
||
|
"loopExpression": {
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12888,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "++",
|
||
|
"prefix": false,
|
||
|
"src": "11193:3:12",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12887,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12881,
|
||
|
"src": "11193:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"id": 12889,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "11193:3:12"
|
||
|
},
|
||
|
"nodeType": "ForStatement",
|
||
|
"src": "11151:371:12"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12914,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "!",
|
||
|
"prefix": true,
|
||
|
"src": "11542:10:12",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12913,
|
||
|
"name": "_activate",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12838,
|
||
|
"src": "11543:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 12917,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "11538:57:12",
|
||
|
"trueBody": {
|
||
|
"id": 12916,
|
||
|
"nodeType": "Block",
|
||
|
"src": "11554:41:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": null,
|
||
|
"functionReturnParameters": 12840,
|
||
|
"id": 12915,
|
||
|
"nodeType": "Return",
|
||
|
"src": "11573:7:12"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12919
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12919,
|
||
|
"mutability": "mutable",
|
||
|
"name": "primaryReserveToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12950,
|
||
|
"src": "11657:31:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12918,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "11657:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12923,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12920,
|
||
|
"name": "oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12857,
|
||
|
"src": "11691:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12921,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "primaryReserveToken",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 18750,
|
||
|
"src": "11691:32:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IERC20Token_$21127_$",
|
||
|
"typeString": "function () view external returns (contract IERC20Token)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12922,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11691:34:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "11657:68:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12925
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12925,
|
||
|
"mutability": "mutable",
|
||
|
"name": "priceOracle",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12950,
|
||
|
"src": "11790:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IPriceOracle_$22891",
|
||
|
"typeString": "contract IPriceOracle"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12924,
|
||
|
"name": "IPriceOracle",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 22891,
|
||
|
"src": "11790:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IPriceOracle_$22891",
|
||
|
"typeString": "contract IPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12929,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12926,
|
||
|
"name": "oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12857,
|
||
|
"src": "11817:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12927,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "priceOracle",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 18755,
|
||
|
"src": "11817:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IPriceOracle_$22891_$",
|
||
|
"typeString": "function () view external returns (contract IPriceOracle)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12928,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11817:26:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IPriceOracle_$22891",
|
||
|
"typeString": "contract IPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "11790:53:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12931
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12931,
|
||
|
"mutability": "mutable",
|
||
|
"name": "oracleA",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12950,
|
||
|
"src": "11858:29:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12930,
|
||
|
"name": "IChainlinkPriceOracle",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 22821,
|
||
|
"src": "11858:21:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12935,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12932,
|
||
|
"name": "priceOracle",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12925,
|
||
|
"src": "11890:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IPriceOracle_$22891",
|
||
|
"typeString": "contract IPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
"id": 12933,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "tokenAOracle",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 22856,
|
||
|
"src": "11890:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IChainlinkPriceOracle_$22821_$",
|
||
|
"typeString": "function () view external returns (contract IChainlinkPriceOracle)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12934,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11890:26:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "11858:58:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12937
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12937,
|
||
|
"mutability": "mutable",
|
||
|
"name": "oracleB",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12950,
|
||
|
"src": "11931:29:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12936,
|
||
|
"name": "IChainlinkPriceOracle",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 22821,
|
||
|
"src": "11931:21:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12941,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12938,
|
||
|
"name": "priceOracle",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12925,
|
||
|
"src": "11963:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IPriceOracle_$22891",
|
||
|
"typeString": "contract IPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
"id": 12939,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "tokenBOracle",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 22861,
|
||
|
"src": "11963:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IChainlinkPriceOracle_$22821_$",
|
||
|
"typeString": "function () view external returns (contract IChainlinkPriceOracle)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12940,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11963:26:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "11931:58:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12945,
|
||
|
"name": "primaryReserveToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12919,
|
||
|
"src": "12071:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12946,
|
||
|
"name": "oracleA",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12931,
|
||
|
"src": "12092:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12947,
|
||
|
"name": "oracleB",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12937,
|
||
|
"src": "12101:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12942,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12866,
|
||
|
"src": "12049:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12944,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "activate",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 18764,
|
||
|
"src": "12049:21:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_IERC20Token_$21127_$_t_contract$_IChainlinkPriceOracle_$22821_$_t_contract$_IChainlinkPriceOracle_$22821_$returns$__$",
|
||
|
"typeString": "function (contract IERC20Token,contract IChainlinkPriceOracle,contract IChainlinkPriceOracle) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12948,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "12049:60:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12949,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "12049:60:12"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12832,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "10254:306:12",
|
||
|
"text": " @dev handles upgrading custom (type specific) data from the old converter to the new one\n @param _oldConverter old converter contract address\n @param _newConverter new converter contract address\n @param _activate activate the new converter"
|
||
|
},
|
||
|
"id": 12953,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "handleTypeSpecificData",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12839,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12834,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12953,
|
||
|
"src": "10598:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12833,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "10598:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12836,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12953,
|
||
|
"src": "10624:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12835,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "10624:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12838,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_activate",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12953,
|
||
|
"src": "10650:14:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12837,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "10650:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "10597:68:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12840,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "10674:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "10566:1562:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"constant": true,
|
||
|
"id": 12961,
|
||
|
"mutability": "constant",
|
||
|
"name": "IS_V28_OR_HIGHER_FUNC_SELECTOR",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 13009,
|
||
|
"src": "12136:93:12",
|
||
|
"stateVariable": true,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes4",
|
||
|
"typeString": "bytes4"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12954,
|
||
|
"name": "bytes4",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "12136:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes4",
|
||
|
"typeString": "bytes4"
|
||
|
}
|
||
|
},
|
||
|
"value": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "69735632384f724869676865722829",
|
||
|
"id": 12958,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "string",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "12210:17:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_stringliteral_d260529c8620a59d78f2e58cfd1294673bb6cba228ad1f34ac7731003ab870dd",
|
||
|
"typeString": "literal_string \"isV28OrHigher()\""
|
||
|
},
|
||
|
"value": "isV28OrHigher()"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_stringliteral_d260529c8620a59d78f2e58cfd1294673bb6cba228ad1f34ac7731003ab870dd",
|
||
|
"typeString": "literal_string \"isV28OrHigher()\""
|
||
|
}
|
||
|
],
|
||
|
"id": 12957,
|
||
|
"name": "keccak256",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -8,
|
||
|
"src": "12200:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
|
||
|
"typeString": "function (bytes memory) pure returns (bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12959,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "12200:28:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
],
|
||
|
"id": 12956,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "12193:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_bytes4_$",
|
||
|
"typeString": "type(bytes4)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12955,
|
||
|
"name": "bytes4",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "12193:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12960,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "12193:36:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes4",
|
||
|
"typeString": "bytes4"
|
||
|
}
|
||
|
},
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 13007,
|
||
|
"nodeType": "Block",
|
||
|
"src": "12486:336:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12969
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12969,
|
||
|
"mutability": "mutable",
|
||
|
"name": "data",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 13007,
|
||
|
"src": "12497:17:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "memory",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12968,
|
||
|
"name": "bytes",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "12497:5:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_storage_ptr",
|
||
|
"typeString": "bytes"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12974,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12972,
|
||
|
"name": "IS_V28_OR_HIGHER_FUNC_SELECTOR",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12961,
|
||
|
"src": "12540:30:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes4",
|
||
|
"typeString": "bytes4"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes4",
|
||
|
"typeString": "bytes4"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12970,
|
||
|
"name": "abi",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -1,
|
||
|
"src": "12517:3:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_magic_abi",
|
||
|
"typeString": "abi"
|
||
|
}
|
||
|
},
|
||
|
"id": 12971,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "encodeWithSelector",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "12517:22:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
|
||
|
"typeString": "function (bytes4) pure returns (bytes memory)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12973,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "12517:54:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes memory"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "12497:74:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12976,
|
||
|
12978
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12976,
|
||
|
"mutability": "mutable",
|
||
|
"name": "success",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 13007,
|
||
|
"src": "12583:12:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12975,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "12583:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12978,
|
||
|
"mutability": "mutable",
|
||
|
"name": "returnData",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 13007,
|
||
|
"src": "12597:23:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "memory",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12977,
|
||
|
"name": "bytes",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "12597:5:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_storage_ptr",
|
||
|
"typeString": "bytes"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12988,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12986,
|
||
|
"name": "data",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12969,
|
||
|
"src": "12668:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes memory"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes memory"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes memory"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12981,
|
||
|
"name": "_converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12963,
|
||
|
"src": "12632:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12980,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "12624:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12979,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "12624:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12982,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "12624:19:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
"id": 12983,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "staticcall",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "12624:30:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
|
||
|
"typeString": "function (bytes memory) view returns (bool,bytes memory)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12985,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"names": [
|
||
|
"gas"
|
||
|
],
|
||
|
"nodeType": "FunctionCallOptions",
|
||
|
"options": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "34303030",
|
||
|
"id": 12984,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "12661:4:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_4000_by_1",
|
||
|
"typeString": "int_const 4000"
|
||
|
},
|
||
|
"value": "4000"
|
||
|
}
|
||
|
],
|
||
|
"src": "12624:43:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gas",
|
||
|
"typeString": "function (bytes memory) view returns (bool,bytes memory)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12987,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "12624:49:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
|
||
|
"typeString": "tuple(bool,bytes memory)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "12582:91:12"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"id": 12994,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12989,
|
||
|
"name": "success",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12976,
|
||
|
"src": "12690:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "&&",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"id": 12993,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12990,
|
||
|
"name": "returnData",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12978,
|
||
|
"src": "12701:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes memory"
|
||
|
}
|
||
|
},
|
||
|
"id": 12991,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "12701:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "3332",
|
||
|
"id": 12992,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "12722:2:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_32_by_1",
|
||
|
"typeString": "int_const 32"
|
||
|
},
|
||
|
"value": "32"
|
||
|
},
|
||
|
"src": "12701:23:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"src": "12690:34:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 13004,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "12686:104:12",
|
||
|
"trueBody": {
|
||
|
"id": 13003,
|
||
|
"nodeType": "Block",
|
||
|
"src": "12726:64:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12997,
|
||
|
"name": "returnData",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12978,
|
||
|
"src": "12759:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes memory"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"components": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12999,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "12772:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_bool_$",
|
||
|
"typeString": "type(bool)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12998,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "12772:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 13000,
|
||
|
"isConstant": false,
|
||
|
"isInlineArray": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "TupleExpression",
|
||
|
"src": "12771:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_bool_$",
|
||
|
"typeString": "type(bool)"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes memory"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_type$_t_bool_$",
|
||
|
"typeString": "type(bool)"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12995,
|
||
|
"name": "abi",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -1,
|
||
|
"src": "12748:3:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_magic_abi",
|
||
|
"typeString": "abi"
|
||
|
}
|
||
|
},
|
||
|
"id": 12996,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "decode",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "12748:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
|
||
|
"typeString": "function () pure"
|
||
|
}
|
||
|
},
|
||
|
"id": 13001,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "12748:30:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12967,
|
||
|
"id": 13002,
|
||
|
"nodeType": "Return",
|
||
|
"src": "12741:37:12"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "66616c7365",
|
||
|
"id": 13005,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "bool",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "12809:5:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"value": "false"
|
||
|
},
|
||
|
"functionReturnParameters": 12967,
|
||
|
"id": 13006,
|
||
|
"nodeType": "Return",
|
||
|
"src": "12802:12:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": null,
|
||
|
"id": 13008,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "isV28OrHigherConverter",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12964,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12963,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_converter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 13008,
|
||
|
"src": "12434:21:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12962,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "12434:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "12433:23:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12967,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12966,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 13008,
|
||
|
"src": "12480:4:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12965,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "12480:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "12479:6:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "12402:420:12",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"scope": 13010,
|
||
|
"src": "1251:11574:12"
|
||
|
}
|
||
|
],
|
||
|
"src": "52:12775:12"
|
||
|
},
|
||
|
"legacyAST": {
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/ConverterUpgrader.sol",
|
||
|
"exportedSymbols": {
|
||
|
"ConverterUpgrader": [
|
||
|
13009
|
||
|
]
|
||
|
},
|
||
|
"id": 13010,
|
||
|
"license": "SEE LICENSE IN LICENSE",
|
||
|
"nodeType": "SourceUnit",
|
||
|
"nodes": [
|
||
|
{
|
||
|
"id": 12326,
|
||
|
"literals": [
|
||
|
"solidity",
|
||
|
"0.6",
|
||
|
".12"
|
||
|
],
|
||
|
"nodeType": "PragmaDirective",
|
||
|
"src": "52:23:12"
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/interfaces/IConverter.sol",
|
||
|
"file": "./interfaces/IConverter.sol",
|
||
|
"id": 12327,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 13010,
|
||
|
"sourceUnit": 13341,
|
||
|
"src": "77:37:12",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/interfaces/IConverterUpgrader.sol",
|
||
|
"file": "./interfaces/IConverterUpgrader.sol",
|
||
|
"id": 12328,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 13010,
|
||
|
"sourceUnit": 13661,
|
||
|
"src": "116:45:12",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/interfaces/IConverterFactory.sol",
|
||
|
"file": "./interfaces/IConverterFactory.sol",
|
||
|
"id": 12329,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 13010,
|
||
|
"sourceUnit": 13390,
|
||
|
"src": "163:44:12",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/ContractRegistryClient.sol",
|
||
|
"file": "../utility/ContractRegistryClient.sol",
|
||
|
"id": 12330,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 13010,
|
||
|
"sourceUnit": 21720,
|
||
|
"src": "209:47:12",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/interfaces/IWhitelist.sol",
|
||
|
"file": "../utility/interfaces/IWhitelist.sol",
|
||
|
"id": 12331,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 13010,
|
||
|
"sourceUnit": 22918,
|
||
|
"src": "258:46:12",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/token/interfaces/IEtherToken.sol",
|
||
|
"file": "../token/interfaces/IEtherToken.sol",
|
||
|
"id": 12332,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 13010,
|
||
|
"sourceUnit": 21154,
|
||
|
"src": "306:45:12",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/types/liquidity-pool-v2/interfaces/ILiquidityPoolV2Converter.sol",
|
||
|
"file": "./types/liquidity-pool-v2/interfaces/ILiquidityPoolV2Converter.sol",
|
||
|
"id": 12333,
|
||
|
"nodeType": "ImportDirective",
|
||
|
"scope": 13010,
|
||
|
"sourceUnit": 18766,
|
||
|
"src": "353:76:12",
|
||
|
"symbolAliases": [],
|
||
|
"unitAlias": ""
|
||
|
},
|
||
|
{
|
||
|
"abstract": false,
|
||
|
"baseContracts": [
|
||
|
{
|
||
|
"arguments": null,
|
||
|
"baseName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12335,
|
||
|
"name": "IConverterUpgrader",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13660,
|
||
|
"src": "1281:18:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterUpgrader_$13660",
|
||
|
"typeString": "contract IConverterUpgrader"
|
||
|
}
|
||
|
},
|
||
|
"id": 12336,
|
||
|
"nodeType": "InheritanceSpecifier",
|
||
|
"src": "1281:18:12"
|
||
|
},
|
||
|
{
|
||
|
"arguments": null,
|
||
|
"baseName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12337,
|
||
|
"name": "ContractRegistryClient",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21719,
|
||
|
"src": "1301:22:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ContractRegistryClient_$21719",
|
||
|
"typeString": "contract ContractRegistryClient"
|
||
|
}
|
||
|
},
|
||
|
"id": 12338,
|
||
|
"nodeType": "InheritanceSpecifier",
|
||
|
"src": "1301:22:12"
|
||
|
}
|
||
|
],
|
||
|
"contractDependencies": [
|
||
|
13660,
|
||
|
21719,
|
||
|
21818,
|
||
|
22661,
|
||
|
22847
|
||
|
],
|
||
|
"contractKind": "contract",
|
||
|
"documentation": {
|
||
|
"id": 12334,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "433:816:12",
|
||
|
"text": " @dev Converter Upgrader\n The converter upgrader contract allows upgrading an older converter contract (0.4 and up)\n to the latest version.\n To begin the upgrade process, simply execute the 'upgrade' function.\n At the end of the process, the ownership of the newly upgraded converter will be transferred\n back to the original owner and the original owner will need to execute the 'acceptOwnership' function.\n The address of the new converter is available in the ConverterUpgrade event.\n Note that for older converters that don't yet have the 'upgrade' function, ownership should first\n be transferred manually to the ConverterUpgrader contract using the 'transferOwnership' function\n and then the upgrader 'upgrade' function should be executed directly."
|
||
|
},
|
||
|
"fullyImplemented": true,
|
||
|
"id": 13009,
|
||
|
"linearizedBaseContracts": [
|
||
|
13009,
|
||
|
21719,
|
||
|
22661,
|
||
|
21818,
|
||
|
22847,
|
||
|
13660
|
||
|
],
|
||
|
"name": "ConverterUpgrader",
|
||
|
"nodeType": "ContractDefinition",
|
||
|
"nodes": [
|
||
|
{
|
||
|
"constant": true,
|
||
|
"id": 12343,
|
||
|
"mutability": "constant",
|
||
|
"name": "ETH_RESERVE_ADDRESS",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 13009,
|
||
|
"src": "1331:106:12",
|
||
|
"stateVariable": true,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12339,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "1331:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "307845656565654565656545654565654565456545656545454565656565456565656565656545456545",
|
||
|
"id": 12341,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "1394:42:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
"value": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"id": 12340,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "1382:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IERC20Token_$21127_$",
|
||
|
"typeString": "type(contract IERC20Token)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12342,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "1382:55:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"functionSelector": "b8066bcb",
|
||
|
"id": 12345,
|
||
|
"mutability": "mutable",
|
||
|
"name": "etherToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 13009,
|
||
|
"src": "1444:29:12",
|
||
|
"stateVariable": true,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12344,
|
||
|
"name": "IEtherToken",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21153,
|
||
|
"src": "1444:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"documentation": {
|
||
|
"id": 12346,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "1482:202:12",
|
||
|
"text": " @dev triggered when the contract accept a converter ownership\n @param _converter converter address\n @param _owner new owner - local upgrader address"
|
||
|
},
|
||
|
"id": 12352,
|
||
|
"name": "ConverterOwned",
|
||
|
"nodeType": "EventDefinition",
|
||
|
"parameters": {
|
||
|
"id": 12351,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12348,
|
||
|
"indexed": true,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_converter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12352,
|
||
|
"src": "1711:29:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12347,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "1711:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12350,
|
||
|
"indexed": true,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_owner",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12352,
|
||
|
"src": "1742:22:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12349,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1742:7:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "1710:55:12"
|
||
|
},
|
||
|
"src": "1690:76:12"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"documentation": {
|
||
|
"id": 12353,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "1774:189:12",
|
||
|
"text": " @dev triggered when the upgrading process is done\n @param _oldConverter old converter address\n @param _newConverter new converter address"
|
||
|
},
|
||
|
"id": 12359,
|
||
|
"name": "ConverterUpgrade",
|
||
|
"nodeType": "EventDefinition",
|
||
|
"parameters": {
|
||
|
"id": 12358,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12355,
|
||
|
"indexed": true,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12359,
|
||
|
"src": "1992:29:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12354,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "1992:7:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12357,
|
||
|
"indexed": true,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12359,
|
||
|
"src": "2023:29:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12356,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2023:7:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "1991:62:12"
|
||
|
},
|
||
|
"src": "1969:85:12"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12374,
|
||
|
"nodeType": "Block",
|
||
|
"src": "2323:43:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12372,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12370,
|
||
|
"name": "etherToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12345,
|
||
|
"src": "2334:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12371,
|
||
|
"name": "_etherToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12364,
|
||
|
"src": "2347:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"src": "2334:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"id": 12373,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "2334:24:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12360,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "2062:148:12",
|
||
|
"text": " @dev initializes a new ConverterUpgrader instance\n @param _registry address of a contract registry contract"
|
||
|
},
|
||
|
"id": 12375,
|
||
|
"implemented": true,
|
||
|
"kind": "constructor",
|
||
|
"modifiers": [
|
||
|
{
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12367,
|
||
|
"name": "_registry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12362,
|
||
|
"src": "2305:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
||
|
"typeString": "contract IContractRegistry"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 12368,
|
||
|
"modifierName": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12366,
|
||
|
"name": "ContractRegistryClient",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21719,
|
||
|
"src": "2282:22:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_ContractRegistryClient_$21719_$",
|
||
|
"typeString": "type(contract ContractRegistryClient)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "ModifierInvocation",
|
||
|
"src": "2282:33:12"
|
||
|
}
|
||
|
],
|
||
|
"name": "",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12365,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12362,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_registry",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12375,
|
||
|
"src": "2228:27:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
||
|
"typeString": "contract IContractRegistry"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12361,
|
||
|
"name": "IContractRegistry",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 22831,
|
||
|
"src": "2228:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
||
|
"typeString": "contract IContractRegistry"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12364,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_etherToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12375,
|
||
|
"src": "2257:23:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12363,
|
||
|
"name": "IEtherToken",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21153,
|
||
|
"src": "2257:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "2227:54:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12369,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "2323:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "2216:150:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13654
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12390,
|
||
|
"nodeType": "Block",
|
||
|
"src": "2845:63:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12384,
|
||
|
"name": "msg",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -15,
|
||
|
"src": "2878:3:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_magic_message",
|
||
|
"typeString": "msg"
|
||
|
}
|
||
|
},
|
||
|
"id": 12385,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "sender",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "2878:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"id": 12383,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "2867:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IConverter_$13340_$",
|
||
|
"typeString": "type(contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12386,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2867:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12387,
|
||
|
"name": "_version",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12378,
|
||
|
"src": "2891:8:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
],
|
||
|
"id": 12382,
|
||
|
"name": "upgradeOld",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12530,
|
||
|
"src": "2856:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IConverter_$13340_$_t_bytes32_$returns$__$",
|
||
|
"typeString": "function (contract IConverter,bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12388,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "2856:44:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12389,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "2856:44:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12376,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "2374:414:12",
|
||
|
"text": " @dev upgrades an old converter to the latest version\n will throw if ownership wasn't transferred to the upgrader before calling this function.\n ownership of the new converter will be transferred back to the original owner.\n fires the ConverterUpgrade event upon success.\n can only be called by a converter\n @param _version old converter version"
|
||
|
},
|
||
|
"functionSelector": "bc444e13",
|
||
|
"id": 12391,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "upgrade",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12380,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "2836:8:12"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12379,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12378,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_version",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12391,
|
||
|
"src": "2811:16:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12377,
|
||
|
"name": "bytes32",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "2811:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "2810:18:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12381,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "2845:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "2794:114:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"baseFunctions": [
|
||
|
13659
|
||
|
],
|
||
|
"body": {
|
||
|
"id": 12412,
|
||
|
"nodeType": "Block",
|
||
|
"src": "3386:81:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12400,
|
||
|
"name": "msg",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -15,
|
||
|
"src": "3419:3:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_magic_message",
|
||
|
"typeString": "msg"
|
||
|
}
|
||
|
},
|
||
|
"id": 12401,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "sender",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "3419:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"id": 12399,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "3408:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IConverter_$13340_$",
|
||
|
"typeString": "type(contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12402,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3408:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12407,
|
||
|
"name": "_version",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12394,
|
||
|
"src": "3448:8:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
],
|
||
|
"id": 12406,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "3440:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_uint256_$",
|
||
|
"typeString": "type(uint256)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12405,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3440:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12408,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3440:17:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"id": 12404,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "3432:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_bytes32_$",
|
||
|
"typeString": "type(bytes32)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12403,
|
||
|
"name": "bytes32",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3432:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12409,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3432:26:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
],
|
||
|
"id": 12398,
|
||
|
"name": "upgradeOld",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12530,
|
||
|
"src": "3397:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IConverter_$13340_$_t_bytes32_$returns$__$",
|
||
|
"typeString": "function (contract IConverter,bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12410,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "3397:62:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12411,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3397:62:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12392,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "2916:414:12",
|
||
|
"text": " @dev upgrades an old converter to the latest version\n will throw if ownership wasn't transferred to the upgrader before calling this function.\n ownership of the new converter will be transferred back to the original owner.\n fires the ConverterUpgrade event upon success.\n can only be called by a converter\n @param _version old converter version"
|
||
|
},
|
||
|
"functionSelector": "90f58c96",
|
||
|
"id": 12413,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "upgrade",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": {
|
||
|
"id": 12396,
|
||
|
"nodeType": "OverrideSpecifier",
|
||
|
"overrides": [],
|
||
|
"src": "3377:8:12"
|
||
|
},
|
||
|
"parameters": {
|
||
|
"id": 12395,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12394,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_version",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12413,
|
||
|
"src": "3353:15:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12393,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3353:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "3352:17:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12397,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "3386:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "3336:131:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12529,
|
||
|
"nodeType": "Block",
|
||
|
"src": "3984:1045:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12421,
|
||
|
"name": "_version",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12418,
|
||
|
"src": "3995:8:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
},
|
||
|
"id": 12422,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "3995:8:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12424
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12424,
|
||
|
"mutability": "mutable",
|
||
|
"name": "converter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12529,
|
||
|
"src": "4014:20:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12423,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "4014:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12428,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12426,
|
||
|
"name": "_converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12416,
|
||
|
"src": "4048:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12425,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "4037:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IConverter_$13340_$",
|
||
|
"typeString": "type(contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12427,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4037:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "4014:45:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12430
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12430,
|
||
|
"mutability": "mutable",
|
||
|
"name": "prevOwner",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12529,
|
||
|
"src": "4070:17:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12429,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4070:7:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12434,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12431,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4090:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12432,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "owner",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 22838,
|
||
|
"src": "4090:15:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
|
||
|
"typeString": "function () view external returns (address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12433,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4090:17:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "4070:37:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12436,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4143:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12435,
|
||
|
"name": "acceptConverterOwnership",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12550,
|
||
|
"src": "4118:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IConverter_$13340_$returns$__$",
|
||
|
"typeString": "function (contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12437,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4118:35:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12438,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4118:35:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12440
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12440,
|
||
|
"mutability": "mutable",
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12529,
|
||
|
"src": "4164:23:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12439,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "4164:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12444,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12442,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4206:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12441,
|
||
|
"name": "createConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12624,
|
||
|
"src": "4190:15:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IConverter_$13340_$returns$_t_contract$_IConverter_$13340_$",
|
||
|
"typeString": "function (contract IConverter) returns (contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12443,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4190:26:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "4164:52:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12446,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4240:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12447,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12440,
|
||
|
"src": "4251:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12445,
|
||
|
"name": "copyReserves",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12697,
|
||
|
"src": "4227:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IConverter_$13340_$_t_contract$_IConverter_$13340_$returns$__$",
|
||
|
"typeString": "function (contract IConverter,contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12448,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4227:37:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12449,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4227:37:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12451,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4293:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12452,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12440,
|
||
|
"src": "4304:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12450,
|
||
|
"name": "copyConversionFee",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12718,
|
||
|
"src": "4275:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IConverter_$13340_$_t_contract$_IConverter_$13340_$returns$__$",
|
||
|
"typeString": "function (contract IConverter,contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12453,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4275:42:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12454,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4275:42:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12456,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4352:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12457,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12440,
|
||
|
"src": "4363:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12455,
|
||
|
"name": "transferReserveBalances",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12831,
|
||
|
"src": "4328:23:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IConverter_$13340_$_t_contract$_IConverter_$13340_$returns$__$",
|
||
|
"typeString": "function (contract IConverter,contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12458,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4328:48:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12459,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4328:48:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12461
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12461,
|
||
|
"mutability": "mutable",
|
||
|
"name": "anchor",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12529,
|
||
|
"src": "4387:23:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12460,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "4387:16:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12465,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12462,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4413:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12463,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "token",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13297,
|
||
|
"src": "4413:15:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IConverterAnchor_$13349_$",
|
||
|
"typeString": "function () view external returns (contract IConverterAnchor)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12464,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4413:17:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "4387:43:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12467
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12467,
|
||
|
"mutability": "mutable",
|
||
|
"name": "activate",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12529,
|
||
|
"src": "4511:13:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12466,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4511:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12475,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"id": 12474,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12469,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4550:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12468,
|
||
|
"name": "isV28OrHigherConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13008,
|
||
|
"src": "4527:22:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_view$_t_contract$_IConverter_$13340_$returns$_t_bool_$",
|
||
|
"typeString": "function (contract IConverter) view returns (bool)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12470,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4527:33:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "&&",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12471,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4564:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12472,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "isActive",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13200,
|
||
|
"src": "4564:18:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
|
||
|
"typeString": "function () view external returns (bool)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12473,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4564:20:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"src": "4527:57:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "4511:73:12"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
"id": 12483,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12476,
|
||
|
"name": "anchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12461,
|
||
|
"src": "4601:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"id": 12477,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "owner",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 22838,
|
||
|
"src": "4601:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
|
||
|
"typeString": "function () view external returns (address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12478,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4601:14:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12481,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4627:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12480,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "4619:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12479,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4619:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12482,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4619:18:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
"src": "4601:36:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 12499,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "4597:175:12",
|
||
|
"trueBody": {
|
||
|
"id": 12498,
|
||
|
"nodeType": "Block",
|
||
|
"src": "4639:133:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12489,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12440,
|
||
|
"src": "4695:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12488,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "4687:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12487,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4687:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12490,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4687:21:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12484,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4654:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12486,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "transferTokenOwnership",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13302,
|
||
|
"src": "4654:32:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
|
||
|
"typeString": "function (address) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12491,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4654:55:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12492,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4654:55:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12493,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12440,
|
||
|
"src": "4724:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12495,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "acceptAnchorOwnership",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13261,
|
||
|
"src": "4724:34:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
|
||
|
"typeString": "function () external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12496,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4724:36:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12497,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4724:36:12"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12501,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4807:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12502,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12440,
|
||
|
"src": "4818:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12503,
|
||
|
"name": "activate",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12467,
|
||
|
"src": "4832:8:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
],
|
||
|
"id": 12500,
|
||
|
"name": "handleTypeSpecificData",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12953,
|
||
|
"src": "4784:22:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IConverter_$13340_$_t_contract$_IConverter_$13340_$_t_bool_$returns$__$",
|
||
|
"typeString": "function (contract IConverter,contract IConverter,bool)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12504,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4784:57:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12505,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4784:57:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12509,
|
||
|
"name": "prevOwner",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12430,
|
||
|
"src": "4882:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12506,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4854:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12508,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "transferOwnership",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 22843,
|
||
|
"src": "4854:27:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
|
||
|
"typeString": "function (address) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12510,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4854:38:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12511,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4854:38:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12515,
|
||
|
"name": "prevOwner",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12430,
|
||
|
"src": "4934:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12512,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12440,
|
||
|
"src": "4903:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12514,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "transferOwnership",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 22843,
|
||
|
"src": "4903:30:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
|
||
|
"typeString": "function (address) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12516,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4903:41:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12517,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "4903:41:12"
|
||
|
},
|
||
|
{
|
||
|
"eventCall": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12521,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12424,
|
||
|
"src": "4987:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12520,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "4979:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12519,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4979:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12522,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4979:18:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12525,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12440,
|
||
|
"src": "5007:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12524,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "4999:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12523,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "4999:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12526,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4999:21:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"id": 12518,
|
||
|
"name": "ConverterUpgrade",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12359,
|
||
|
"src": "4962:16:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$",
|
||
|
"typeString": "function (address,address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12527,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "4962:59:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12528,
|
||
|
"nodeType": "EmitStatement",
|
||
|
"src": "4957:64:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12414,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "3475:435:12",
|
||
|
"text": " @dev upgrades an old converter to the latest version\n will throw if ownership wasn't transferred to the upgrader before calling this function.\n ownership of the new converter will be transferred back to the original owner.\n fires the ConverterUpgrade event upon success.\n @param _converter old converter contract address\n @param _version old converter version"
|
||
|
},
|
||
|
"functionSelector": "f2cfed87",
|
||
|
"id": 12530,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "upgradeOld",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12419,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12416,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_converter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12530,
|
||
|
"src": "3936:21:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12415,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "3936:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12418,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_version",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12530,
|
||
|
"src": "3959:16:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12417,
|
||
|
"name": "bytes32",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "3959:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "3935:41:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12420,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "3984:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "3916:1113:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12549,
|
||
|
"nodeType": "Block",
|
||
|
"src": "5484:110:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12536,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12533,
|
||
|
"src": "5495:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12538,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "acceptOwnership",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 22846,
|
||
|
"src": "5495:29:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
|
||
|
"typeString": "function () external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12539,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "5495:31:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12540,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "5495:31:12"
|
||
|
},
|
||
|
{
|
||
|
"eventCall": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12542,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12533,
|
||
|
"src": "5557:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12545,
|
||
|
"name": "this",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -28,
|
||
|
"src": "5580:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ConverterUpgrader_$13009",
|
||
|
"typeString": "contract ConverterUpgrader"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_ConverterUpgrader_$13009",
|
||
|
"typeString": "contract ConverterUpgrader"
|
||
|
}
|
||
|
],
|
||
|
"id": 12544,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "5572:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12543,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "5572:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12546,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "5572:13:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 12541,
|
||
|
"name": "ConverterOwned",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12352,
|
||
|
"src": "5542:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_event_nonpayable$_t_contract$_IConverter_$13340_$_t_address_$returns$__$",
|
||
|
"typeString": "function (contract IConverter,address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12547,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "5542:44:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12548,
|
||
|
"nodeType": "EmitStatement",
|
||
|
"src": "5537:49:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12531,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "5037:373:12",
|
||
|
"text": " @dev the first step when upgrading a converter is to transfer the ownership to the local contract.\n the upgrader contract then needs to accept the ownership transfer before initiating\n the upgrade process.\n fires the ConverterOwned event upon success\n @param _oldConverter converter to accept ownership of"
|
||
|
},
|
||
|
"id": 12550,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "acceptConverterOwnership",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12534,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12533,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12550,
|
||
|
"src": "5450:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12532,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "5450:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5449:26:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12535,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "5484:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "5416:178:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12623,
|
||
|
"nodeType": "Block",
|
||
|
"src": "6010:912:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12559
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12559,
|
||
|
"mutability": "mutable",
|
||
|
"name": "anchor",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12623,
|
||
|
"src": "6021:23:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12558,
|
||
|
"name": "IConverterAnchor",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13349,
|
||
|
"src": "6021:16:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12563,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12560,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12553,
|
||
|
"src": "6047:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12561,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "token",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13297,
|
||
|
"src": "6047:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IConverterAnchor_$13349_$",
|
||
|
"typeString": "function () view external returns (contract IConverterAnchor)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12562,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6047:21:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "6021:47:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12565
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12565,
|
||
|
"mutability": "mutable",
|
||
|
"name": "maxConversionFee",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12623,
|
||
|
"src": "6079:23:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12564,
|
||
|
"name": "uint32",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "6079:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12569,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12566,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12553,
|
||
|
"src": "6105:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12567,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "maxConversionFee",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13243,
|
||
|
"src": "6105:30:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_uint32_$",
|
||
|
"typeString": "function () view external returns (uint32)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12568,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6105:32:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "6079:58:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12571
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12571,
|
||
|
"mutability": "mutable",
|
||
|
"name": "reserveTokenCount",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12623,
|
||
|
"src": "6148:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12570,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "6148:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12575,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12572,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12553,
|
||
|
"src": "6175:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12573,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "connectorTokenCount",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13339,
|
||
|
"src": "6175:33:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_uint16_$",
|
||
|
"typeString": "function () view external returns (uint16)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12574,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6175:35:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "6148:62:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12577
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12577,
|
||
|
"mutability": "mutable",
|
||
|
"name": "newType",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12623,
|
||
|
"src": "6264:14:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12576,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "6264:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12579,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 12578,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "6281:1:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "6264:18:12"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12581,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12553,
|
||
|
"src": "6387:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12580,
|
||
|
"name": "isV28OrHigherConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13008,
|
||
|
"src": "6364:22:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_view$_t_contract$_IConverter_$13340_$returns$_t_bool_$",
|
||
|
"typeString": "function (contract IConverter) view returns (bool)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12582,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6364:37:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": {
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"id": 12591,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12589,
|
||
|
"name": "reserveTokenCount",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12571,
|
||
|
"src": "6592:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": ">",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "31",
|
||
|
"id": 12590,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "6612:1:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_1_by_1",
|
||
|
"typeString": "int_const 1"
|
||
|
},
|
||
|
"value": "1"
|
||
|
},
|
||
|
"src": "6592:21:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 12596,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "6588:51:12",
|
||
|
"trueBody": {
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12594,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12592,
|
||
|
"name": "newType",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12577,
|
||
|
"src": "6628:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "31",
|
||
|
"id": 12593,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "6638:1:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_1_by_1",
|
||
|
"typeString": "int_const 1"
|
||
|
},
|
||
|
"value": "1"
|
||
|
},
|
||
|
"src": "6628:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"id": 12595,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "6628:11:12"
|
||
|
}
|
||
|
},
|
||
|
"id": 12597,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "6360:279:12",
|
||
|
"trueBody": {
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12587,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12583,
|
||
|
"name": "newType",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12577,
|
||
|
"src": "6416:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12584,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12553,
|
||
|
"src": "6426:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12585,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "converterType",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13190,
|
||
|
"src": "6426:27:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_pure$__$returns$_t_uint16_$",
|
||
|
"typeString": "function () pure external returns (uint16)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12586,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6426:29:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"src": "6416:39:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"id": 12588,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "6416:39:12"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12599
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12599,
|
||
|
"mutability": "mutable",
|
||
|
"name": "converterFactory",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12623,
|
||
|
"src": "6652:34:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterFactory_$13389",
|
||
|
"typeString": "contract IConverterFactory"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12598,
|
||
|
"name": "IConverterFactory",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13389,
|
||
|
"src": "6652:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterFactory_$13389",
|
||
|
"typeString": "contract IConverterFactory"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12605,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12602,
|
||
|
"name": "CONVERTER_FACTORY",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21536,
|
||
|
"src": "6717:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
],
|
||
|
"id": 12601,
|
||
|
"name": "addressOf",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21718,
|
||
|
"src": "6707:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
|
||
|
"typeString": "function (bytes32) view returns (address)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12603,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6707:28:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
],
|
||
|
"id": 12600,
|
||
|
"name": "IConverterFactory",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13389,
|
||
|
"src": "6689:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_IConverterFactory_$13389_$",
|
||
|
"typeString": "type(contract IConverterFactory)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12604,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6689:47:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterFactory_$13389",
|
||
|
"typeString": "contract IConverterFactory"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "6652:84:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12607
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12607,
|
||
|
"mutability": "mutable",
|
||
|
"name": "converter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12623,
|
||
|
"src": "6747:20:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12606,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "6747:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12615,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12610,
|
||
|
"name": "newType",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12577,
|
||
|
"src": "6803:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12611,
|
||
|
"name": "anchor",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12559,
|
||
|
"src": "6812:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12612,
|
||
|
"name": "registry",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 21562,
|
||
|
"src": "6820:8:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
||
|
"typeString": "contract IContractRegistry"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12613,
|
||
|
"name": "maxConversionFee",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12565,
|
||
|
"src": "6830:16:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverterAnchor_$13349",
|
||
|
"typeString": "contract IConverterAnchor"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
||
|
"typeString": "contract IContractRegistry"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12608,
|
||
|
"name": "converterFactory",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12599,
|
||
|
"src": "6770:16:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverterFactory_$13389",
|
||
|
"typeString": "contract IConverterFactory"
|
||
|
}
|
||
|
},
|
||
|
"id": 12609,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "createConverter",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13381,
|
||
|
"src": "6770:32:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_uint16_$_t_contract$_IConverterAnchor_$13349_$_t_contract$_IContractRegistry_$22831_$_t_uint32_$returns$_t_contract$_IConverter_$13340_$",
|
||
|
"typeString": "function (uint16,contract IConverterAnchor,contract IContractRegistry,uint32) external returns (contract IConverter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12614,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6770:77:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "6747:100:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12616,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12607,
|
||
|
"src": "6860:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12618,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "acceptOwnership",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 22846,
|
||
|
"src": "6860:25:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
|
||
|
"typeString": "function () external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12619,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "6860:27:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12620,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "6860:27:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12621,
|
||
|
"name": "converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12607,
|
||
|
"src": "6905:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12557,
|
||
|
"id": 12622,
|
||
|
"nodeType": "Return",
|
||
|
"src": "6898:16:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12551,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "5602:322:12",
|
||
|
"text": " @dev creates a new converter with same basic data as the original old converter\n the newly created converter will have no reserves at this step.\n @param _oldConverter old converter contract address\n @return the new converter new converter contract address"
|
||
|
},
|
||
|
"id": 12624,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "createConverter",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12554,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12553,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12624,
|
||
|
"src": "5955:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12552,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "5955:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5954:26:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12557,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12556,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12624,
|
||
|
"src": "5998:10:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12555,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "5998:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "5997:12:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "5930:992:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12696,
|
||
|
"nodeType": "Block",
|
||
|
"src": "7349:801:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12633
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12633,
|
||
|
"mutability": "mutable",
|
||
|
"name": "reserveTokenCount",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12696,
|
||
|
"src": "7360:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12632,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "7360:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12637,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12634,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12627,
|
||
|
"src": "7387:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12635,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "connectorTokenCount",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13339,
|
||
|
"src": "7387:33:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_uint16_$",
|
||
|
"typeString": "function () view external returns (uint16)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12636,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "7387:35:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "7360:62:12"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12694,
|
||
|
"nodeType": "Block",
|
||
|
"src": "7482:661:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12649
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12649,
|
||
|
"mutability": "mutable",
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12694,
|
||
|
"src": "7497:26:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12648,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "7497:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12654,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12652,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12639,
|
||
|
"src": "7556:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12650,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12627,
|
||
|
"src": "7526:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12651,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "connectorTokens",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13334,
|
||
|
"src": "7526:29:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_contract$_IERC20Token_$21127_$",
|
||
|
"typeString": "function (uint256) view external returns (contract IERC20Token)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12653,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "7526:32:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "7497:61:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
null,
|
||
|
12656,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
],
|
||
|
"declarations": [
|
||
|
null,
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12656,
|
||
|
"mutability": "mutable",
|
||
|
"name": "weight",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12694,
|
||
|
"src": "7576:13:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12655,
|
||
|
"name": "uint32",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "7576:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
],
|
||
|
"id": 12661,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12659,
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12649,
|
||
|
"src": "7624:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12657,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12627,
|
||
|
"src": "7599:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12658,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "connectors",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13320,
|
||
|
"src": "7599:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_contract$_IERC20Token_$21127_$returns$_t_uint256_$_t_uint32_$_t_bool_$_t_bool_$_t_bool_$",
|
||
|
"typeString": "function (contract IERC20Token) view external returns (uint256,uint32,bool,bool,bool)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12660,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "7599:40:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$_t_uint256_$_t_uint32_$_t_bool_$_t_bool_$_t_bool_$",
|
||
|
"typeString": "tuple(uint256,uint32,bool,bool,bool)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "7573:66:12"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"id": 12664,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12662,
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12649,
|
||
|
"src": "7690:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12663,
|
||
|
"name": "ETH_RESERVE_ADDRESS",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12343,
|
||
|
"src": "7708:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"src": "7690:37:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": {
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"id": 12675,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12673,
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12649,
|
||
|
"src": "7876:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12674,
|
||
|
"name": "etherToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12345,
|
||
|
"src": "7894:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"src": "7876:28:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": {
|
||
|
"id": 12691,
|
||
|
"nodeType": "Block",
|
||
|
"src": "8049:83:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12687,
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12649,
|
||
|
"src": "8093:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12688,
|
||
|
"name": "weight",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12656,
|
||
|
"src": "8109:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12684,
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12629,
|
||
|
"src": "8068:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12686,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "addReserve",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13292,
|
||
|
"src": "8068:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_IERC20Token_$21127_$_t_uint32_$returns$__$",
|
||
|
"typeString": "function (contract IERC20Token,uint32) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12689,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "8068:48:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12690,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "8068:48:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"id": 12692,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "7872:260:12",
|
||
|
"trueBody": {
|
||
|
"id": 12683,
|
||
|
"nodeType": "Block",
|
||
|
"src": "7906:88:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12679,
|
||
|
"name": "ETH_RESERVE_ADDRESS",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12343,
|
||
|
"src": "7950:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12680,
|
||
|
"name": "weight",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12656,
|
||
|
"src": "7971:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12676,
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12629,
|
||
|
"src": "7925:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12678,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "addReserve",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13292,
|
||
|
"src": "7925:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_IERC20Token_$21127_$_t_uint32_$returns$__$",
|
||
|
"typeString": "function (contract IERC20Token,uint32) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12681,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "7925:53:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12682,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "7925:53:12"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
"id": 12693,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "7686:446:12",
|
||
|
"trueBody": {
|
||
|
"id": 12672,
|
||
|
"nodeType": "Block",
|
||
|
"src": "7729:88:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12668,
|
||
|
"name": "ETH_RESERVE_ADDRESS",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12343,
|
||
|
"src": "7773:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12669,
|
||
|
"name": "weight",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12656,
|
||
|
"src": "7794:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12665,
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12629,
|
||
|
"src": "7748:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12667,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "addReserve",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13292,
|
||
|
"src": "7748:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_IERC20Token_$21127_$_t_uint32_$returns$__$",
|
||
|
"typeString": "function (contract IERC20Token,uint32) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12670,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "7748:53:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12671,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "7748:53:12"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"id": 12644,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12642,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12639,
|
||
|
"src": "7454:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "<",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12643,
|
||
|
"name": "reserveTokenCount",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12633,
|
||
|
"src": "7458:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"src": "7454:21:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"id": 12695,
|
||
|
"initializationExpression": {
|
||
|
"assignments": [
|
||
|
12639
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12639,
|
||
|
"mutability": "mutable",
|
||
|
"name": "i",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12695,
|
||
|
"src": "7440:8:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12638,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "7440:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12641,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 12640,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "7451:1:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "7440:12:12"
|
||
|
},
|
||
|
"loopExpression": {
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12646,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "++",
|
||
|
"prefix": false,
|
||
|
"src": "7477:3:12",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12645,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12639,
|
||
|
"src": "7477:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"id": 12647,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "7477:3:12"
|
||
|
},
|
||
|
"nodeType": "ForStatement",
|
||
|
"src": "7435:708:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12625,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "6930:331:12",
|
||
|
"text": " @dev copies the reserves from the old converter to the new one.\n note that this will not work for an unlimited number of reserves due to block gas limit constraints.\n @param _oldConverter old converter contract address\n @param _newConverter new converter contract address"
|
||
|
},
|
||
|
"id": 12697,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "copyReserves",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12630,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12627,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12697,
|
||
|
"src": "7289:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12626,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "7289:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12629,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12697,
|
||
|
"src": "7315:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12628,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "7315:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "7288:52:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12631,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "7349:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "7267:883:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12717,
|
||
|
"nodeType": "Block",
|
||
|
"src": "8477:127:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12706
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12706,
|
||
|
"mutability": "mutable",
|
||
|
"name": "conversionFee",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12717,
|
||
|
"src": "8488:20:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12705,
|
||
|
"name": "uint32",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "8488:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12710,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12707,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12700,
|
||
|
"src": "8511:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12708,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "conversionFee",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13238,
|
||
|
"src": "8511:27:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_uint32_$",
|
||
|
"typeString": "function () view external returns (uint32)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12709,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "8511:29:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "8488:52:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12714,
|
||
|
"name": "conversionFee",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12706,
|
||
|
"src": "8582:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint32",
|
||
|
"typeString": "uint32"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12711,
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12702,
|
||
|
"src": "8551:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12713,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "setConversionFee",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13266,
|
||
|
"src": "8551:30:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_uint32_$returns$__$",
|
||
|
"typeString": "function (uint32) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12715,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "8551:45:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12716,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "8551:45:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12698,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "8158:226:12",
|
||
|
"text": " @dev copies the conversion fee from the old converter to the new one\n @param _oldConverter old converter contract address\n @param _newConverter new converter contract address"
|
||
|
},
|
||
|
"id": 12718,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "copyConversionFee",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12703,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12700,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12718,
|
||
|
"src": "8417:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12699,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "8417:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12702,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12718,
|
||
|
"src": "8443:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12701,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "8443:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "8416:52:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12704,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "8477:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "8390:214:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12830,
|
||
|
"nodeType": "Block",
|
||
|
"src": "9154:1092:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12727
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12727,
|
||
|
"mutability": "mutable",
|
||
|
"name": "reserveBalance",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12830,
|
||
|
"src": "9165:22:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12726,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9165:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12728,
|
||
|
"initialValue": null,
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "9165:22:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12730
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12730,
|
||
|
"mutability": "mutable",
|
||
|
"name": "reserveTokenCount",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12830,
|
||
|
"src": "9198:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12729,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9198:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12734,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12731,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12721,
|
||
|
"src": "9225:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12732,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "connectorTokenCount",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13339,
|
||
|
"src": "9225:33:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_uint16_$",
|
||
|
"typeString": "function () view external returns (uint16)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12733,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9225:35:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "9198:62:12"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12828,
|
||
|
"nodeType": "Block",
|
||
|
"src": "9320:919:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12746
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12746,
|
||
|
"mutability": "mutable",
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12828,
|
||
|
"src": "9335:26:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12745,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "9335:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12751,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12749,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12736,
|
||
|
"src": "9394:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12747,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12721,
|
||
|
"src": "9364:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12748,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "connectorTokens",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13334,
|
||
|
"src": "9364:29:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_contract$_IERC20Token_$21127_$",
|
||
|
"typeString": "function (uint256) view external returns (contract IERC20Token)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12750,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9364:32:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "9335:61:12"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"id": 12754,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12752,
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12746,
|
||
|
"src": "9445:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12753,
|
||
|
"name": "ETH_RESERVE_ADDRESS",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12343,
|
||
|
"src": "9463:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"src": "9445:37:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": {
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"id": 12767,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12765,
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12746,
|
||
|
"src": "9627:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12766,
|
||
|
"name": "etherToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12345,
|
||
|
"src": "9645:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"src": "9627:28:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": {
|
||
|
"id": 12825,
|
||
|
"nodeType": "Block",
|
||
|
"src": "9978:250:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12801
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12801,
|
||
|
"mutability": "mutable",
|
||
|
"name": "connector",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12825,
|
||
|
"src": "9997:21:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12800,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "9997:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12803,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12802,
|
||
|
"name": "reserveAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12746,
|
||
|
"src": "10021:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "9997:38:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12812,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12804,
|
||
|
"name": "reserveBalance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12727,
|
||
|
"src": "10054:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12809,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12721,
|
||
|
"src": "10099:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12808,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "10091:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12807,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "10091:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12810,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10091:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12805,
|
||
|
"name": "connector",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12801,
|
||
|
"src": "10071:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"id": 12806,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "balanceOf",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 21088,
|
||
|
"src": "10071:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
|
||
|
"typeString": "function (address) view external returns (uint256)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12811,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10071:43:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"src": "10054:60:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"id": 12813,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10054:60:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12817,
|
||
|
"name": "connector",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12801,
|
||
|
"src": "10162:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12820,
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12723,
|
||
|
"src": "10181:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12819,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "10173:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12818,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "10173:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12821,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10173:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12822,
|
||
|
"name": "reserveBalance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12727,
|
||
|
"src": "10197:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12814,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12721,
|
||
|
"src": "10133:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12816,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "withdrawTokens",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13280,
|
||
|
"src": "10133:28:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_IERC20Token_$21127_$_t_address_$_t_uint256_$returns$__$",
|
||
|
"typeString": "function (contract IERC20Token,address,uint256) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12823,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10133:79:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12824,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "10133:79:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"id": 12826,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "9623:605:12",
|
||
|
"trueBody": {
|
||
|
"id": 12799,
|
||
|
"nodeType": "Block",
|
||
|
"src": "9657:266:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12776,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12768,
|
||
|
"name": "reserveBalance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12727,
|
||
|
"src": "9676:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "Assignment",
|
||
|
"operator": "=",
|
||
|
"rightHandSide": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12773,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12721,
|
||
|
"src": "9722:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12772,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "9714:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12771,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9714:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12774,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9714:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12769,
|
||
|
"name": "etherToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12345,
|
||
|
"src": "9693:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"id": 12770,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "balanceOf",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 21088,
|
||
|
"src": "9693:20:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
|
||
|
"typeString": "function (address) view external returns (uint256)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12775,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9693:44:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"src": "9676:61:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"id": 12777,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "9676:61:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12781,
|
||
|
"name": "etherToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12345,
|
||
|
"src": "9785:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12784,
|
||
|
"name": "this",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -28,
|
||
|
"src": "9805:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ConverterUpgrader_$13009",
|
||
|
"typeString": "contract ConverterUpgrader"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_ConverterUpgrader_$13009",
|
||
|
"typeString": "contract ConverterUpgrader"
|
||
|
}
|
||
|
],
|
||
|
"id": 12783,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "9797:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12782,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9797:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12785,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9797:13:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12786,
|
||
|
"name": "reserveBalance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12727,
|
||
|
"src": "9812:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_address",
|
||
|
"typeString": "address"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12778,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12721,
|
||
|
"src": "9756:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12780,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "withdrawTokens",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13280,
|
||
|
"src": "9756:28:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_IERC20Token_$21127_$_t_address_$_t_uint256_$returns$__$",
|
||
|
"typeString": "function (contract IERC20Token,address,uint256) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12787,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9756:71:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12788,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "9756:71:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12794,
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12723,
|
||
|
"src": "9876:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12793,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "9868:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12792,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9868:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12795,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9868:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12796,
|
||
|
"name": "reserveBalance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12727,
|
||
|
"src": "9892:14:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12789,
|
||
|
"name": "etherToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12345,
|
||
|
"src": "9846:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IEtherToken_$21153",
|
||
|
"typeString": "contract IEtherToken"
|
||
|
}
|
||
|
},
|
||
|
"id": 12791,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "withdrawTo",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 21152,
|
||
|
"src": "9846:21:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_payable_$_t_uint256_$returns$__$",
|
||
|
"typeString": "function (address payable,uint256) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12797,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9846:61:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12798,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "9846:61:12"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
"id": 12827,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "9441:787:12",
|
||
|
"trueBody": {
|
||
|
"id": 12764,
|
||
|
"nodeType": "Block",
|
||
|
"src": "9484:84:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12760,
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12723,
|
||
|
"src": "9537:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12759,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "9529:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12758,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9529:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12761,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9529:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12755,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12721,
|
||
|
"src": "9503:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12757,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "withdrawETH",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13285,
|
||
|
"src": "9503:25:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_payable_$returns$__$",
|
||
|
"typeString": "function (address payable) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12762,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "9503:49:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12763,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "9503:49:12"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"id": 12741,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12739,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12736,
|
||
|
"src": "9292:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "<",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12740,
|
||
|
"name": "reserveTokenCount",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12730,
|
||
|
"src": "9296:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"src": "9292:21:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"id": 12829,
|
||
|
"initializationExpression": {
|
||
|
"assignments": [
|
||
|
12736
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12736,
|
||
|
"mutability": "mutable",
|
||
|
"name": "i",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12829,
|
||
|
"src": "9278:8:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12735,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "9278:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12738,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 12737,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "9289:1:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "9278:12:12"
|
||
|
},
|
||
|
"loopExpression": {
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12743,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "++",
|
||
|
"prefix": false,
|
||
|
"src": "9315:3:12",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12742,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12736,
|
||
|
"src": "9315:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"id": 12744,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "9315:3:12"
|
||
|
},
|
||
|
"nodeType": "ForStatement",
|
||
|
"src": "9273:966:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12719,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "8612:443:12",
|
||
|
"text": " @dev transfers the balance of each reserve in the old converter to the new one.\n note that the function assumes that the new converter already has the exact same number of\n also, this will not work for an unlimited number of reserves due to block gas limit constraints.\n @param _oldConverter old converter contract address\n @param _newConverter new converter contract address"
|
||
|
},
|
||
|
"id": 12831,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "transferReserveBalances",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12724,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12721,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12831,
|
||
|
"src": "9094:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12720,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "9094:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12723,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12831,
|
||
|
"src": "9120:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12722,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "9120:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "9093:52:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12725,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "9154:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "9061:1185:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12952,
|
||
|
"nodeType": "Block",
|
||
|
"src": "10674:1454:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12844,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "!",
|
||
|
"prefix": true,
|
||
|
"src": "10689:38:12",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12842,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12834,
|
||
|
"src": "10713:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12841,
|
||
|
"name": "isV28OrHigherConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 13008,
|
||
|
"src": "10690:22:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_internal_view$_t_contract$_IConverter_$13340_$returns$_t_bool_$",
|
||
|
"typeString": "function (contract IConverter) view returns (bool)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12843,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10690:37:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 12846,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "10685:64:12",
|
||
|
"trueBody": {
|
||
|
"expression": null,
|
||
|
"functionReturnParameters": 12840,
|
||
|
"id": 12845,
|
||
|
"nodeType": "Return",
|
||
|
"src": "10742:7:12"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12848
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12848,
|
||
|
"mutability": "mutable",
|
||
|
"name": "converterType",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12952,
|
||
|
"src": "10761:20:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12847,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "10761:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12852,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12849,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12834,
|
||
|
"src": "10784:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12850,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "converterType",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13190,
|
||
|
"src": "10784:27:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_pure$__$returns$_t_uint16_$",
|
||
|
"typeString": "function () pure external returns (uint16)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12851,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10784:29:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "10761:52:12"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"id": 12855,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12853,
|
||
|
"name": "converterType",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12848,
|
||
|
"src": "10828:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "32",
|
||
|
"id": 12854,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "10845:1:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_2_by_1",
|
||
|
"typeString": "int_const 2"
|
||
|
},
|
||
|
"value": "2"
|
||
|
},
|
||
|
"src": "10828:18:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 12951,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "10824:1297:12",
|
||
|
"trueBody": {
|
||
|
"id": 12950,
|
||
|
"nodeType": "Block",
|
||
|
"src": "10848:1273:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12857
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12857,
|
||
|
"mutability": "mutable",
|
||
|
"name": "oldConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12950,
|
||
|
"src": "10863:38:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12856,
|
||
|
"name": "ILiquidityPoolV2Converter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 18765,
|
||
|
"src": "10863:25:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12864,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12861,
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12834,
|
||
|
"src": "10938:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12860,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "10930:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12859,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "10930:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12862,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10930:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"id": 12858,
|
||
|
"name": "ILiquidityPoolV2Converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 18765,
|
||
|
"src": "10904:25:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_ILiquidityPoolV2Converter_$18765_$",
|
||
|
"typeString": "type(contract ILiquidityPoolV2Converter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12863,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "10904:49:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "10863:90:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12866
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12866,
|
||
|
"mutability": "mutable",
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12950,
|
||
|
"src": "10968:38:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12865,
|
||
|
"name": "ILiquidityPoolV2Converter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 18765,
|
||
|
"src": "10968:25:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12873,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12870,
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12836,
|
||
|
"src": "11043:13:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12869,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "11035:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12868,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "11035:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12871,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11035:22:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
],
|
||
|
"id": 12867,
|
||
|
"name": "ILiquidityPoolV2Converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 18765,
|
||
|
"src": "11009:25:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_contract$_ILiquidityPoolV2Converter_$18765_$",
|
||
|
"typeString": "type(contract ILiquidityPoolV2Converter)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12872,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11009:49:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "10968:90:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12875
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12875,
|
||
|
"mutability": "mutable",
|
||
|
"name": "reserveTokenCount",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12950,
|
||
|
"src": "11075:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12874,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "11075:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12879,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12876,
|
||
|
"name": "oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12857,
|
||
|
"src": "11102:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12877,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "connectorTokenCount",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13339,
|
||
|
"src": "11102:32:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_uint16_$",
|
||
|
"typeString": "function () view external returns (uint16)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12878,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11102:34:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "11075:61:12"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 12911,
|
||
|
"nodeType": "Block",
|
||
|
"src": "11198:324:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12891
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12891,
|
||
|
"mutability": "mutable",
|
||
|
"name": "reserveTokenAddress",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12911,
|
||
|
"src": "11265:31:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12890,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "11265:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12896,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12894,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12881,
|
||
|
"src": "11328:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12892,
|
||
|
"name": "oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12857,
|
||
|
"src": "11299:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12893,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "connectorTokens",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 13334,
|
||
|
"src": "11299:28:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_contract$_IERC20Token_$21127_$",
|
||
|
"typeString": "function (uint256) view external returns (contract IERC20Token)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12895,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11299:31:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "11265:65:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12898
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12898,
|
||
|
"mutability": "mutable",
|
||
|
"name": "balance",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12911,
|
||
|
"src": "11349:15:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12897,
|
||
|
"name": "uint256",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "11349:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12903,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12901,
|
||
|
"name": "reserveTokenAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12891,
|
||
|
"src": "11401:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12899,
|
||
|
"name": "oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12857,
|
||
|
"src": "11367:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12900,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "reserveStakedBalance",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 18738,
|
||
|
"src": "11367:33:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$_t_contract$_IERC20Token_$21127_$returns$_t_uint256_$",
|
||
|
"typeString": "function (contract IERC20Token) view external returns (uint256)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12902,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11367:54:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "11349:72:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12907,
|
||
|
"name": "reserveTokenAddress",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12891,
|
||
|
"src": "11477:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12908,
|
||
|
"name": "balance",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12898,
|
||
|
"src": "11498:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12904,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12866,
|
||
|
"src": "11440:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12906,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "setReserveStakedBalance",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 18745,
|
||
|
"src": "11440:36:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_IERC20Token_$21127_$_t_uint256_$returns$__$",
|
||
|
"typeString": "function (contract IERC20Token,uint256) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12909,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11440:66:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12910,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "11440:66:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"id": 12886,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12884,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12881,
|
||
|
"src": "11170:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "<",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12885,
|
||
|
"name": "reserveTokenCount",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12875,
|
||
|
"src": "11174:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"src": "11170:21:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"id": 12912,
|
||
|
"initializationExpression": {
|
||
|
"assignments": [
|
||
|
12881
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12881,
|
||
|
"mutability": "mutable",
|
||
|
"name": "i",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12912,
|
||
|
"src": "11156:8:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12880,
|
||
|
"name": "uint16",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "11156:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12883,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "30",
|
||
|
"id": 12882,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "11167:1:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_0_by_1",
|
||
|
"typeString": "int_const 0"
|
||
|
},
|
||
|
"value": "0"
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "11156:12:12"
|
||
|
},
|
||
|
"loopExpression": {
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12888,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "++",
|
||
|
"prefix": false,
|
||
|
"src": "11193:3:12",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12887,
|
||
|
"name": "i",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12881,
|
||
|
"src": "11193:1:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint16",
|
||
|
"typeString": "uint16"
|
||
|
}
|
||
|
},
|
||
|
"id": 12889,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "11193:3:12"
|
||
|
},
|
||
|
"nodeType": "ForStatement",
|
||
|
"src": "11151:371:12"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12914,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "UnaryOperation",
|
||
|
"operator": "!",
|
||
|
"prefix": true,
|
||
|
"src": "11542:10:12",
|
||
|
"subExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12913,
|
||
|
"name": "_activate",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12838,
|
||
|
"src": "11543:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 12917,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "11538:57:12",
|
||
|
"trueBody": {
|
||
|
"id": 12916,
|
||
|
"nodeType": "Block",
|
||
|
"src": "11554:41:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": null,
|
||
|
"functionReturnParameters": 12840,
|
||
|
"id": 12915,
|
||
|
"nodeType": "Return",
|
||
|
"src": "11573:7:12"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12919
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12919,
|
||
|
"mutability": "mutable",
|
||
|
"name": "primaryReserveToken",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12950,
|
||
|
"src": "11657:31:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12918,
|
||
|
"name": "IERC20Token",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 21127,
|
||
|
"src": "11657:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12923,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12920,
|
||
|
"name": "oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12857,
|
||
|
"src": "11691:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12921,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "primaryReserveToken",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 18750,
|
||
|
"src": "11691:32:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IERC20Token_$21127_$",
|
||
|
"typeString": "function () view external returns (contract IERC20Token)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12922,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11691:34:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "11657:68:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12925
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12925,
|
||
|
"mutability": "mutable",
|
||
|
"name": "priceOracle",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12950,
|
||
|
"src": "11790:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IPriceOracle_$22891",
|
||
|
"typeString": "contract IPriceOracle"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12924,
|
||
|
"name": "IPriceOracle",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 22891,
|
||
|
"src": "11790:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IPriceOracle_$22891",
|
||
|
"typeString": "contract IPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12929,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12926,
|
||
|
"name": "oldConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12857,
|
||
|
"src": "11817:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12927,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "priceOracle",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 18755,
|
||
|
"src": "11817:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IPriceOracle_$22891_$",
|
||
|
"typeString": "function () view external returns (contract IPriceOracle)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12928,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11817:26:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IPriceOracle_$22891",
|
||
|
"typeString": "contract IPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "11790:53:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12931
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12931,
|
||
|
"mutability": "mutable",
|
||
|
"name": "oracleA",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12950,
|
||
|
"src": "11858:29:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12930,
|
||
|
"name": "IChainlinkPriceOracle",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 22821,
|
||
|
"src": "11858:21:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12935,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12932,
|
||
|
"name": "priceOracle",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12925,
|
||
|
"src": "11890:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IPriceOracle_$22891",
|
||
|
"typeString": "contract IPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
"id": 12933,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "tokenAOracle",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 22856,
|
||
|
"src": "11890:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IChainlinkPriceOracle_$22821_$",
|
||
|
"typeString": "function () view external returns (contract IChainlinkPriceOracle)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12934,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11890:26:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "11858:58:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12937
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12937,
|
||
|
"mutability": "mutable",
|
||
|
"name": "oracleB",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12950,
|
||
|
"src": "11931:29:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12936,
|
||
|
"name": "IChainlinkPriceOracle",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 22821,
|
||
|
"src": "11931:21:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12941,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": [],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12938,
|
||
|
"name": "priceOracle",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12925,
|
||
|
"src": "11963:11:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IPriceOracle_$22891",
|
||
|
"typeString": "contract IPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
"id": 12939,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "tokenBOracle",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 22861,
|
||
|
"src": "11963:24:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IChainlinkPriceOracle_$22821_$",
|
||
|
"typeString": "function () view external returns (contract IChainlinkPriceOracle)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12940,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "11963:26:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "11931:58:12"
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12945,
|
||
|
"name": "primaryReserveToken",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12919,
|
||
|
"src": "12071:19:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12946,
|
||
|
"name": "oracleA",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12931,
|
||
|
"src": "12092:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12947,
|
||
|
"name": "oracleB",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12937,
|
||
|
"src": "12101:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IERC20Token_$21127",
|
||
|
"typeString": "contract IERC20Token"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
|
||
|
"typeString": "contract IChainlinkPriceOracle"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12942,
|
||
|
"name": "newConverter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12866,
|
||
|
"src": "12049:12:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_ILiquidityPoolV2Converter_$18765",
|
||
|
"typeString": "contract ILiquidityPoolV2Converter"
|
||
|
}
|
||
|
},
|
||
|
"id": 12944,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "activate",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": 18764,
|
||
|
"src": "12049:21:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_IERC20Token_$21127_$_t_contract$_IChainlinkPriceOracle_$22821_$_t_contract$_IChainlinkPriceOracle_$22821_$returns$__$",
|
||
|
"typeString": "function (contract IERC20Token,contract IChainlinkPriceOracle,contract IChainlinkPriceOracle) external"
|
||
|
}
|
||
|
},
|
||
|
"id": 12948,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "12049:60:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$__$",
|
||
|
"typeString": "tuple()"
|
||
|
}
|
||
|
},
|
||
|
"id": 12949,
|
||
|
"nodeType": "ExpressionStatement",
|
||
|
"src": "12049:60:12"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": {
|
||
|
"id": 12832,
|
||
|
"nodeType": "StructuredDocumentation",
|
||
|
"src": "10254:306:12",
|
||
|
"text": " @dev handles upgrading custom (type specific) data from the old converter to the new one\n @param _oldConverter old converter contract address\n @param _newConverter new converter contract address\n @param _activate activate the new converter"
|
||
|
},
|
||
|
"id": 12953,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "handleTypeSpecificData",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12839,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12834,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_oldConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12953,
|
||
|
"src": "10598:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12833,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "10598:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12836,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_newConverter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12953,
|
||
|
"src": "10624:24:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12835,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "10624:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12838,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_activate",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 12953,
|
||
|
"src": "10650:14:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12837,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "10650:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "10597:68:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12840,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "10674:0:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "10566:1562:12",
|
||
|
"stateMutability": "nonpayable",
|
||
|
"virtual": false,
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"constant": true,
|
||
|
"id": 12961,
|
||
|
"mutability": "constant",
|
||
|
"name": "IS_V28_OR_HIGHER_FUNC_SELECTOR",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 13009,
|
||
|
"src": "12136:93:12",
|
||
|
"stateVariable": true,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes4",
|
||
|
"typeString": "bytes4"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12954,
|
||
|
"name": "bytes4",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "12136:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes4",
|
||
|
"typeString": "bytes4"
|
||
|
}
|
||
|
},
|
||
|
"value": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "69735632384f724869676865722829",
|
||
|
"id": 12958,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "string",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "12210:17:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_stringliteral_d260529c8620a59d78f2e58cfd1294673bb6cba228ad1f34ac7731003ab870dd",
|
||
|
"typeString": "literal_string \"isV28OrHigher()\""
|
||
|
},
|
||
|
"value": "isV28OrHigher()"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_stringliteral_d260529c8620a59d78f2e58cfd1294673bb6cba228ad1f34ac7731003ab870dd",
|
||
|
"typeString": "literal_string \"isV28OrHigher()\""
|
||
|
}
|
||
|
],
|
||
|
"id": 12957,
|
||
|
"name": "keccak256",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -8,
|
||
|
"src": "12200:9:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
|
||
|
"typeString": "function (bytes memory) pure returns (bytes32)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12959,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "12200:28:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes32",
|
||
|
"typeString": "bytes32"
|
||
|
}
|
||
|
],
|
||
|
"id": 12956,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "12193:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_bytes4_$",
|
||
|
"typeString": "type(bytes4)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12955,
|
||
|
"name": "bytes4",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "12193:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12960,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "12193:36:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes4",
|
||
|
"typeString": "bytes4"
|
||
|
}
|
||
|
},
|
||
|
"visibility": "private"
|
||
|
},
|
||
|
{
|
||
|
"body": {
|
||
|
"id": 13007,
|
||
|
"nodeType": "Block",
|
||
|
"src": "12486:336:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"assignments": [
|
||
|
12969
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12969,
|
||
|
"mutability": "mutable",
|
||
|
"name": "data",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 13007,
|
||
|
"src": "12497:17:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "memory",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12968,
|
||
|
"name": "bytes",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "12497:5:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_storage_ptr",
|
||
|
"typeString": "bytes"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12974,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12972,
|
||
|
"name": "IS_V28_OR_HIGHER_FUNC_SELECTOR",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12961,
|
||
|
"src": "12540:30:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes4",
|
||
|
"typeString": "bytes4"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes4",
|
||
|
"typeString": "bytes4"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12970,
|
||
|
"name": "abi",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -1,
|
||
|
"src": "12517:3:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_magic_abi",
|
||
|
"typeString": "abi"
|
||
|
}
|
||
|
},
|
||
|
"id": 12971,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "encodeWithSelector",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "12517:22:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
|
||
|
"typeString": "function (bytes4) pure returns (bytes memory)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12973,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "12517:54:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes memory"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "12497:74:12"
|
||
|
},
|
||
|
{
|
||
|
"assignments": [
|
||
|
12976,
|
||
|
12978
|
||
|
],
|
||
|
"declarations": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12976,
|
||
|
"mutability": "mutable",
|
||
|
"name": "success",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 13007,
|
||
|
"src": "12583:12:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12975,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "12583:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12978,
|
||
|
"mutability": "mutable",
|
||
|
"name": "returnData",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 13007,
|
||
|
"src": "12597:23:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "memory",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12977,
|
||
|
"name": "bytes",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "12597:5:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_storage_ptr",
|
||
|
"typeString": "bytes"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"id": 12988,
|
||
|
"initialValue": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12986,
|
||
|
"name": "data",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12969,
|
||
|
"src": "12668:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes memory"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes memory"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes memory"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12981,
|
||
|
"name": "_converter",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12963,
|
||
|
"src": "12632:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
],
|
||
|
"id": 12980,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "12624:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_address_$",
|
||
|
"typeString": "type(address)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12979,
|
||
|
"name": "address",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "12624:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"id": 12982,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "typeConversion",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "12624:19:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_address_payable",
|
||
|
"typeString": "address payable"
|
||
|
}
|
||
|
},
|
||
|
"id": 12983,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "staticcall",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "12624:30:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
|
||
|
"typeString": "function (bytes memory) view returns (bool,bytes memory)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12985,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"names": [
|
||
|
"gas"
|
||
|
],
|
||
|
"nodeType": "FunctionCallOptions",
|
||
|
"options": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "34303030",
|
||
|
"id": 12984,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "12661:4:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_4000_by_1",
|
||
|
"typeString": "int_const 4000"
|
||
|
},
|
||
|
"value": "4000"
|
||
|
}
|
||
|
],
|
||
|
"src": "12624:43:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gas",
|
||
|
"typeString": "function (bytes memory) view returns (bool,bytes memory)"
|
||
|
}
|
||
|
},
|
||
|
"id": 12987,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "12624:49:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
|
||
|
"typeString": "tuple(bool,bytes memory)"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "VariableDeclarationStatement",
|
||
|
"src": "12582:91:12"
|
||
|
},
|
||
|
{
|
||
|
"condition": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"id": 12994,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12989,
|
||
|
"name": "success",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12976,
|
||
|
"src": "12690:7:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "&&",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"commonType": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"id": 12993,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"leftExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12990,
|
||
|
"name": "returnData",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12978,
|
||
|
"src": "12701:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes memory"
|
||
|
}
|
||
|
},
|
||
|
"id": 12991,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "length",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "12701:17:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"nodeType": "BinaryOperation",
|
||
|
"operator": "==",
|
||
|
"rightExpression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "3332",
|
||
|
"id": 12992,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "number",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "12722:2:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_rational_32_by_1",
|
||
|
"typeString": "int_const 32"
|
||
|
},
|
||
|
"value": "32"
|
||
|
},
|
||
|
"src": "12701:23:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"src": "12690:34:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"falseBody": null,
|
||
|
"id": 13004,
|
||
|
"nodeType": "IfStatement",
|
||
|
"src": "12686:104:12",
|
||
|
"trueBody": {
|
||
|
"id": 13003,
|
||
|
"nodeType": "Block",
|
||
|
"src": "12726:64:12",
|
||
|
"statements": [
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"arguments": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12997,
|
||
|
"name": "returnData",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": 12978,
|
||
|
"src": "12759:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes memory"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"components": [
|
||
|
{
|
||
|
"argumentTypes": null,
|
||
|
"id": 12999,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "ElementaryTypeNameExpression",
|
||
|
"src": "12772:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_bool_$",
|
||
|
"typeString": "type(bool)"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12998,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "12772:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": null,
|
||
|
"typeString": null
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"id": 13000,
|
||
|
"isConstant": false,
|
||
|
"isInlineArray": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "TupleExpression",
|
||
|
"src": "12771:6:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_type$_t_bool_$",
|
||
|
"typeString": "type(bool)"
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": [
|
||
|
{
|
||
|
"typeIdentifier": "t_bytes_memory_ptr",
|
||
|
"typeString": "bytes memory"
|
||
|
},
|
||
|
{
|
||
|
"typeIdentifier": "t_type$_t_bool_$",
|
||
|
"typeString": "type(bool)"
|
||
|
}
|
||
|
],
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"id": 12995,
|
||
|
"name": "abi",
|
||
|
"nodeType": "Identifier",
|
||
|
"overloadedDeclarations": [],
|
||
|
"referencedDeclaration": -1,
|
||
|
"src": "12748:3:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_magic_abi",
|
||
|
"typeString": "abi"
|
||
|
}
|
||
|
},
|
||
|
"id": 12996,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"lValueRequested": false,
|
||
|
"memberName": "decode",
|
||
|
"nodeType": "MemberAccess",
|
||
|
"referencedDeclaration": null,
|
||
|
"src": "12748:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
|
||
|
"typeString": "function () pure"
|
||
|
}
|
||
|
},
|
||
|
"id": 13001,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": false,
|
||
|
"kind": "functionCall",
|
||
|
"lValueRequested": false,
|
||
|
"names": [],
|
||
|
"nodeType": "FunctionCall",
|
||
|
"src": "12748:30:12",
|
||
|
"tryCall": false,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"functionReturnParameters": 12967,
|
||
|
"id": 13002,
|
||
|
"nodeType": "Return",
|
||
|
"src": "12741:37:12"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"expression": {
|
||
|
"argumentTypes": null,
|
||
|
"hexValue": "66616c7365",
|
||
|
"id": 13005,
|
||
|
"isConstant": false,
|
||
|
"isLValue": false,
|
||
|
"isPure": true,
|
||
|
"kind": "bool",
|
||
|
"lValueRequested": false,
|
||
|
"nodeType": "Literal",
|
||
|
"src": "12809:5:12",
|
||
|
"subdenomination": null,
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"value": "false"
|
||
|
},
|
||
|
"functionReturnParameters": 12967,
|
||
|
"id": 13006,
|
||
|
"nodeType": "Return",
|
||
|
"src": "12802:12:12"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"documentation": null,
|
||
|
"id": 13008,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "isV28OrHigherConverter",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"overrides": null,
|
||
|
"parameters": {
|
||
|
"id": 12964,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12963,
|
||
|
"mutability": "mutable",
|
||
|
"name": "_converter",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 13008,
|
||
|
"src": "12434:21:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"contractScope": null,
|
||
|
"id": 12962,
|
||
|
"name": "IConverter",
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"referencedDeclaration": 13340,
|
||
|
"src": "12434:10:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_contract$_IConverter_$13340",
|
||
|
"typeString": "contract IConverter"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "12433:23:12"
|
||
|
},
|
||
|
"returnParameters": {
|
||
|
"id": 12967,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 12966,
|
||
|
"mutability": "mutable",
|
||
|
"name": "",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"overrides": null,
|
||
|
"scope": 13008,
|
||
|
"src": "12480:4:12",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
},
|
||
|
"typeName": {
|
||
|
"id": 12965,
|
||
|
"name": "bool",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "12480:4:12",
|
||
|
"typeDescriptions": {
|
||
|
"typeIdentifier": "t_bool",
|
||
|
"typeString": "bool"
|
||
|
}
|
||
|
},
|
||
|
"value": null,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"src": "12479:6:12"
|
||
|
},
|
||
|
"scope": 13009,
|
||
|
"src": "12402:420:12",
|
||
|
"stateMutability": "view",
|
||
|
"virtual": false,
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"scope": 13010,
|
||
|
"src": "1251:11574:12"
|
||
|
}
|
||
|
],
|
||
|
"src": "52:12775:12"
|
||
|
},
|
||
|
"compiler": {
|
||
|
"name": "solc",
|
||
|
"version": "0.6.12+commit.27d51765.Emscripten.clang"
|
||
|
},
|
||
|
"networks": {},
|
||
|
"schemaVersion": "3.2.3",
|
||
|
"updatedAt": "2020-10-20T08:24:47.737Z",
|
||
|
"devdoc": {
|
||
|
"details": "Converter Upgrader The converter upgrader contract allows upgrading an older converter contract (0.4 and up) to the latest version. To begin the upgrade process, simply execute the 'upgrade' function. At the end of the process, the ownership of the newly upgraded converter will be transferred back to the original owner and the original owner will need to execute the 'acceptOwnership' function. The address of the new converter is available in the ConverterUpgrade event. Note that for older converters that don't yet have the 'upgrade' function, ownership should first be transferred manually to the ConverterUpgrader contract using the 'transferOwnership' function and then the upgrader 'upgrade' function should be executed directly.",
|
||
|
"events": {
|
||
|
"ConverterOwned(address,address)": {
|
||
|
"details": "triggered when the contract accept a converter ownership",
|
||
|
"params": {
|
||
|
"_converter": "converter address",
|
||
|
"_owner": "new owner - local upgrader address"
|
||
|
}
|
||
|
},
|
||
|
"ConverterUpgrade(address,address)": {
|
||
|
"details": "triggered when the upgrading process is done",
|
||
|
"params": {
|
||
|
"_newConverter": "new converter address",
|
||
|
"_oldConverter": "old converter address"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"kind": "dev",
|
||
|
"methods": {
|
||
|
"acceptOwnership()": {
|
||
|
"details": "used by a new owner to accept an ownership transfer"
|
||
|
},
|
||
|
"constructor": {
|
||
|
"details": "initializes a new ConverterUpgrader instance",
|
||
|
"params": {
|
||
|
"_registry": "address of a contract registry contract"
|
||
|
}
|
||
|
},
|
||
|
"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"
|
||
|
},
|
||
|
"upgrade(bytes32)": {
|
||
|
"details": "upgrades an old converter to the latest version will throw if ownership wasn't transferred to the upgrader before calling this function. ownership of the new converter will be transferred back to the original owner. fires the ConverterUpgrade event upon success. can only be called by a converter",
|
||
|
"params": {
|
||
|
"_version": "old converter version"
|
||
|
}
|
||
|
},
|
||
|
"upgrade(uint16)": {
|
||
|
"details": "upgrades an old converter to the latest version will throw if ownership wasn't transferred to the upgrader before calling this function. ownership of the new converter will be transferred back to the original owner. fires the ConverterUpgrade event upon success. can only be called by a converter",
|
||
|
"params": {
|
||
|
"_version": "old converter version"
|
||
|
}
|
||
|
},
|
||
|
"upgradeOld(address,bytes32)": {
|
||
|
"details": "upgrades an old converter to the latest version will throw if ownership wasn't transferred to the upgrader before calling this function. ownership of the new converter will be transferred back to the original owner. fires the ConverterUpgrade event upon success.",
|
||
|
"params": {
|
||
|
"_converter": "old converter contract address",
|
||
|
"_version": "old converter version"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"version": 1
|
||
|
},
|
||
|
"userdoc": {
|
||
|
"kind": "user",
|
||
|
"methods": {},
|
||
|
"version": 1
|
||
|
}
|
||
|
}
|