UNPKG

@valueswap/v2-periphery

Version:

🎚 Peripheral smart contracts for interacting with Valueswap V2

541 lines • 466 kB
{ "contractName": "RouterEventEmitter", "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "name": "Amounts", "type": "event" }, { "stateMutability": "payable", "type": "receive" }, { "inputs": [ { "internalType": "address", "name": "router", "type": "address" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "internalType": "uint256", "name": "amountOutMin", "type": "uint256" }, { "internalType": "address[]", "name": "path", "type": "address[]" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "swapExactTokensForTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "router", "type": "address" }, { "internalType": "uint256", "name": "amountOut", "type": "uint256" }, { "internalType": "uint256", "name": "amountInMax", "type": "uint256" }, { "internalType": "address[]", "name": "path", "type": "address[]" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "swapTokensForExactTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "router", "type": "address" }, { "internalType": "uint256", "name": "amountOutMin", "type": "uint256" }, { "internalType": "address[]", "name": "path", "type": "address[]" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "swapExactETHForTokens", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "router", "type": "address" }, { "internalType": "uint256", "name": "amountOut", "type": "uint256" }, { "internalType": "uint256", "name": "amountInMax", "type": "uint256" }, { "internalType": "address[]", "name": "path", "type": "address[]" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "swapTokensForExactETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "router", "type": "address" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "internalType": "uint256", "name": "amountOutMin", "type": "uint256" }, { "internalType": "address[]", "name": "path", "type": "address[]" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "swapExactTokensForETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "router", "type": "address" }, { "internalType": "uint256", "name": "amountOut", "type": "uint256" }, { "internalType": "address[]", "name": "path", "type": "address[]" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "swapETHForExactTokens", "outputs": [], "stateMutability": "payable", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"Amounts\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapETHForExactTokens\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactETHForTokens\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForETH\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountInMax\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapTokensForExactETH\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountInMax\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapTokensForExactTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/second/Documents/work/valueswap-v2-periphery/contracts/test/RouterEventEmitter.sol\":\"RouterEventEmitter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[]},\"sources\":{\"/Users/second/Documents/work/valueswap-v2-periphery/contracts/interfaces/IValueswapV2Router01.sol\":{\"keccak256\":\"0x36353f46a62274a8eba493ea0bed9284da4f97e30025def7688d84de95552826\",\"urls\":[\"bzz-raw://e258df9bf935cb183c593417f96967ffcb32e438d834a6840cc8c51ab61dfce8\",\"dweb:/ipfs/QmWqucAgec2mSqtMzMDFSaJWQFUByvw1L6oodDZEwYm5vk\"]},\"/Users/second/Documents/work/valueswap-v2-periphery/contracts/test/RouterEventEmitter.sol\":{\"keccak256\":\"0xabbdbe016384e7be69ec99f6cf89007e654c8fd4b195b6b7dc6db7dbed313fba\",\"urls\":[\"bzz-raw://be0eff76d185593236cbf9bfdd3d63b95449cf6d547ad153975606ea5a0a4dae\",\"dweb:/ipfs/QmQmtkShroWxGuNg2fGYsvQM91FrwPdFikrnh62nnE4NPv\"]}},\"version\":1}", "bytecode": "0x608060405234801561001057600080fd5b50611051806100206000396000f3fe6080604052600436106100695760003560e01c8063b05f579e11610043578063b05f579e146102bd578063fa3219d51461036b578063fde1adda1461042d57610070565b806322b5841014610075578063375734d9146101395780639c91fcb5146101fb57610070565b3661007057005b600080fd5b34801561008157600080fd5b50610137600480360360c081101561009857600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591604082013591908101906080810160608201356401000000008111156100dc57600080fd5b8201836020820111156100ee57600080fd5b8035906020019184602083028401116401000000008311171561011057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356104db565b005b34801561014557600080fd5b50610137600480360360c081101561015c57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591604082013591908101906080810160608201356401000000008111156101a057600080fd5b8201836020820111156101b257600080fd5b803590602001918460208302840111640100000000831117156101d457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356107c5565b34801561020757600080fd5b50610137600480360360c081101561021e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff823516916020810135916040820135919081019060808101606082013564010000000081111561026257600080fd5b82018360208201111561027457600080fd5b8035906020019184602083028401116401000000008311171561029657600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813516906020013561091d565b610137600480360360a08110156102d357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235169160208101359181019060608101604082013564010000000081111561031057600080fd5b82018360208201111561032257600080fd5b8035906020019184602083028401116401000000008311171561034457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a75565b34801561037757600080fd5b50610137600480360360c081101561038e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591604082013591908101906080810160608201356401000000008111156103d257600080fd5b8201836020820111156103e457600080fd5b8035906020019184602083028401116401000000008311171561040657600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610d56565b610137600480360360a081101561044357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235169160208101359181019060608101604082013564010000000081111561048057600080fd5b82018360208201111561049257600080fd5b803590602001918460208302840111640100000000831117156104b457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610eae565b600060608873ffffffffffffffffffffffffffffffffffffffff16638803dbee60e01b89898989898960405160240180878152602001868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b6020831061063457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105f7565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610694576040519150601f19603f3d011682016040523d82523d6000602084013e610699565b606091505b5091509150816106a557fe5b7f4cc17991e3610e3400e74a8306aa421daaee1e3446fa22b490604610999e10b38180602001905160208110156106db57600080fd5b81019080805160405193929190846401000000008211156106fb57600080fd5b90830190602082018581111561071057600080fd5b825186602082028301116401000000008211171561072d57600080fd5b82525081516020918201928201910280838360005b8381101561075a578181015183820152602001610742565b505050509050016040525050506040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156107a757818101518382015260200161078f565b505050509050019250505060405180910390a1505050505050505050565b600060608873ffffffffffffffffffffffffffffffffffffffff166338ed173960e01b89898989898960405160240180878152602001868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083836020831061063457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105f7565b600060608873ffffffffffffffffffffffffffffffffffffffff166318cbafe560e01b89898989898960405160240180878152602001868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083836020831061063457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105f7565b600060608773ffffffffffffffffffffffffffffffffffffffff1663fb3bdb4160e01b888888888860405160240180868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310610bc657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610b89565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610c26576040519150601f19603f3d011682016040523d82523d6000602084013e610c2b565b606091505b509150915081610c3757fe5b7f4cc17991e3610e3400e74a8306aa421daaee1e3446fa22b490604610999e10b3818060200190516020811015610c6d57600080fd5b8101908080516040519392919084640100000000821115610c8d57600080fd5b908301906020820185811115610ca257600080fd5b8251866020820283011164010000000082111715610cbf57600080fd5b82525081516020918201928201910280838360005b83811015610cec578181015183820152602001610cd4565b505050509050016040525050506040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d39578181015183820152602001610d21565b505050509050019250505060405180910390a15050505050505050565b600060608873ffffffffffffffffffffffffffffffffffffffff16634a25d94a60e01b89898989898960405160240180878152602001868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083836020831061063457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105f7565b600060608773ffffffffffffffffffffffffffffffffffffffff16637ff36ab560e01b888888888860405160240180868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825286868281815260200192506020028082843760008382015260408051601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09081169094018281039094018252928352602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909d169c909c178c5292518151919b909a508a995097509550859450879350869250508310610bc657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610b8956fea264697066735822122080fd3492ee0e81797dfa07d97a4ab44256bfc79657f6f21eafe12d2be062aa0a64736f6c63430006060033", "deployedBytecode": "0x6080604052600436106100695760003560e01c8063b05f579e11610043578063b05f579e146102bd578063fa3219d51461036b578063fde1adda1461042d57610070565b806322b5841014610075578063375734d9146101395780639c91fcb5146101fb57610070565b3661007057005b600080fd5b34801561008157600080fd5b50610137600480360360c081101561009857600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591604082013591908101906080810160608201356401000000008111156100dc57600080fd5b8201836020820111156100ee57600080fd5b8035906020019184602083028401116401000000008311171561011057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356104db565b005b34801561014557600080fd5b50610137600480360360c081101561015c57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591604082013591908101906080810160608201356401000000008111156101a057600080fd5b8201836020820111156101b257600080fd5b803590602001918460208302840111640100000000831117156101d457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356107c5565b34801561020757600080fd5b50610137600480360360c081101561021e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff823516916020810135916040820135919081019060808101606082013564010000000081111561026257600080fd5b82018360208201111561027457600080fd5b8035906020019184602083028401116401000000008311171561029657600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813516906020013561091d565b610137600480360360a08110156102d357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235169160208101359181019060608101604082013564010000000081111561031057600080fd5b82018360208201111561032257600080fd5b8035906020019184602083028401116401000000008311171561034457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a75565b34801561037757600080fd5b50610137600480360360c081101561038e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591604082013591908101906080810160608201356401000000008111156103d257600080fd5b8201836020820111156103e457600080fd5b8035906020019184602083028401116401000000008311171561040657600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610d56565b610137600480360360a081101561044357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235169160208101359181019060608101604082013564010000000081111561048057600080fd5b82018360208201111561049257600080fd5b803590602001918460208302840111640100000000831117156104b457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610eae565b600060608873ffffffffffffffffffffffffffffffffffffffff16638803dbee60e01b89898989898960405160240180878152602001868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b6020831061063457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105f7565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610694576040519150601f19603f3d011682016040523d82523d6000602084013e610699565b606091505b5091509150816106a557fe5b7f4cc17991e3610e3400e74a8306aa421daaee1e3446fa22b490604610999e10b38180602001905160208110156106db57600080fd5b81019080805160405193929190846401000000008211156106fb57600080fd5b90830190602082018581111561071057600080fd5b825186602082028301116401000000008211171561072d57600080fd5b82525081516020918201928201910280838360005b8381101561075a578181015183820152602001610742565b505050509050016040525050506040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156107a757818101518382015260200161078f565b505050509050019250505060405180910390a1505050505050505050565b600060608873ffffffffffffffffffffffffffffffffffffffff166338ed173960e01b89898989898960405160240180878152602001868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083836020831061063457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105f7565b600060608873ffffffffffffffffffffffffffffffffffffffff166318cbafe560e01b89898989898960405160240180878152602001868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083836020831061063457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105f7565b600060608773ffffffffffffffffffffffffffffffffffffffff1663fb3bdb4160e01b888888888860405160240180868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310610bc657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610b89565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610c26576040519150601f19603f3d011682016040523d82523d6000602084013e610c2b565b606091505b509150915081610c3757fe5b7f4cc17991e3610e3400e74a8306aa421daaee1e3446fa22b490604610999e10b3818060200190516020811015610c6d57600080fd5b8101908080516040519392919084640100000000821115610c8d57600080fd5b908301906020820185811115610ca257600080fd5b8251866020820283011164010000000082111715610cbf57600080fd5b82525081516020918201928201910280838360005b83811015610cec578181015183820152602001610cd4565b505050509050016040525050506040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d39578181015183820152602001610d21565b505050509050019250505060405180910390a15050505050505050565b600060608873ffffffffffffffffffffffffffffffffffffffff16634a25d94a60e01b89898989898960405160240180878152602001868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083836020831061063457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105f7565b600060608773ffffffffffffffffffffffffffffffffffffffff16637ff36ab560e01b888888888860405160240180868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825286868281815260200192506020028082843760008382015260408051601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09081169094018281039094018252928352602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909d169c909c178c5292518151919b909a508a995097509550859450879350869250508310610bc657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610b8956fea264697066735822122080fd3492ee0e81797dfa07d97a4ab44256bfc79657f6f21eafe12d2be062aa0a64736f6c63430006060033", "immutableReferences": {}, "sourceMap": "75:3129:20:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;75:3129:20;;;;;;;", "deployedSourceMap": "75:3129:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;698:512:20;;5:9:-1;2:2;;;27:1;24;17:12;2:2;698:512:20;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;698:512:20;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;698:512:20;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;698:512:20;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;698:512:20;;-1:-1:-1;698:512:20;-1:-1:-1;698:512:20;;;;;;;;;:::i;:::-;;180;;5:9:-1;2:2;;;27:1;24;17:12;2:2;180:512:20;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;180:512:20;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;180:512:20;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;180:512:20;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;180:512:20;;-1:-1:-1;180:512:20;-1:-1:-1;180:512:20;;;;;;;;;:::i;2215:506::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2215:506:20;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;2215:506:20;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;2215:506:20;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;2215:506:20;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2215:506:20;;-1:-1:-1;2215:506:20;-1:-1:-1;2215:506:20;;;;;;;;;:::i;2727:475::-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;2727:475:20;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;2727:475:20;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;2727:475:20;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2727:475:20;;-1:-1:-1;2727:475:20;-1:-1:-1;2727:475:20;;;;;;;;;:::i;1703:506::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1703:506:20;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;1703:506:20;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;1703:506:20;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1703:506:20;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;1703:506:20;;-1:-1:-1;1703:506:20;-1:-1:-1;1703:506:20;;;;;;;;;:::i;1216:481::-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;1216:481:20;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;1216:481:20;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1216:481:20;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;1216:481:20;;-1:-1:-1;1216:481:20;-1:-1:-1;1216:481:20;;;;;;;;;:::i;698:512::-;908:12;922:23;949:6;:19;;1005:62;;;1069:9;1080:11;1093:4;;1099:2;1103:8;969:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;969:152:20;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;969:152:20;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;969:152:20;949:173;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;949:173:20;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;907:215:20;;;;1139:7;1132:15;;;;1162:41;1181:10;1170:32;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1170:32:20;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;373:25;;-1:-1;1170:32:20;;421:4:-1;412:14;;;;1170:32:20;;;;;412:14:-1;1170:32:20;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1170:32:20;;;;;;;;;;;1162:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1162:41:20;;;;;;;;;;;;;;;;;698:512;;;;;;;;;:::o;180:::-;390:12;404:23;431:6;:19;;487:62;;;551:8;561:12;575:4;;581:2;585:8;451:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;451:152:20;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;451:152:20;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;451:152:20;431:173;;;;;;;;;;;;;66:2:-1;61:3;58:11;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;2215:506:20;2422:12;2436:23;2463:6;:19;;2519:59;;;2580:8;2590:12;2604:4;;2610:2;2614:8;2483:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2483:149:20;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2483:149:20;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;2483:149:20;2463:170;;;;;;;;;;;;;66:2:-1;61:3;58:11;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;2727:475:20;2916:12;2930:23;2957:6;:19;;3013:59;;;3074:9;3085:4;;3091:2;3095:8;2977:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2977:136:20;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2977:136:20;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;2977:136:20;2957:157;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2957:157:20;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;2915:199:20;;;;3131:7;3124:15;;;;3154:41;3173:10;3162:32;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3162:32:20;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;373:25;;-1:-1;3162:32:20;;421:4:-1;412:14;;;;3162:32:20;;;;;412:14:-1;3162:32:20;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3162:32:20;;;;;;;;;;;3154:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3154:41:20;;;;;;;;;;;;;;;;;2727:475;;;;;;;;:::o;1703:506::-;1910:12;1924:23;1951:6;:19;;2007:59;;;2068:9;2079:11;2092:4;;2098:2;2102:8;1971:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1971:149:20;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1971:149:20;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;1971:149:20;1951:170;;;;;;;;;;;;;66:2:-1;61:3;58:11;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;1216:481:20;1408:12;1422:23;1449:6;:19;;1505:59;;;1566:12;1580:4;;1586:2;1590:8;1469:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;;74:27;1469:139:20;;;137:4:-1;117:14;;;133:9;113:30;;;157:16;;;26:21;;;22:32;;;6:49;;1469:139:20;;;49:4:-1;25:18;;;61:17;;1469:139:20;182:15:-1;1469:139:20;;;;179:29:-1;;;;160:49;;1449:160:20;;;;1469:139;;1449:160;;-1:-1:-1;1449:160:20;;-1:-1:-1;25:18;-1:-1;1449:160:20;-1:-1:-1;1449:160:20;;-1:-1:-1;1449:160:20;;-1:-1:-1;25:18;;-1:-1;;58:11;;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;", "source": "pragma solidity =0.6.6;\n\nimport '../interfaces/IValueswapV2Router01.sol';\n\ncontract RouterEventEmitter {\n event Amounts(uint[] amounts);\n\n receive() external payable {}\n\n function swapExactTokensForTokens(\n address router,\n uint amountIn,\n uint amountOutMin,\n address[] calldata path,\n address to,\n uint deadline\n ) external {\n (bool success, bytes memory returnData) = router.delegatecall(abi.encodeWithSelector(\n IValueswapV2Router01(router).swapExactTokensForTokens.selector, amountIn, amountOutMin, path, to, deadline\n ));\n assert(success);\n emit Amounts(abi.decode(returnData, (uint[])));\n }\n\n function swapTokensForExactTokens(\n address router,\n uint amountOut,\n uint amountInMax,\n address[] calldata path,\n address to,\n uint deadline\n ) external {\n (bool success, bytes memory returnData) = router.delegatecall(abi.encodeWithSelector(\n IValueswapV2Router01(router).swapTokensForExactTokens.selector, amountOut, amountInMax, path, to, deadline\n ));\n assert(success);\n emit Amounts(abi.decode(returnData, (uint[])));\n }\n\n function swapExactETHForTokens(\n address router,\n uint amountOutMin,\n address[] calldata path,\n address to,\n uint deadline\n ) external payable {\n (bool success, bytes memory returnData) = router.delegatecall(abi.encodeWithSelector(\n IValueswapV2Router01(router).swapExactETHForTokens.selector, amountOutMin, path, to, deadline\n ));\n assert(success);\n emit Amounts(abi.decode(returnData, (uint[])));\n }\n\n function swapTokensForExactETH(\n address router,\n uint amountOut,\n uint amountInMax,\n address[] calldata path,\n address to,\n uint deadline\n ) external {\n (bool success, bytes memory returnData) = router.delegatecall(abi.encodeWithSelector(\n IValueswapV2Router01(router).swapTokensForExactETH.selector, amountOut, amountInMax, path, to, deadline\n ));\n assert(success);\n emit Amounts(abi.decode(returnData, (uint[])));\n }\n\n function swapExactTokensForETH(\n address router,\n uint amountIn,\n uint amountOutMin,\n address[] calldata path,\n address to,\n uint deadline\n ) external {\n (bool success, bytes memory returnData) = router.delegatecall(abi.encodeWithSelector(\n IValueswapV2Router01(router).swapExactTokensForETH.selector, amountIn, amountOutMin, path, to, deadline\n ));\n assert(success);\n emit Amounts(abi.decode(returnData, (uint[])));\n }\n\n function swapETHForExactTokens(\n address router,\n uint amountOut,\n address[] calldata path,\n address to,\n uint deadline\n ) external payable {\n (bool success, bytes memory returnData) = router.delegatecall(abi.encodeWithSelector(\n IValueswapV2Router01(router).swapETHForExactTokens.selector, amountOut, path, to, deadline\n ));\n assert(success);\n emit Amounts(abi.decode(returnData, (uint[])));\n }\n}\n", "sourcePath": "/Users/second/Documents/work/valueswap-v2-periphery/contracts/test/RouterEventEmitter.sol", "ast": { "absolutePath": "/Users/second/Documents/work/valueswap-v2-periphery/contracts/test/RouterEventEmitter.sol", "exportedSymbols": { "RouterEventEmitter": [ 7297 ] }, "id": 7298, "nodeType": "SourceUnit", "nodes": [ { "id": 6974, "literals": [ "solidity", "=", "0.6", ".6" ], "nodeType": "PragmaDirective", "src": "0:23:20" }, { "absolutePath": "/Users/second/Documents/work/valueswap-v2-periphery/contracts/interfaces/IValueswapV2Router01.sol", "file": "../interfaces/IValueswapV2Router01.sol", "id": 6975, "nodeType": "ImportDirective", "scope": 7298, "sourceUnit": 5333, "src": "25:48:20", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 7297, "linearizedBaseContracts": [ 7297 ], "name": "RouterEventEmitter", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "documentation": null, "id": 6980, "name": "Amounts", "nodeType": "EventDefinition", "parameters": { "id": 6979, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 6978, "indexed": false, "mutability": "mutable", "name": "amounts", "nodeType": "VariableDeclaration", "overrides": null, "scope": 6980, "src": "123:14:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[]" }, "typeName": { "baseType": { "id": 6976, "name": "uint", "nodeType": "ElementaryTypeName", "src": "123:4:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 6977, "length": null, "nodeType": "ArrayTypeName", "src": "123:6:20", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } }, "value": null, "visibility": "internal" } ], "src": "122:16:20" }, "src": "109:30:20" }, { "body": { "id": 6983, "nodeType": "Block", "src": "172:2:20", "statements": [] }, "documentation": null, "id": 6984, "implemented": true, "kind": "receive", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 6981, "nodeType": "ParameterList", "parameters": [], "src": "152:2:20" }, "returnParameters": { "id": 6982, "nodeType": "ParameterList", "parameters": [], "src": "172:0:20" }, "scope": 7297, "src": "145:29:20", "stateMutability": "payable", "virtual": false, "visibility": "external" }, { "body": { "id": 7036, "nodeType": "Block", "src": "379:313:20", "statements": [ { "assignments": [ 7001, 7003 ], "declarations": [ { "constant": false, "id": 7001, "mutability": "mutable", "name": "success", "nodeType": "VariableDeclaration", "overrides": null, "scope": 7036, "src": "390:12:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 7000, "name": "bool", "nodeType": "ElementaryTypeName", "src": "390:4:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 7003, "mutability": "mutable", "name": "returnData", "nodeType": "VariableDeclaration", "overrides": null, "scope": 7036, "src": "404:23:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 7002, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "404:5:20", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "id": 7020, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 7009, "name": "router", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6986, "src": "508:6:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 7008, "name": "IValueswapV2Router01", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5332, "src": "487:20:20", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IValueswapV2Router01_$5332_$", "typeString": "type(contract IValueswapV2Router01)" } }, "id": 7010, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "487:28:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IValueswapV2Router01_$5332", "typeString": "contract IValueswapV2Router01" } }, "id": 7011, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "swapExactTokensForTokens", "nodeType": "MemberAccess", "referencedDeclaration": 5195, "src": "487:53:20", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,address[] memory,address,uint256) external returns (uint256[] memory)" } }, "id": 7012, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "selector", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "487:62:20", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, { "argumentTypes": null, "id": 70