@windfallswap/periphery
Version:
🎚 Peripheral smart contracts for interacting with Windfall Swap
540 lines • 448 kB
JSON
{
"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\":{\"/D/defi/windfall/windfallswap-periphery/contracts/test/RouterEventEmitter.sol\":\"RouterEventEmitter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[]},\"sources\":{\"/D/defi/windfall/windfallswap-periphery/contracts/interfaces/IWindfallRouter.sol\":{\"keccak256\":\"0x1845cd53633bd97920734394fb7dc3545ca09eac618fd38ed6d6482a633a6c43\",\"urls\":[\"bzz-raw://c591c9907ce05ba27e86083ae04a621927678c35471f7d96d50befccbed504f6\",\"dweb:/ipfs/QmT48d8eBWCnYif186gkVfBkV8kLFo6bYsECHrNoSCz5Vr\"]},\"/D/defi/windfall/windfallswap-periphery/contracts/test/RouterEventEmitter.sol\":{\"keccak256\":\"0x2d8b4534dc88245cc71632e9f9a0dc31562c017947a3b2505b5da4c9c80931ae\",\"urls\":[\"bzz-raw://f24ea4f138d51a830951f79915383d14f95a2dc31ef730dadc16b64de457992a\",\"dweb:/ipfs/QmNohaWxJGe8HkUUYpgsf1ytRNaeM9Xvh4gH5gvm5YNmxX\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50611051806100206000396000f3fe6080604052600436106100695760003560e01c8063b05f579e11610043578063b05f579e146102bd578063fa3219d51461036b578063fde1adda1461042d57610070565b806322b5841014610075578063375734d9146101395780639c91fcb5146101fb57610070565b3661007057005b600080fd5b34801561008157600080fd5b50610137600480360360c081101561009857600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591604082013591908101906080810160608201356401000000008111156100dc57600080fd5b8201836020820111156100ee57600080fd5b8035906020019184602083028401116401000000008311171561011057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356104db565b005b34801561014557600080fd5b50610137600480360360c081101561015c57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591604082013591908101906080810160608201356401000000008111156101a057600080fd5b8201836020820111156101b257600080fd5b803590602001918460208302840111640100000000831117156101d457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356107c5565b34801561020757600080fd5b50610137600480360360c081101561021e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff823516916020810135916040820135919081019060808101606082013564010000000081111561026257600080fd5b82018360208201111561027457600080fd5b8035906020019184602083028401116401000000008311171561029657600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813516906020013561091d565b610137600480360360a08110156102d357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235169160208101359181019060608101604082013564010000000081111561031057600080fd5b82018360208201111561032257600080fd5b8035906020019184602083028401116401000000008311171561034457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a75565b34801561037757600080fd5b50610137600480360360c081101561038e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591604082013591908101906080810160608201356401000000008111156103d257600080fd5b8201836020820111156103e457600080fd5b8035906020019184602083028401116401000000008311171561040657600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610d56565b610137600480360360a081101561044357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235169160208101359181019060608101604082013564010000000081111561048057600080fd5b82018360208201111561049257600080fd5b803590602001918460208302840111640100000000831117156104b457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610eae565b600060608873ffffffffffffffffffffffffffffffffffffffff16638803dbee60e01b89898989898960405160240180878152602001868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b6020831061063457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105f7565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610694576040519150601f19603f3d011682016040523d82523d6000602084013e610699565b606091505b5091509150816106a557fe5b7f4cc17991e3610e3400e74a8306aa421daaee1e3446fa22b490604610999e10b38180602001905160208110156106db57600080fd5b81019080805160405193929190846401000000008211156106fb57600080fd5b90830190602082018581111561071057600080fd5b825186602082028301116401000000008211171561072d57600080fd5b82525081516020918201928201910280838360005b8381101561075a578181015183820152602001610742565b505050509050016040525050506040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156107a757818101518382015260200161078f565b505050509050019250505060405180910390a1505050505050505050565b600060608873ffffffffffffffffffffffffffffffffffffffff166338ed173960e01b89898989898960405160240180878152602001868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083836020831061063457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105f7565b600060608873ffffffffffffffffffffffffffffffffffffffff166318cbafe560e01b89898989898960405160240180878152602001868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083836020831061063457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105f7565b600060608773ffffffffffffffffffffffffffffffffffffffff1663fb3bdb4160e01b888888888860405160240180868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310610bc657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610b89565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610c26576040519150601f19603f3d011682016040523d82523d6000602084013e610c2b565b606091505b509150915081610c3757fe5b7f4cc17991e3610e3400e74a8306aa421daaee1e3446fa22b490604610999e10b3818060200190516020811015610c6d57600080fd5b8101908080516040519392919084640100000000821115610c8d57600080fd5b908301906020820185811115610ca257600080fd5b8251866020820283011164010000000082111715610cbf57600080fd5b82525081516020918201928201910280838360005b83811015610cec578181015183820152602001610cd4565b505050509050016040525050506040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d39578181015183820152602001610d21565b505050509050019250505060405180910390a15050505050505050565b600060608873ffffffffffffffffffffffffffffffffffffffff16634a25d94a60e01b89898989898960405160240180878152602001868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083836020831061063457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105f7565b600060608773ffffffffffffffffffffffffffffffffffffffff16637ff36ab560e01b888888888860405160240180868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825286868281815260200192506020028082843760008382015260408051601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09081169094018281039094018252928352602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909d169c909c178c5292518151919b909a508a995097509550859450879350869250508310610bc657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610b8956fea2646970667358221220656cc8f3c00b5ce051b8784e7a3825b477098c7ee1f31033642b2aa7217584a664736f6c63430006060033",
"deployedBytecode": "0x6080604052600436106100695760003560e01c8063b05f579e11610043578063b05f579e146102bd578063fa3219d51461036b578063fde1adda1461042d57610070565b806322b5841014610075578063375734d9146101395780639c91fcb5146101fb57610070565b3661007057005b600080fd5b34801561008157600080fd5b50610137600480360360c081101561009857600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591604082013591908101906080810160608201356401000000008111156100dc57600080fd5b8201836020820111156100ee57600080fd5b8035906020019184602083028401116401000000008311171561011057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356104db565b005b34801561014557600080fd5b50610137600480360360c081101561015c57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591604082013591908101906080810160608201356401000000008111156101a057600080fd5b8201836020820111156101b257600080fd5b803590602001918460208302840111640100000000831117156101d457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356107c5565b34801561020757600080fd5b50610137600480360360c081101561021e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff823516916020810135916040820135919081019060808101606082013564010000000081111561026257600080fd5b82018360208201111561027457600080fd5b8035906020019184602083028401116401000000008311171561029657600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813516906020013561091d565b610137600480360360a08110156102d357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235169160208101359181019060608101604082013564010000000081111561031057600080fd5b82018360208201111561032257600080fd5b8035906020019184602083028401116401000000008311171561034457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a75565b34801561037757600080fd5b50610137600480360360c081101561038e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591604082013591908101906080810160608201356401000000008111156103d257600080fd5b8201836020820111156103e457600080fd5b8035906020019184602083028401116401000000008311171561040657600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610d56565b610137600480360360a081101561044357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235169160208101359181019060608101604082013564010000000081111561048057600080fd5b82018360208201111561049257600080fd5b803590602001918460208302840111640100000000831117156104b457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610eae565b600060608873ffffffffffffffffffffffffffffffffffffffff16638803dbee60e01b89898989898960405160240180878152602001868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b6020831061063457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105f7565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610694576040519150601f19603f3d011682016040523d82523d6000602084013e610699565b606091505b5091509150816106a557fe5b7f4cc17991e3610e3400e74a8306aa421daaee1e3446fa22b490604610999e10b38180602001905160208110156106db57600080fd5b81019080805160405193929190846401000000008211156106fb57600080fd5b90830190602082018581111561071057600080fd5b825186602082028301116401000000008211171561072d57600080fd5b82525081516020918201928201910280838360005b8381101561075a578181015183820152602001610742565b505050509050016040525050506040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156107a757818101518382015260200161078f565b505050509050019250505060405180910390a1505050505050505050565b600060608873ffffffffffffffffffffffffffffffffffffffff166338ed173960e01b89898989898960405160240180878152602001868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083836020831061063457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105f7565b600060608873ffffffffffffffffffffffffffffffffffffffff166318cbafe560e01b89898989898960405160240180878152602001868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083836020831061063457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105f7565b600060608773ffffffffffffffffffffffffffffffffffffffff1663fb3bdb4160e01b888888888860405160240180868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f8201169050808301925050509650505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310610bc657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610b89565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610c26576040519150601f19603f3d011682016040523d82523d6000602084013e610c2b565b606091505b509150915081610c3757fe5b7f4cc17991e3610e3400e74a8306aa421daaee1e3446fa22b490604610999e10b3818060200190516020811015610c6d57600080fd5b8101908080516040519392919084640100000000821115610c8d57600080fd5b908301906020820185811115610ca257600080fd5b8251866020820283011164010000000082111715610cbf57600080fd5b82525081516020918201928201910280838360005b83811015610cec578181015183820152602001610cd4565b505050509050016040525050506040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d39578181015183820152602001610d21565b505050509050019250505060405180910390a15050505050505050565b600060608873ffffffffffffffffffffffffffffffffffffffff16634a25d94a60e01b89898989898960405160240180878152602001868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925060200280828437600081840152601f19601f820116905080830192505050975050505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083836020831061063457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105f7565b600060608773ffffffffffffffffffffffffffffffffffffffff16637ff36ab560e01b888888888860405160240180868152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825286868281815260200192506020028082843760008382015260408051601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09081169094018281039094018252928352602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909d169c909c178c5292518151919b909a508a995097509550859450879350869250508310610bc657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610b8956fea2646970667358221220656cc8f3c00b5ce051b8784e7a3825b477098c7ee1f31033642b2aa7217584a664736f6c63430006060033",
"immutableReferences": {},
"sourceMap": "74:3191:11:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;74:3191:11;;;;;;;",
"deployedSourceMap": "74:3191:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;712:520:11;;5:9:-1;2:2;;;27:1;24;17:12;2:2;712:520:11;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;712:520:11;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;712:520:11;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;712:520:11;;;;;;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;712:520:11;;-1:-1:-1;712:520:11;-1:-1:-1;712:520:11;;;;;;;;;:::i;:::-;;184;;5:9:-1;2:2;;;27:1;24;17:12;2:2;184:520:11;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;184:520:11;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;184:520:11;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;184:520:11;;;;;;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;184:520:11;;-1:-1:-1;184:520:11;-1:-1:-1;184:520:11;;;;;;;;;:::i;2258:514::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2258:514:11;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;2258:514:11;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;2258:514:11;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;2258:514:11;;;;;;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;2258:514:11;;-1:-1:-1;2258:514:11;-1:-1:-1;2258:514:11;;;;;;;;;:::i;2780:482::-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;2780:482:11;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;2780:482:11;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;2780:482:11;;;;;;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;2780:482:11;;-1:-1:-1;2780:482:11;-1:-1:-1;2780:482:11;;;;;;;;;:::i;1736:514::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1736:514:11;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;1736:514:11;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;1736:514:11;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1736:514:11;;;;;;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;1736:514:11;;-1:-1:-1;1736:514:11;-1:-1:-1;1736:514:11;;;;;;;;;:::i;1240:488::-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;1240:488:11;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;1240:488:11;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1240:488:11;;;;;;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;1240:488:11;;-1:-1:-1;1240:488:11;-1:-1:-1;1240:488:11;;;;;;;;;:::i;712:520::-;930:12;944:23;971:6;:19;;1028:57;;;1087:9;1098:11;1111:4;;1117:2;1121:8;991: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;;991:149:11;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;991:149:11;;;;;;;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;;;991:149:11;971:170;;;;;;;;;;;;;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;;;971:170:11;;;;;;;;;;;;;;;;;;;;;;;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;;929:212:11;;;;1159:7;1152:15;;;;1183:41;1202:10;1191:32;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1191:32:11;;;;;;;;;;;;;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;1191:32:11;;421:4:-1;412:14;;;;1191:32:11;;;;;412:14:-1;1191:32:11;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;1191:32:11;;;;;;;;;;;1183: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;1183:41:11;;;;;;;;;;;;;;;;;712:520;;;;;;;;;:::o;184:::-;402:12;416:23;443:6;:19;;500:57;;;559:8;569:12;583:4;;589:2;593:8;463: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;;463:149:11;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;463:149:11;;;;;;;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;;;463:149:11;443:170;;;;;;;;;;;;;66:2:-1;61:3;58:11;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;2258:514:11;2473:12;2487:23;2514:6;:19;;2571:54;;;2627:8;2637:12;2651:4;;2657:2;2661:8;2534:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;2534:146:11;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2534:146:11;;;;;;;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;;;2534:146:11;2514:167;;;;;;;;;;;;;66:2:-1;61:3;58:11;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;2780:482:11;2976:12;2990:23;3017:6;:19;;3074:54;;;3130:9;3141:4;;3147:2;3151:8;3037:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;3037:133:11;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3037:133:11;;;;;;;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;;;3037:133:11;3017:154;;;;;;;;;;;;;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;;;3017:154:11;;;;;;;;;;;;;;;;;;;;;;;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;;2975:196:11;;;;3189:7;3182:15;;;;3213:41;3232:10;3221:32;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3221:32:11;;;;;;;;;;;;;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;3221:32:11;;421:4:-1;412:14;;;;3221:32:11;;;;;412:14:-1;3221:32:11;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;3221:32:11;;;;;;;;;;;3213: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;3213:41:11;;;;;;;;;;;;;;;;;2780:482;;;;;;;;:::o;1736:514::-;1951:12;1965:23;1992:6;:19;;2049:54;;;2105:9;2116:11;2129:4;;2135:2;2139:8;2012:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;2012:146:11;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2012:146:11;;;;;;;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;;;2012:146:11;1992:167;;;;;;;;;;;;;66:2:-1;61:3;58:11;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;1240:488:11;1439:12;1453:23;1480:6;:19;;1537:54;;;1593:12;1607:4;;1613:2;1617:8;1500:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;;74:27;1500:136:11;;;137:4:-1;117:14;;;133:9;113:30;;;157:16;;;26:21;;;22:32;;;6:49;;1500:136:11;;;49:4:-1;25:18;;;61:17;;1500:136:11;182:15:-1;1500:136:11;;;;179:29:-1;;;;160:49;;1480:157:11;;;;1500:136;;1480:157;;-1:-1:-1;1480:157:11;;-1:-1:-1;25:18;-1:-1;1480:157:11;-1:-1:-1;1480:157:11;;-1:-1:-1;1480:157:11;;-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;\r\n\r\nimport '../interfaces/IWindfallRouter.sol';\r\n\r\ncontract RouterEventEmitter {\r\n event Amounts(uint[] amounts);\r\n\r\n receive() external payable {}\r\n\r\n function swapExactTokensForTokens(\r\n address router,\r\n uint amountIn,\r\n uint amountOutMin,\r\n address[] calldata path,\r\n address to,\r\n uint deadline\r\n ) external {\r\n (bool success, bytes memory returnData) = router.delegatecall(abi.encodeWithSelector(\r\n IWindfallRouter(router).swapExactTokensForTokens.selector, amountIn, amountOutMin, path, to, deadline\r\n ));\r\n assert(success);\r\n emit Amounts(abi.decode(returnData, (uint[])));\r\n }\r\n\r\n function swapTokensForExactTokens(\r\n address router,\r\n uint amountOut,\r\n uint amountInMax,\r\n address[] calldata path,\r\n address to,\r\n uint deadline\r\n ) external {\r\n (bool success, bytes memory returnData) = router.delegatecall(abi.encodeWithSelector(\r\n IWindfallRouter(router).swapTokensForExactTokens.selector, amountOut, amountInMax, path, to, deadline\r\n ));\r\n assert(success);\r\n emit Amounts(abi.decode(returnData, (uint[])));\r\n }\r\n\r\n function swapExactETHForTokens(\r\n address router,\r\n uint amountOutMin,\r\n address[] calldata path,\r\n address to,\r\n uint deadline\r\n ) external payable {\r\n (bool success, bytes memory returnData) = router.delegatecall(abi.encodeWithSelector(\r\n IWindfallRouter(router).swapExactETHForTokens.selector, amountOutMin, path, to, deadline\r\n ));\r\n assert(success);\r\n emit Amounts(abi.decode(returnData, (uint[])));\r\n }\r\n\r\n function swapTokensForExactETH(\r\n address router,\r\n uint amountOut,\r\n uint amountInMax,\r\n address[] calldata path,\r\n address to,\r\n uint deadline\r\n ) external {\r\n (bool success, bytes memory returnData) = router.delegatecall(abi.encodeWithSelector(\r\n IWindfallRouter(router).swapTokensForExactETH.selector, amountOut, amountInMax, path, to, deadline\r\n ));\r\n assert(success);\r\n emit Amounts(abi.decode(returnData, (uint[])));\r\n }\r\n\r\n function swapExactTokensForETH(\r\n address router,\r\n uint amountIn,\r\n uint amountOutMin,\r\n address[] calldata path,\r\n address to,\r\n uint deadline\r\n ) external {\r\n (bool success, bytes memory returnData) = router.delegatecall(abi.encodeWithSelector(\r\n IWindfallRouter(router).swapExactTokensForETH.selector, amountIn, amountOutMin, path, to, deadline\r\n ));\r\n assert(success);\r\n emit Amounts(abi.decode(returnData, (uint[])));\r\n }\r\n\r\n function swapETHForExactTokens(\r\n address router,\r\n uint amountOut,\r\n address[] calldata path,\r\n address to,\r\n uint deadline\r\n ) external payable {\r\n (bool success, bytes memory returnData) = router.delegatecall(abi.encodeWithSelector(\r\n IWindfallRouter(router).swapETHForExactTokens.selector, amountOut, path, to, deadline\r\n ));\r\n assert(success);\r\n emit Amounts(abi.decode(returnData, (uint[])));\r\n }\r\n}\r\n",
"sourcePath": "D:/defi/windfall/windfallswap-periphery/contracts/test/RouterEventEmitter.sol",
"ast": {
"absolutePath": "/D/defi/windfall/windfallswap-periphery/contracts/test/RouterEventEmitter.sol",
"exportedSymbols": {
"RouterEventEmitter": [
4603
]
},
"id": 4604,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 4280,
"literals": [
"solidity",
"=",
"0.6",
".6"
],
"nodeType": "PragmaDirective",
"src": "0:23:11"
},
{
"absolutePath": "/D/defi/windfall/windfallswap-periphery/contracts/interfaces/IWindfallRouter.sol",
"file": "../interfaces/IWindfallRouter.sol",
"id": 4281,
"nodeType": "ImportDirective",
"scope": 4604,
"sourceUnit": 2813,
"src": "27:43:11",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 4603,
"linearizedBaseContracts": [
4603
],
"name": "RouterEventEmitter",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"documentation": null,
"id": 4286,
"name": "Amounts",
"nodeType": "EventDefinition",
"parameters": {
"id": 4285,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4284,
"indexed": false,
"mutability": "mutable",
"name": "amounts",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 4286,
"src": "123:14:11",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 4282,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "123:4:11",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 4283,
"length": null,
"nodeType": "ArrayTypeName",
"src": "123:6:11",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "122:16:11"
},
"src": "109:30:11"
},
{
"body": {
"id": 4289,
"nodeType": "Block",
"src": "174:2:11",
"statements": []
},
"documentation": null,
"id": 4290,
"implemented": true,
"kind": "receive",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 4287,
"nodeType": "ParameterList",
"parameters": [],
"src": "154:2:11"
},
"returnParameters": {
"id": 4288,
"nodeType": "ParameterList",
"parameters": [],
"src": "174:0:11"
},
"scope": 4603,
"src": "147:29:11",
"stateMutability": "payable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 4342,
"nodeType": "Block",
"src": "390:314:11",
"statements": [
{
"assignments": [
4307,
4309
],
"declarations": [
{
"constant": false,
"id": 4307,
"mutability": "mutable",
"name": "success",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 4342,
"src": "402:12:11",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 4306,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "402:4:11",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 4309,
"mutability": "mutable",
"name": "returnData",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 4342,
"src": "416:23:11",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 4308,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "416:5:11",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 4326,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 4315,
"name": "router",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4292,
"src": "516:6:11",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 4314,
"name": "IWindfallRouter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2812,
"src": "500:15:11",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IWindfallRouter_$2812_$",
"typeString": "type(contract IWindfallRouter)"
}
},
"id": 4316,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "500:23:11",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IWindfallRouter_$2812",
"typeString": "contract IWindfallRouter"
}
},
"id": 4317,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "swapExactTokensForTokens",
"nodeType": "MemberAccess",
"referencedDeclaration": 2593,
"src": "500:48:11",
"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": 4318,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "selector",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "500:57:11",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
{
"argumentTyp