cic-internal-integration/apps/cic-eth/tests/testdata/bancor/LiquidityPoolV2ConverterCustomFactory.json

1093 lines
59 KiB
JSON

{
"contractName": "LiquidityPoolV2ConverterCustomFactory",
"abi": [
{
"inputs": [],
"name": "converterType",
"outputs": [
{
"internalType": "uint16",
"name": "",
"type": "uint16"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20Token",
"name": "_primaryReserveToken",
"type": "address"
},
{
"internalType": "contract IERC20Token",
"name": "_secondaryReserveToken",
"type": "address"
},
{
"internalType": "contract IChainlinkPriceOracle",
"name": "_primaryReserveOracle",
"type": "address"
},
{
"internalType": "contract IChainlinkPriceOracle",
"name": "_secondaryReserveOracle",
"type": "address"
}
],
"name": "createPriceOracle",
"outputs": [
{
"internalType": "contract IPriceOracle",
"name": "",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"converterType\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20Token\",\"name\":\"_primaryReserveToken\",\"type\":\"address\"},{\"internalType\":\"contract IERC20Token\",\"name\":\"_secondaryReserveToken\",\"type\":\"address\"},{\"internalType\":\"contract IChainlinkPriceOracle\",\"name\":\"_primaryReserveOracle\",\"type\":\"address\"},{\"internalType\":\"contract IChainlinkPriceOracle\",\"name\":\"_secondaryReserveOracle\",\"type\":\"address\"}],\"name\":\"createPriceOracle\",\"outputs\":[{\"internalType\":\"contract IPriceOracle\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"converterType()\":{\"details\":\"returns the converter type the factory is associated with\",\"returns\":{\"_0\":\"converter type\"}},\"createPriceOracle(address,address,address,address)\":{\"details\":\"creates a new price oracle note that the oracles must have the same common denominator (USD, ETH etc.)\",\"params\":{\"_primaryReserveOracle\":\"primary reserve oracle address\",\"_primaryReserveToken\":\"primary reserve token address\",\"_secondaryReserveOracle\":\"secondary reserve oracle address\",\"_secondaryReserveToken\":\"secondary reserve token address\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/types/liquidity-pool-v2/LiquidityPoolV2ConverterCustomFactory.sol\":\"LiquidityPoolV2ConverterCustomFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/interfaces/ITypedConverterCustomFactory.sol\":{\"keccak256\":\"0xe9e91f22d45e1c39dd441bed511d5fa6acffe83910f42ea7abcfd300f59daaaf\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://621881bd2a74632b697d87e4c3253142f8758364122240d5cc18826b18bfef80\",\"dweb:/ipfs/QmcTPevgXAYM7Li4r3rKn8uqRF2hWpid2uNBwymysYjLWp\"]},\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/types/liquidity-pool-v2/LiquidityPoolV2ConverterCustomFactory.sol\":{\"keccak256\":\"0x7fc843e5f1b0de5cc1248b4f12396a2dc42fc089f4af0b20ddb222cfca096f92\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://2f042d21817d6cabc0296f90ed45730353ff1a057c797104518b3a33dc01261b\",\"dweb:/ipfs/QmNgXdNtY1f2Ggg8PbB1MZVS9am8YAmPdj5fD7LFvApqC4\"]},\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/token/interfaces/IERC20Token.sol\":{\"keccak256\":\"0xe6f988c3156e88258474526a541d5a42b6a9adae98b04177a059d9f723bc82cd\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://9a6eb77a5b9ce70995a11a6e48ac3985a4c70896fe5fe04d46146ad7c1c83ea3\",\"dweb:/ipfs/QmYvGSveZFG51tghwkVuu6eK9Jy8frHpfLxHTMyvNZN461\"]},\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/PriceOracle.sol\":{\"keccak256\":\"0x5d03fb3ec2ef50006712ad6fd47d14aed49c4d57971e8d918618093f690e6170\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://8dae9bd9a95911008b10d316a1efaa6f05224bf37dec02ace44ef5a303aff3ee\",\"dweb:/ipfs/Qmeuv2c6R2KwFWganFF7US5s5TcYm1toGM2o4XkS1zGx4R\"]},\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/SafeMath.sol\":{\"keccak256\":\"0x1ab7391a19ca8a3ad2f3c4a1074e080d4d76dfdb834637bdd0c1e6b6acdf28af\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://d6d8c99621ca884b72da2d84eddfec8ec8c5533915691d6eec94a07adf445608\",\"dweb:/ipfs/QmaXr6DN7VbfxfMn3PsTy7SAMgZVVXbdeaw11BsAjVL2x1\"]},\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/Utils.sol\":{\"keccak256\":\"0x073efa69fcd6b5e60f841b28b366d63b62ff48ab12a06ce3f5a7f41afd6ce885\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://e8b8ecb2d29197ca77f0ed98f728ace54e6edcfdf5cd1194ae22701607eaf608\",\"dweb:/ipfs/QmcsR6Q35Hurh3TrPkYAboicz9bQQoGCWmZLzUCDyhotH8\"]},\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/interfaces/IChainlinkPriceOracle.sol\":{\"keccak256\":\"0x544a1d335c9a30e5543f5c069bbd9f73e6478b0a6941481619a0d20eea159c2a\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://8649d3ff5e21bf5ff21d45a62193974e08ccec27b392e91cbfdad479a60e87f0\",\"dweb:/ipfs/QmatS5peisTv9PdqVz9eSuveQdhJBqpxfpr5q4YsMv51CZ\"]},\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/interfaces/IPriceOracle.sol\":{\"keccak256\":\"0x39f4f7af694f7f24373901d8edd57245c6e59970cd1b35137ded4bbebe2155bb\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://30d1011854960be9ab326844d4d97324084955593b2903bee969aba6b1b5f8e9\",\"dweb:/ipfs/QmeTQNZRDNrboKD3ikyMj3tNVHGsa1GqBuAXytJAhhK5Az\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50610b3b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80631b27444e1461003b5780633e8ff43f14610095575b600080fd5b6100796004803603608081101561005157600080fd5b506001600160a01b0381358116916020810135821691604082013581169160600135166100b4565b604080516001600160a01b039092168252519081900360200190f35b61009d610117565b6040805161ffff9092168252519081900360200190f35b6000848484846040516100c69061011c565b6001600160a01b039485168152928416602084015290831660408084019190915292166060820152905190819003608001906000f08015801561010d573d6000803e3d6000fd5b5095945050505050565b600290565b6109dc8061012a8339019056fe608060405234801561001057600080fd5b506040516109dc3803806109dc8339818101604052608081101561003357600080fd5b508051602082015160408301516060909301519192909183836100568282610157565b83836100628282610157565b600080546001600160a01b03808b166001600160a01b03199283161790925560018054928a169290911691909117905561009b886101c7565b6001600160a01b0389166000908152600260205260409020805460ff191660ff929092169190911790556100ce876101c7565b6001600160a01b039788166000818152600260209081526040808320805460ff9690961660ff1990961695909517909455600380549a8c166001600160a01b03199b8c168117909155600480549a8d169a8c168b1790559b909a168152600590995281892080548916909a179099559787525050509390922080549091169091179055506102c1565b61016082610263565b61016981610263565b806001600160a01b0316826001600160a01b031614156101c3576040805162461bcd60e51b815260206004820152601060248201526f4552525f53414d455f4144445245535360801b604482015290519081900360640190fd5b5050565b60006001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156101f65750601261025e565b816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561022f57600080fd5b505afa158015610243573d6000803e3d6000fd5b505050506040513d602081101561025957600080fd5b505190505b919050565b6001600160a01b0381166102be576040805162461bcd60e51b815260206004820152601360248201527f4552525f494e56414c49445f4144445245535300000000000000000000000000604482015290519081900360640190fd5b50565b61070c806102d06000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063b1772d7a11610066578063b1772d7a14610147578063b9e1715b14610193578063c8f33c911461019b578063cbd962d1146101b5578063f997fda7146101db57610093565b80630fc63d10146100985780635f64b55b146100bc5780638ee573ac146100c4578063ae81800414610100575b600080fd5b6100a06101e3565b604080516001600160a01b039092168252519081900360200190f35b6100a06101f2565b6100ea600480360360208110156100da57600080fd5b50356001600160a01b0316610201565b6040805160ff9092168252519081900360200190f35b61012e6004803603604081101561011657600080fd5b506001600160a01b0381358116916020013516610216565b6040805192835260208301919091528051918290030190f35b6101756004803603604081101561015d57600080fd5b506001600160a01b03813581169160200135166103a5565b60408051938452602084019290925282820152519081900360600190f35b6100a06103d4565b6101a36103e3565b60408051918252519081900360200190f35b6100a0600480360360208110156101cb57600080fd5b50356001600160a01b03166104ec565b6100a0610507565b6000546001600160a01b031681565b6001546001600160a01b031681565b60026020526000908152604090205460ff1681565b60008083836102258282610516565b6001600160a01b0380871660009081526005602090815260408083205481516350d25bcd60e01b81529151939416926350d25bcd92600480840193919291829003018186803b15801561027757600080fd5b505afa15801561028b573d6000803e3d6000fd5b505050506040513d60208110156102a157600080fd5b50516001600160a01b0380881660009081526005602090815260408083205481516350d25bcd60e01b81529151959650929492909316926350d25bcd9260048083019392829003018186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d602081101561032357600080fd5b50516001600160a01b03808a1660009081526002602052604080822054928b16825290205491925060ff9081169116808211156103735761036c8360ff83850316600a0a6105af565b9250610396565b8060ff168260ff161015610396576103938460ff84840316600a0a6105af565b93505b50919890975095505050505050565b60008060008060006103b78787610216565b9150915081816103c56103e3565b94509450945050509250925092565b6003546001600160a01b031681565b600080600360009054906101000a90046001600160a01b03166001600160a01b0316638205bf6a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561043457600080fd5b505afa158015610448573d6000803e3d6000fd5b505050506040513d602081101561045e57600080fd5b50516004805460408051634102dfb560e11b815290519394506000936001600160a01b0390921692638205bf6a928282019260209290829003018186803b1580156104a857600080fd5b505afa1580156104bc573d6000803e3d6000fd5b505050506040513d60208110156104d257600080fd5b505190508082116104e357806104e5565b815b9250505090565b6005602052600090815260409020546001600160a01b031681565b6004546001600160a01b031681565b6105208282610616565b6001600160a01b03828116600090815260056020526040902054161580159061056257506001600160a01b038181166000908152600560205260409020541615155b6105ab576040805162461bcd60e51b815260206004820152601560248201527422a9292faaa729aaa82827a92a22a22faa27a5a2a760591b604482015290519081900360640190fd5b5050565b6000826105be57506000610610565b828202828482816105cb57fe5b041461060d576040805162461bcd60e51b815260206004820152600c60248201526b4552525f4f564552464c4f5760a01b604482015290519081900360640190fd5b90505b92915050565b61061f82610682565b61062881610682565b806001600160a01b0316826001600160a01b031614156105ab576040805162461bcd60e51b815260206004820152601060248201526f4552525f53414d455f4144445245535360801b604482015290519081900360640190fd5b6001600160a01b0381166106d3576040805162461bcd60e51b81526020600482015260136024820152724552525f494e56414c49445f4144445245535360681b604482015290519081900360640190fd5b5056fea2646970667358221220022bb923a68c1656dd285dc381e0a9d05c2218475c0b4d9e4b9d7f999b97b5e164736f6c634300060c0033a2646970667358221220ec89372263b2118b8804565f5f230b2271ae6af6a0fdf26eb2e4ce93e2defda364736f6c634300060c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80631b27444e1461003b5780633e8ff43f14610095575b600080fd5b6100796004803603608081101561005157600080fd5b506001600160a01b0381358116916020810135821691604082013581169160600135166100b4565b604080516001600160a01b039092168252519081900360200190f35b61009d610117565b6040805161ffff9092168252519081900360200190f35b6000848484846040516100c69061011c565b6001600160a01b039485168152928416602084015290831660408084019190915292166060820152905190819003608001906000f08015801561010d573d6000803e3d6000fd5b5095945050505050565b600290565b6109dc8061012a8339019056fe608060405234801561001057600080fd5b506040516109dc3803806109dc8339818101604052608081101561003357600080fd5b508051602082015160408301516060909301519192909183836100568282610157565b83836100628282610157565b600080546001600160a01b03808b166001600160a01b03199283161790925560018054928a169290911691909117905561009b886101c7565b6001600160a01b0389166000908152600260205260409020805460ff191660ff929092169190911790556100ce876101c7565b6001600160a01b039788166000818152600260209081526040808320805460ff9690961660ff1990961695909517909455600380549a8c166001600160a01b03199b8c168117909155600480549a8d169a8c168b1790559b909a168152600590995281892080548916909a179099559787525050509390922080549091169091179055506102c1565b61016082610263565b61016981610263565b806001600160a01b0316826001600160a01b031614156101c3576040805162461bcd60e51b815260206004820152601060248201526f4552525f53414d455f4144445245535360801b604482015290519081900360640190fd5b5050565b60006001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156101f65750601261025e565b816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561022f57600080fd5b505afa158015610243573d6000803e3d6000fd5b505050506040513d602081101561025957600080fd5b505190505b919050565b6001600160a01b0381166102be576040805162461bcd60e51b815260206004820152601360248201527f4552525f494e56414c49445f4144445245535300000000000000000000000000604482015290519081900360640190fd5b50565b61070c806102d06000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063b1772d7a11610066578063b1772d7a14610147578063b9e1715b14610193578063c8f33c911461019b578063cbd962d1146101b5578063f997fda7146101db57610093565b80630fc63d10146100985780635f64b55b146100bc5780638ee573ac146100c4578063ae81800414610100575b600080fd5b6100a06101e3565b604080516001600160a01b039092168252519081900360200190f35b6100a06101f2565b6100ea600480360360208110156100da57600080fd5b50356001600160a01b0316610201565b6040805160ff9092168252519081900360200190f35b61012e6004803603604081101561011657600080fd5b506001600160a01b0381358116916020013516610216565b6040805192835260208301919091528051918290030190f35b6101756004803603604081101561015d57600080fd5b506001600160a01b03813581169160200135166103a5565b60408051938452602084019290925282820152519081900360600190f35b6100a06103d4565b6101a36103e3565b60408051918252519081900360200190f35b6100a0600480360360208110156101cb57600080fd5b50356001600160a01b03166104ec565b6100a0610507565b6000546001600160a01b031681565b6001546001600160a01b031681565b60026020526000908152604090205460ff1681565b60008083836102258282610516565b6001600160a01b0380871660009081526005602090815260408083205481516350d25bcd60e01b81529151939416926350d25bcd92600480840193919291829003018186803b15801561027757600080fd5b505afa15801561028b573d6000803e3d6000fd5b505050506040513d60208110156102a157600080fd5b50516001600160a01b0380881660009081526005602090815260408083205481516350d25bcd60e01b81529151959650929492909316926350d25bcd9260048083019392829003018186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d602081101561032357600080fd5b50516001600160a01b03808a1660009081526002602052604080822054928b16825290205491925060ff9081169116808211156103735761036c8360ff83850316600a0a6105af565b9250610396565b8060ff168260ff161015610396576103938460ff84840316600a0a6105af565b93505b50919890975095505050505050565b60008060008060006103b78787610216565b9150915081816103c56103e3565b94509450945050509250925092565b6003546001600160a01b031681565b600080600360009054906101000a90046001600160a01b03166001600160a01b0316638205bf6a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561043457600080fd5b505afa158015610448573d6000803e3d6000fd5b505050506040513d602081101561045e57600080fd5b50516004805460408051634102dfb560e11b815290519394506000936001600160a01b0390921692638205bf6a928282019260209290829003018186803b1580156104a857600080fd5b505afa1580156104bc573d6000803e3d6000fd5b505050506040513d60208110156104d257600080fd5b505190508082116104e357806104e5565b815b9250505090565b6005602052600090815260409020546001600160a01b031681565b6004546001600160a01b031681565b6105208282610616565b6001600160a01b03828116600090815260056020526040902054161580159061056257506001600160a01b038181166000908152600560205260409020541615155b6105ab576040805162461bcd60e51b815260206004820152601560248201527422a9292faaa729aaa82827a92a22a22faa27a5a2a760591b604482015290519081900360640190fd5b5050565b6000826105be57506000610610565b828202828482816105cb57fe5b041461060d576040805162461bcd60e51b815260206004820152600c60248201526b4552525f4f564552464c4f5760a01b604482015290519081900360640190fd5b90505b92915050565b61061f82610682565b61062881610682565b806001600160a01b0316826001600160a01b031614156105ab576040805162461bcd60e51b815260206004820152601060248201526f4552525f53414d455f4144445245535360801b604482015290519081900360640190fd5b6001600160a01b0381166106d3576040805162461bcd60e51b81526020600482015260136024820152724552525f494e56414c49445f4144445245535360681b604482015290519081900360640190fd5b5056fea2646970667358221220022bb923a68c1656dd285dc381e0a9d05c2218475c0b4d9e4b9d7f999b97b5e164736f6c634300060c0033a2646970667358221220ec89372263b2118b8804565f5f230b2271ae6af6a0fdf26eb2e4ce93e2defda364736f6c634300060c0033",
"immutableReferences": {},
"sourceMap": "243:1175:30:-:0;;;;;;;;;;;;;;;;;;;",
"deployedSourceMap": "243:1175:30:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1001:414;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1001:414:30;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1001:414:30;;;;;;;;;;;;;;459:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1001:414;1261:12;1314:20;1336:22;1360:21;1383:23;1298:109;;;;;:::i;:::-;-1:-1:-1;;;;;1298:109:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1298:109:30;;;;;;;;;;;;;;;-1:-1:-1;1291:116:30;1001:414;-1:-1:-1;;;;;1001:414:30:o;459:92::-;542:1;459:92;:::o;-1:-1:-1:-;;;;;;;;:::o",
"source": "// SPDX-License-Identifier: SEE LICENSE IN LICENSE\r\npragma solidity 0.6.12;\r\nimport \"../../interfaces/ITypedConverterCustomFactory.sol\";\r\nimport \"../../../utility/PriceOracle.sol\";\r\n\r\n/*\r\n LiquidityPoolV2ConverterCustomFactory Factory\r\n*/\r\ncontract LiquidityPoolV2ConverterCustomFactory is ITypedConverterCustomFactory {\r\n /**\r\n * @dev returns the converter type the factory is associated with\r\n *\r\n * @return converter type\r\n */\r\n function converterType() external pure override returns (uint16) {\r\n return 2;\r\n }\r\n\r\n /**\r\n * @dev creates a new price oracle\r\n * note that the oracles must have the same common denominator (USD, ETH etc.)\r\n *\r\n * @param _primaryReserveToken primary reserve token address\r\n * @param _secondaryReserveToken secondary reserve token address\r\n * @param _primaryReserveOracle primary reserve oracle address\r\n * @param _secondaryReserveOracle secondary reserve oracle address\r\n */\r\n function createPriceOracle(\r\n IERC20Token _primaryReserveToken,\r\n IERC20Token _secondaryReserveToken,\r\n IChainlinkPriceOracle _primaryReserveOracle,\r\n IChainlinkPriceOracle _secondaryReserveOracle)\r\n public\r\n returns (IPriceOracle)\r\n {\r\n return new PriceOracle(_primaryReserveToken, _secondaryReserveToken, _primaryReserveOracle, _secondaryReserveOracle);\r\n }\r\n}\r\n",
"sourcePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/types/liquidity-pool-v2/LiquidityPoolV2ConverterCustomFactory.sol",
"ast": {
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/types/liquidity-pool-v2/LiquidityPoolV2ConverterCustomFactory.sol",
"exportedSymbols": {
"LiquidityPoolV2ConverterCustomFactory": [
18456
]
},
"id": 18457,
"license": "SEE LICENSE IN LICENSE",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 18418,
"literals": [
"solidity",
"0.6",
".12"
],
"nodeType": "PragmaDirective",
"src": "52:23:30"
},
{
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/interfaces/ITypedConverterCustomFactory.sol",
"file": "../../interfaces/ITypedConverterCustomFactory.sol",
"id": 18419,
"nodeType": "ImportDirective",
"scope": 18457,
"sourceUnit": 13689,
"src": "77:59:30",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/PriceOracle.sol",
"file": "../../../utility/PriceOracle.sol",
"id": 18420,
"nodeType": "ImportDirective",
"scope": 18457,
"sourceUnit": 22206,
"src": "138:42:30",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 18421,
"name": "ITypedConverterCustomFactory",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 13688,
"src": "293:28:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ITypedConverterCustomFactory_$13688",
"typeString": "contract ITypedConverterCustomFactory"
}
},
"id": 18422,
"nodeType": "InheritanceSpecifier",
"src": "293:28:30"
}
],
"contractDependencies": [
13688,
22205
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 18456,
"linearizedBaseContracts": [
18456,
13688
],
"name": "LiquidityPoolV2ConverterCustomFactory",
"nodeType": "ContractDefinition",
"nodes": [
{
"baseFunctions": [
13687
],
"body": {
"id": 18431,
"nodeType": "Block",
"src": "524:27:30",
"statements": [
{
"expression": {
"argumentTypes": null,
"hexValue": "32",
"id": 18429,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "542:1:30",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
"value": "2"
},
"functionReturnParameters": 18428,
"id": 18430,
"nodeType": "Return",
"src": "535:8:30"
}
]
},
"documentation": {
"id": 18423,
"nodeType": "StructuredDocumentation",
"src": "329:124:30",
"text": " @dev returns the converter type the factory is associated with\n @return converter type"
},
"functionSelector": "3e8ff43f",
"id": 18432,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "converterType",
"nodeType": "FunctionDefinition",
"overrides": {
"id": 18425,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "498:8:30"
},
"parameters": {
"id": 18424,
"nodeType": "ParameterList",
"parameters": [],
"src": "481:2:30"
},
"returnParameters": {
"id": 18428,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 18427,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 18432,
"src": "516:6:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint16",
"typeString": "uint16"
},
"typeName": {
"id": 18426,
"name": "uint16",
"nodeType": "ElementaryTypeName",
"src": "516:6:30",
"typeDescriptions": {
"typeIdentifier": "t_uint16",
"typeString": "uint16"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "515:8:30"
},
"scope": 18456,
"src": "459:92:30",
"stateMutability": "pure",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 18454,
"nodeType": "Block",
"src": "1280:135:30",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 18448,
"name": "_primaryReserveToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 18435,
"src": "1314:20:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
}
},
{
"argumentTypes": null,
"id": 18449,
"name": "_secondaryReserveToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 18437,
"src": "1336:22:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
}
},
{
"argumentTypes": null,
"id": 18450,
"name": "_primaryReserveOracle",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 18439,
"src": "1360:21:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
"typeString": "contract IChainlinkPriceOracle"
}
},
{
"argumentTypes": null,
"id": 18451,
"name": "_secondaryReserveOracle",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 18441,
"src": "1383:23:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
"typeString": "contract IChainlinkPriceOracle"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
},
{
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
},
{
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
"typeString": "contract IChainlinkPriceOracle"
},
{
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
"typeString": "contract IChainlinkPriceOracle"
}
],
"id": 18447,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "NewExpression",
"src": "1298:15:30",
"typeDescriptions": {
"typeIdentifier": "t_function_creation_nonpayable$_t_contract$_IERC20Token_$21127_$_t_contract$_IERC20Token_$21127_$_t_contract$_IChainlinkPriceOracle_$22821_$_t_contract$_IChainlinkPriceOracle_$22821_$returns$_t_contract$_PriceOracle_$22205_$",
"typeString": "function (contract IERC20Token,contract IERC20Token,contract IChainlinkPriceOracle,contract IChainlinkPriceOracle) returns (contract PriceOracle)"
},
"typeName": {
"contractScope": null,
"id": 18446,
"name": "PriceOracle",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 22205,
"src": "1302:11:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PriceOracle_$22205",
"typeString": "contract PriceOracle"
}
}
},
"id": 18452,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1298:109:30",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_PriceOracle_$22205",
"typeString": "contract PriceOracle"
}
},
"functionReturnParameters": 18445,
"id": 18453,
"nodeType": "Return",
"src": "1291:116:30"
}
]
},
"documentation": {
"id": 18433,
"nodeType": "StructuredDocumentation",
"src": "559:436:30",
"text": " @dev creates a new price oracle\n note that the oracles must have the same common denominator (USD, ETH etc.)\n @param _primaryReserveToken primary reserve token address\n @param _secondaryReserveToken secondary reserve token address\n @param _primaryReserveOracle primary reserve oracle address\n @param _secondaryReserveOracle secondary reserve oracle address"
},
"functionSelector": "1b27444e",
"id": 18455,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "createPriceOracle",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 18442,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 18435,
"mutability": "mutable",
"name": "_primaryReserveToken",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 18455,
"src": "1038:32:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
},
"typeName": {
"contractScope": null,
"id": 18434,
"name": "IERC20Token",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 21127,
"src": "1038:11:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 18437,
"mutability": "mutable",
"name": "_secondaryReserveToken",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 18455,
"src": "1081:34:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
},
"typeName": {
"contractScope": null,
"id": 18436,
"name": "IERC20Token",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 21127,
"src": "1081:11:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 18439,
"mutability": "mutable",
"name": "_primaryReserveOracle",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 18455,
"src": "1126:43:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
"typeString": "contract IChainlinkPriceOracle"
},
"typeName": {
"contractScope": null,
"id": 18438,
"name": "IChainlinkPriceOracle",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 22821,
"src": "1126:21:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
"typeString": "contract IChainlinkPriceOracle"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 18441,
"mutability": "mutable",
"name": "_secondaryReserveOracle",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 18455,
"src": "1180:45:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
"typeString": "contract IChainlinkPriceOracle"
},
"typeName": {
"contractScope": null,
"id": 18440,
"name": "IChainlinkPriceOracle",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 22821,
"src": "1180:21:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
"typeString": "contract IChainlinkPriceOracle"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1027:199:30"
},
"returnParameters": {
"id": 18445,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 18444,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 18455,
"src": "1261:12:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IPriceOracle_$22891",
"typeString": "contract IPriceOracle"
},
"typeName": {
"contractScope": null,
"id": 18443,
"name": "IPriceOracle",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 22891,
"src": "1261:12:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IPriceOracle_$22891",
"typeString": "contract IPriceOracle"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1260:14:30"
},
"scope": 18456,
"src": "1001:414:30",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 18457,
"src": "243:1175:30"
}
],
"src": "52:1368:30"
},
"legacyAST": {
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/types/liquidity-pool-v2/LiquidityPoolV2ConverterCustomFactory.sol",
"exportedSymbols": {
"LiquidityPoolV2ConverterCustomFactory": [
18456
]
},
"id": 18457,
"license": "SEE LICENSE IN LICENSE",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 18418,
"literals": [
"solidity",
"0.6",
".12"
],
"nodeType": "PragmaDirective",
"src": "52:23:30"
},
{
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/converter/interfaces/ITypedConverterCustomFactory.sol",
"file": "../../interfaces/ITypedConverterCustomFactory.sol",
"id": 18419,
"nodeType": "ImportDirective",
"scope": 18457,
"sourceUnit": 13689,
"src": "77:59:30",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/PriceOracle.sol",
"file": "../../../utility/PriceOracle.sol",
"id": 18420,
"nodeType": "ImportDirective",
"scope": 18457,
"sourceUnit": 22206,
"src": "138:42:30",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 18421,
"name": "ITypedConverterCustomFactory",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 13688,
"src": "293:28:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ITypedConverterCustomFactory_$13688",
"typeString": "contract ITypedConverterCustomFactory"
}
},
"id": 18422,
"nodeType": "InheritanceSpecifier",
"src": "293:28:30"
}
],
"contractDependencies": [
13688,
22205
],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 18456,
"linearizedBaseContracts": [
18456,
13688
],
"name": "LiquidityPoolV2ConverterCustomFactory",
"nodeType": "ContractDefinition",
"nodes": [
{
"baseFunctions": [
13687
],
"body": {
"id": 18431,
"nodeType": "Block",
"src": "524:27:30",
"statements": [
{
"expression": {
"argumentTypes": null,
"hexValue": "32",
"id": 18429,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "542:1:30",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
"value": "2"
},
"functionReturnParameters": 18428,
"id": 18430,
"nodeType": "Return",
"src": "535:8:30"
}
]
},
"documentation": {
"id": 18423,
"nodeType": "StructuredDocumentation",
"src": "329:124:30",
"text": " @dev returns the converter type the factory is associated with\n @return converter type"
},
"functionSelector": "3e8ff43f",
"id": 18432,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "converterType",
"nodeType": "FunctionDefinition",
"overrides": {
"id": 18425,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "498:8:30"
},
"parameters": {
"id": 18424,
"nodeType": "ParameterList",
"parameters": [],
"src": "481:2:30"
},
"returnParameters": {
"id": 18428,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 18427,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 18432,
"src": "516:6:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint16",
"typeString": "uint16"
},
"typeName": {
"id": 18426,
"name": "uint16",
"nodeType": "ElementaryTypeName",
"src": "516:6:30",
"typeDescriptions": {
"typeIdentifier": "t_uint16",
"typeString": "uint16"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "515:8:30"
},
"scope": 18456,
"src": "459:92:30",
"stateMutability": "pure",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 18454,
"nodeType": "Block",
"src": "1280:135:30",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 18448,
"name": "_primaryReserveToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 18435,
"src": "1314:20:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
}
},
{
"argumentTypes": null,
"id": 18449,
"name": "_secondaryReserveToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 18437,
"src": "1336:22:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
}
},
{
"argumentTypes": null,
"id": 18450,
"name": "_primaryReserveOracle",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 18439,
"src": "1360:21:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
"typeString": "contract IChainlinkPriceOracle"
}
},
{
"argumentTypes": null,
"id": 18451,
"name": "_secondaryReserveOracle",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 18441,
"src": "1383:23:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
"typeString": "contract IChainlinkPriceOracle"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
},
{
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
},
{
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
"typeString": "contract IChainlinkPriceOracle"
},
{
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
"typeString": "contract IChainlinkPriceOracle"
}
],
"id": 18447,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "NewExpression",
"src": "1298:15:30",
"typeDescriptions": {
"typeIdentifier": "t_function_creation_nonpayable$_t_contract$_IERC20Token_$21127_$_t_contract$_IERC20Token_$21127_$_t_contract$_IChainlinkPriceOracle_$22821_$_t_contract$_IChainlinkPriceOracle_$22821_$returns$_t_contract$_PriceOracle_$22205_$",
"typeString": "function (contract IERC20Token,contract IERC20Token,contract IChainlinkPriceOracle,contract IChainlinkPriceOracle) returns (contract PriceOracle)"
},
"typeName": {
"contractScope": null,
"id": 18446,
"name": "PriceOracle",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 22205,
"src": "1302:11:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PriceOracle_$22205",
"typeString": "contract PriceOracle"
}
}
},
"id": 18452,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1298:109:30",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_PriceOracle_$22205",
"typeString": "contract PriceOracle"
}
},
"functionReturnParameters": 18445,
"id": 18453,
"nodeType": "Return",
"src": "1291:116:30"
}
]
},
"documentation": {
"id": 18433,
"nodeType": "StructuredDocumentation",
"src": "559:436:30",
"text": " @dev creates a new price oracle\n note that the oracles must have the same common denominator (USD, ETH etc.)\n @param _primaryReserveToken primary reserve token address\n @param _secondaryReserveToken secondary reserve token address\n @param _primaryReserveOracle primary reserve oracle address\n @param _secondaryReserveOracle secondary reserve oracle address"
},
"functionSelector": "1b27444e",
"id": 18455,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "createPriceOracle",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 18442,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 18435,
"mutability": "mutable",
"name": "_primaryReserveToken",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 18455,
"src": "1038:32:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
},
"typeName": {
"contractScope": null,
"id": 18434,
"name": "IERC20Token",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 21127,
"src": "1038:11:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 18437,
"mutability": "mutable",
"name": "_secondaryReserveToken",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 18455,
"src": "1081:34:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
},
"typeName": {
"contractScope": null,
"id": 18436,
"name": "IERC20Token",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 21127,
"src": "1081:11:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20Token_$21127",
"typeString": "contract IERC20Token"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 18439,
"mutability": "mutable",
"name": "_primaryReserveOracle",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 18455,
"src": "1126:43:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
"typeString": "contract IChainlinkPriceOracle"
},
"typeName": {
"contractScope": null,
"id": 18438,
"name": "IChainlinkPriceOracle",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 22821,
"src": "1126:21:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
"typeString": "contract IChainlinkPriceOracle"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 18441,
"mutability": "mutable",
"name": "_secondaryReserveOracle",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 18455,
"src": "1180:45:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
"typeString": "contract IChainlinkPriceOracle"
},
"typeName": {
"contractScope": null,
"id": 18440,
"name": "IChainlinkPriceOracle",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 22821,
"src": "1180:21:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IChainlinkPriceOracle_$22821",
"typeString": "contract IChainlinkPriceOracle"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1027:199:30"
},
"returnParameters": {
"id": 18445,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 18444,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 18455,
"src": "1261:12:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IPriceOracle_$22891",
"typeString": "contract IPriceOracle"
},
"typeName": {
"contractScope": null,
"id": 18443,
"name": "IPriceOracle",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 22891,
"src": "1261:12:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IPriceOracle_$22891",
"typeString": "contract IPriceOracle"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1260:14:30"
},
"scope": 18456,
"src": "1001:414:30",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 18457,
"src": "243:1175:30"
}
],
"src": "52:1368:30"
},
"compiler": {
"name": "solc",
"version": "0.6.12+commit.27d51765.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.2.3",
"updatedAt": "2020-10-20T08:24:47.787Z",
"devdoc": {
"kind": "dev",
"methods": {
"converterType()": {
"details": "returns the converter type the factory is associated with",
"returns": {
"_0": "converter type"
}
},
"createPriceOracle(address,address,address,address)": {
"details": "creates a new price oracle note that the oracles must have the same common denominator (USD, ETH etc.)",
"params": {
"_primaryReserveOracle": "primary reserve oracle address",
"_primaryReserveToken": "primary reserve token address",
"_secondaryReserveOracle": "secondary reserve oracle address",
"_secondaryReserveToken": "secondary reserve token address"
}
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}