5783 lines
286 KiB
JSON
5783 lines
286 KiB
JSON
{
|
|
"abi": [
|
|
{
|
|
"inputs": [],
|
|
"name": "UNKNOWN_DECIMALS",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint8",
|
|
"name": "",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "vault",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "tokens",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"name": "getBalances",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "balances",
|
|
"type": "uint256[]"
|
|
},
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "decimals",
|
|
"type": "uint256[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenA",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenB",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getRoutes",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "enum OrderLib.Exchange",
|
|
"name": "exchange",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "uint24",
|
|
"name": "fee",
|
|
"type": "uint24"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"internalType": "struct QueryHelper.RoutesResult[]",
|
|
"name": "routes",
|
|
"type": "tuple[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "contract IUniswapV3Pool",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "poolStatus",
|
|
"outputs": [
|
|
{
|
|
"internalType": "int24",
|
|
"name": "tick",
|
|
"type": "int24"
|
|
},
|
|
{
|
|
"internalType": "uint128",
|
|
"name": "liquidity",
|
|
"type": "uint128"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "version",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint8",
|
|
"name": "",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": {
|
|
"object": "0x608060405234801561001057600080fd5b50611299806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80636a385ae9116100505780636a385ae9146100ab578063b8df9780146100cc578063d85c32c7146100d457600080fd5b80633c38ccbb1461006c57806354fd4d5014610096575b600080fd5b61007f61007a366004610b21565b6100f4565b60405161008d929190610b6f565b60405180910390f35b61009e600181565b60405161008d9190610b93565b6100be6100b9366004610cf4565b610206565b60405161008d929190610da5565b61009e60ff81565b6100e76100e2366004610dd3565b6104c8565b60405161008d9190610f02565b6000808273ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015610142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101669190610f92565b5050604080517f1a686502000000000000000000000000000000000000000000000000000000008152905194975073ffffffffffffffffffffffffffffffffffffffff89169550631a686502946004808301955060209450909250908290030181865afa1580156101db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ff9190611046565b9050915091565b60608061ffff801683511061021a57600080fd5b825167ffffffffffffffff81111561023457610234610bb6565b60405190808252806020026020018201604052801561025d578160200160208202803683370190505b509150825167ffffffffffffffff81111561027a5761027a610bb6565b6040519080825280602002602001820160405280156102a3578160200160208202803683370190505b50905060005b83518161ffff1610156104c057838161ffff16815181106102cc576102cc611065565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b815260040161030c9190611094565b602060405180830381865afa925050508015610363575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610360918101906110b4565b60015b610390576000838261ffff168151811061037f5761037f611065565b6020026020010181815250506103b5565b80848361ffff16815181106103a7576103a7611065565b602002602001018181525050505b838161ffff16815181106103cb576103cb611065565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610457575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610454918101906110d3565b60015b6104865760ff8016828261ffff168151811061047557610475611065565b6020026020010181815250506104ae565b8060ff16838361ffff16815181106104a0576104a0611065565b602002602001018181525050505b806104b881611121565b9150506102a9565b509250929050565b60606105086040518060400160405280600981526020017f676574526f7574657300000000000000000000000000000000000000000000008152506108fe565b61051183610990565b61051a82610990565b60408051608081018252606481526101f46020820152610bb8918101919091526127106060820152600080808087815b60048160ff1610156107aa576105946040518060400160405280600981526020017f676574506f6f6c2e2e00000000000000000000000000000000000000000000008152506108fe565b6000878260ff16600481106105ab576105ab611065565b60200201516040517f1698ee82000000000000000000000000000000000000000000000000000000008152909150600090731f98431c8ad98523631ae4a59f267346ea31f98490631698ee829061060a908f908f908790600401611142565b602060405180830381865afa158015610627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064b919061117e565b905073ffffffffffffffffffffffffffffffffffffffff81166106ad576106a66040518060400160405280600781526020017f6e6f20706f6f6c000000000000000000000000000000000000000000000000008152506108fe565b50506107a2565b6106eb6040518060400160405280600881526020017f676f74506f6f6c2e0000000000000000000000000000000000000000000000008152506108fe565b6106f481610990565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8616906370a0823190610749908590600401611094565b602060405180830381865afa158015610766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078a91906110b4565b90508681111561079e578297508096508195505b5050505b60010161054a565b506000808562ffffff16116107dd5760006107c5878261119d565b62ffffff16116107d65760006107e0565b60016107e0565b60015b90506107eb83610990565b6107f78160ff16610a1f565b8060ff1667ffffffffffffffff81111561081357610813610bb6565b60405190808252806020026020018201604052801561087c57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816108315790505b509750600062ffffff8616156108f0576040805160608101909152806001815262ffffff8816602082015273ffffffffffffffffffffffffffffffffffffffff861660409091015289826108cf816111ba565b935060ff16815181106108e4576108e4611065565b60200260200101819052505b505050505050505092915050565b61098d816040516024016109129190611242565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052610aaa565b50565b61098d816040516024016109a49190611094565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f2c2ecbc200000000000000000000000000000000000000000000000000000000179052610aaa565b61098d81604051602401610a339190611255565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff82c50f1000000000000000000000000000000000000000000000000000000001790525b61098d8180516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600073ffffffffffffffffffffffffffffffffffffffff82165b92915050565b6000610ae982610acf565b610b0381610aef565b811461098d57600080fd5b803580610b1a81610afa565b5092915050565b600060208284031215610b3657610b36600080fd5b610b408383610b0e565b9392505050565b610b518160020b90565b82525050565b6fffffffffffffffffffffffffffffffff8116610b51565b60408101610b7d8285610b47565b610b406020830184610b57565b60ff8116610b51565b60208101610ae98284610b8a565b610b0381610acf565b803580610b1a81610ba1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116810181811067ffffffffffffffff82111715610c2957610c29610bb6565b6040525050565b6000610c3b60405190565b809150610c488382610be5565b50919050565b600067ffffffffffffffff821115610c6857610c68610bb6565b5060051b60200190565b6000610c85610c8084610c4e565b610c30565b8381529050600583901b82016020820185821115610ca557610ca5600080fd5b835b82811015610cc757610cb98782610baa565b825260209182019101610ca7565b5050509392505050565b600082601f830112610ce557610ce5600080fd5b610b4083833560208501610c72565b60008060408385031215610d0a57610d0a600080fd5b610d148484610baa565b9150602083013567ffffffffffffffff811115610d3357610d33600080fd5b610d3f85828601610cd1565b9150509250929050565b80610b51565b610d598282610d49565b5060200190565b6000610d6a825190565b808452602093840193830160005b82811015610d9b57610d8b868351610d4f565b9550602082019150600101610d78565b5093949350505050565b604081526000610db86040830185610d60565b8281036020840152610dca8185610d60565b95945050505050565b60008060408385031215610de957610de9600080fd5b610df38484610baa565b9150610e028460208501610baa565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811061098d5761098d610e0b565b80610e5481610e3a565b919050565b6000610ae982610e4a565b610b5181610e59565b62ffffff8116610b51565b610b5181610acf565b610e8c828251610e64565b6020810151610e9e6020840182610e6d565b506040810151610eb16040840182610e78565b505050565b610ec08282610e81565b5060600190565b6000610ed1825190565b808452602093840193830160005b82811015610d9b57610ef2868351610eb6565b9550602082019150600101610edf565b602081526000610b406020830184610ec7565b73ffffffffffffffffffffffffffffffffffffffff8116610b03565b805180610b1a81610f15565b610b038160020b90565b805180610b1a81610f3d565b61ffff8116610b03565b805180610b1a81610f53565b60ff8116610b03565b805180610b1a81610f69565b801515610b03565b805180610b1a81610f7e565b600080600080600080600060e0888a031215610fb057610fb0600080fd5b610fba8989610f31565b9650610fc98960208a01610f47565b9550610fd88960408a01610f5d565b9450610fe78960608a01610f5d565b9350610ff68960808a01610f5d565b92506110058960a08a01610f72565b91506110148960c08a01610f86565b905092959891949750929550565b6fffffffffffffffffffffffffffffffff8116610b03565b805180610b1a81611022565b60006020828403121561105b5761105b600080fd5b610b40838361103a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60208101610ae98284610e78565b80610b03565b805180610b1a816110a2565b6000602082840312156110c9576110c9600080fd5b610b4083836110a8565b6000602082840312156110e8576110e8600080fd5b610b408383610f72565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061ffff821661ffff8103611139576111396110f2565b60010192915050565b606081016111508286610e78565b61115d6020830185610e78565b61116a6040830184610e6d565b949350505050565b805180610b1a81610ba1565b60006020828403121561119357611193600080fd5b610b408383611172565b62ffffff82811682821601908190811115610b1a57610b1a6110f2565b600060ff821660ff8103611139576111396110f2565b60005b838110156111eb5781810151838201526020016111d3565b50506000910152565b60006111fe825190565b808452602084016112138282602087016111d0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011601949350505050565b602081526000610b4060208301846111f4565b60208101610ae98284610d4956fea2646970667358221220781b28c3f6332aa5b34004d6e3aec84d08036cc72cde73dd5d71b4b6c36c4bf764736f6c63430008160033",
|
|
"sourceMap": "335:3162:55:-:0;;;;;;;;;;;;;;;;;;;",
|
|
"linkReferences": {}
|
|
},
|
|
"deployedBytecode": {
|
|
"object": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c80636a385ae9116100505780636a385ae9146100ab578063b8df9780146100cc578063d85c32c7146100d457600080fd5b80633c38ccbb1461006c57806354fd4d5014610096575b600080fd5b61007f61007a366004610b21565b6100f4565b60405161008d929190610b6f565b60405180910390f35b61009e600181565b60405161008d9190610b93565b6100be6100b9366004610cf4565b610206565b60405161008d929190610da5565b61009e60ff81565b6100e76100e2366004610dd3565b6104c8565b60405161008d9190610f02565b6000808273ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015610142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101669190610f92565b5050604080517f1a686502000000000000000000000000000000000000000000000000000000008152905194975073ffffffffffffffffffffffffffffffffffffffff89169550631a686502946004808301955060209450909250908290030181865afa1580156101db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ff9190611046565b9050915091565b60608061ffff801683511061021a57600080fd5b825167ffffffffffffffff81111561023457610234610bb6565b60405190808252806020026020018201604052801561025d578160200160208202803683370190505b509150825167ffffffffffffffff81111561027a5761027a610bb6565b6040519080825280602002602001820160405280156102a3578160200160208202803683370190505b50905060005b83518161ffff1610156104c057838161ffff16815181106102cc576102cc611065565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b815260040161030c9190611094565b602060405180830381865afa925050508015610363575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610360918101906110b4565b60015b610390576000838261ffff168151811061037f5761037f611065565b6020026020010181815250506103b5565b80848361ffff16815181106103a7576103a7611065565b602002602001018181525050505b838161ffff16815181106103cb576103cb611065565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610457575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610454918101906110d3565b60015b6104865760ff8016828261ffff168151811061047557610475611065565b6020026020010181815250506104ae565b8060ff16838361ffff16815181106104a0576104a0611065565b602002602001018181525050505b806104b881611121565b9150506102a9565b509250929050565b60606105086040518060400160405280600981526020017f676574526f7574657300000000000000000000000000000000000000000000008152506108fe565b61051183610990565b61051a82610990565b60408051608081018252606481526101f46020820152610bb8918101919091526127106060820152600080808087815b60048160ff1610156107aa576105946040518060400160405280600981526020017f676574506f6f6c2e2e00000000000000000000000000000000000000000000008152506108fe565b6000878260ff16600481106105ab576105ab611065565b60200201516040517f1698ee82000000000000000000000000000000000000000000000000000000008152909150600090731f98431c8ad98523631ae4a59f267346ea31f98490631698ee829061060a908f908f908790600401611142565b602060405180830381865afa158015610627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064b919061117e565b905073ffffffffffffffffffffffffffffffffffffffff81166106ad576106a66040518060400160405280600781526020017f6e6f20706f6f6c000000000000000000000000000000000000000000000000008152506108fe565b50506107a2565b6106eb6040518060400160405280600881526020017f676f74506f6f6c2e0000000000000000000000000000000000000000000000008152506108fe565b6106f481610990565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8616906370a0823190610749908590600401611094565b602060405180830381865afa158015610766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078a91906110b4565b90508681111561079e578297508096508195505b5050505b60010161054a565b506000808562ffffff16116107dd5760006107c5878261119d565b62ffffff16116107d65760006107e0565b60016107e0565b60015b90506107eb83610990565b6107f78160ff16610a1f565b8060ff1667ffffffffffffffff81111561081357610813610bb6565b60405190808252806020026020018201604052801561087c57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816108315790505b509750600062ffffff8616156108f0576040805160608101909152806001815262ffffff8816602082015273ffffffffffffffffffffffffffffffffffffffff861660409091015289826108cf816111ba565b935060ff16815181106108e4576108e4611065565b60200260200101819052505b505050505050505092915050565b61098d816040516024016109129190611242565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052610aaa565b50565b61098d816040516024016109a49190611094565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f2c2ecbc200000000000000000000000000000000000000000000000000000000179052610aaa565b61098d81604051602401610a339190611255565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff82c50f1000000000000000000000000000000000000000000000000000000001790525b61098d8180516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600073ffffffffffffffffffffffffffffffffffffffff82165b92915050565b6000610ae982610acf565b610b0381610aef565b811461098d57600080fd5b803580610b1a81610afa565b5092915050565b600060208284031215610b3657610b36600080fd5b610b408383610b0e565b9392505050565b610b518160020b90565b82525050565b6fffffffffffffffffffffffffffffffff8116610b51565b60408101610b7d8285610b47565b610b406020830184610b57565b60ff8116610b51565b60208101610ae98284610b8a565b610b0381610acf565b803580610b1a81610ba1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116810181811067ffffffffffffffff82111715610c2957610c29610bb6565b6040525050565b6000610c3b60405190565b809150610c488382610be5565b50919050565b600067ffffffffffffffff821115610c6857610c68610bb6565b5060051b60200190565b6000610c85610c8084610c4e565b610c30565b8381529050600583901b82016020820185821115610ca557610ca5600080fd5b835b82811015610cc757610cb98782610baa565b825260209182019101610ca7565b5050509392505050565b600082601f830112610ce557610ce5600080fd5b610b4083833560208501610c72565b60008060408385031215610d0a57610d0a600080fd5b610d148484610baa565b9150602083013567ffffffffffffffff811115610d3357610d33600080fd5b610d3f85828601610cd1565b9150509250929050565b80610b51565b610d598282610d49565b5060200190565b6000610d6a825190565b808452602093840193830160005b82811015610d9b57610d8b868351610d4f565b9550602082019150600101610d78565b5093949350505050565b604081526000610db86040830185610d60565b8281036020840152610dca8185610d60565b95945050505050565b60008060408385031215610de957610de9600080fd5b610df38484610baa565b9150610e028460208501610baa565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811061098d5761098d610e0b565b80610e5481610e3a565b919050565b6000610ae982610e4a565b610b5181610e59565b62ffffff8116610b51565b610b5181610acf565b610e8c828251610e64565b6020810151610e9e6020840182610e6d565b506040810151610eb16040840182610e78565b505050565b610ec08282610e81565b5060600190565b6000610ed1825190565b808452602093840193830160005b82811015610d9b57610ef2868351610eb6565b9550602082019150600101610edf565b602081526000610b406020830184610ec7565b73ffffffffffffffffffffffffffffffffffffffff8116610b03565b805180610b1a81610f15565b610b038160020b90565b805180610b1a81610f3d565b61ffff8116610b03565b805180610b1a81610f53565b60ff8116610b03565b805180610b1a81610f69565b801515610b03565b805180610b1a81610f7e565b600080600080600080600060e0888a031215610fb057610fb0600080fd5b610fba8989610f31565b9650610fc98960208a01610f47565b9550610fd88960408a01610f5d565b9450610fe78960608a01610f5d565b9350610ff68960808a01610f5d565b92506110058960a08a01610f72565b91506110148960c08a01610f86565b905092959891949750929550565b6fffffffffffffffffffffffffffffffff8116610b03565b805180610b1a81611022565b60006020828403121561105b5761105b600080fd5b610b40838361103a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60208101610ae98284610e78565b80610b03565b805180610b1a816110a2565b6000602082840312156110c9576110c9600080fd5b610b4083836110a8565b6000602082840312156110e8576110e8600080fd5b610b408383610f72565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061ffff821661ffff8103611139576111396110f2565b60010192915050565b606081016111508286610e78565b61115d6020830185610e78565b61116a6040830184610e6d565b949350505050565b805180610b1a81610ba1565b60006020828403121561119357611193600080fd5b610b408383611172565b62ffffff82811682821601908190811115610b1a57610b1a6110f2565b600060ff821660ff8103611139576111396110f2565b60005b838110156111eb5781810151838201526020016111d3565b50506000910152565b60006111fe825190565b808452602084016112138282602087016111d0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011601949350505050565b602081526000610b4060208301846111f4565b60208101610ae98284610d4956fea2646970667358221220781b28c3f6332aa5b34004d6e3aec84d08036cc72cde73dd5d71b4b6c36c4bf764736f6c63430008160033",
|
|
"sourceMap": "335:3162:55:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3293:202;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;362:33;;394:1;362:33;;;;;;;;;:::i;464:778::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;401:56::-;;442:15;401:56;;1359:1928;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3293:202::-;3368:10;3388:17;3438:4;:10;;;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;3472:16:55;;;;;;;;3422:28;;-1:-1:-1;3472:14:55;;;;-1:-1:-1;3472:14:55;;:16;;;;;-1:-1:-1;3472:16:55;;-1:-1:-1;3472:16:55;;-1:-1:-1;3472:16:55;;;;;;:14;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3460:28;;3293:202;;;:::o;464:778::-;561:25;596;662:16;646:32;;:6;:13;:32;638:41;;;;;;714:6;:13;700:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;700:28:55;;689:39;;763:6;:13;749:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;749:28:55;;738:39;;792:8;787:449;808:6;:13;804:1;:17;;;787:449;;;854:6;861:1;854:9;;;;;;;;;;:::i;:::-;;;;;;;847:27;;;875:5;847:34;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;847:34:55;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;843:186;;1013:1;999:8;1008:1;999:11;;;;;;;;;;:::i;:::-;;;;;;:15;;;;;843:186;;;940:7;926:8;935:1;926:11;;;;;;;;;;:::i;:::-;;;;;;:21;;;;;882:80;843:186;1052:6;1059:1;1052:9;;;;;;;;;;:::i;:::-;;;;;;;1046:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1046:27:55;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1042:184;;442:15;1181:30;;:8;1190:1;1181:11;;;;;;;;;;:::i;:::-;;;;;;:30;;;;;1042:184;;;1126:3;1112:17;;:8;1121:1;1112:11;;;;;;;;;;:::i;:::-;;;;;;:17;;;;;1074:70;1042:184;823:3;;;;:::i;:::-;;;;787:449;;;;464:778;;;;;:::o;1359:1928::-;1436:28;1521:25;;;;;;;;;;;;;;;;;;:12;:25::i;:::-;1556:20;1569:6;1556:12;:20::i;:::-;1586;1599:6;1586:12;:20::i;:::-;1685:52;;;;;;;;1717:3;1685:52;;1722:3;1685:52;;;;1726:4;1685:52;;;;;;;1731:5;1685:52;;;;:21;;;;2006:6;1685:21;2023:856;2041:1;2039;:3;;;2023:856;;;2064:25;;;;;;;;;;;;;;;;;;:12;:25::i;:::-;2103:10;2116:4;2121:1;2116:7;;;;;;;;;:::i;:::-;;;;;2174:55;;;;;2116:7;;-1:-1:-1;2137:19:55;;475:42:50;;2174:34:55;;:55;;2209:6;;2217;;2116:7;;2174:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2137:93;-1:-1:-1;2248:27:55;;;2244:116;;2296:23;;;;;;;;;;;;;;;;;;:12;:23::i;:::-;2337:8;;;;2244:116;2373:24;;;;;;;;;;;;;;;;;;:12;:24::i;:::-;2411:27;2432:4;2411:12;:27::i;:::-;2643:29;;;;;2623:17;;2643:14;;;;;;:29;;2666:4;;2643:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2623:49;;2702:18;2690:9;:30;2686:183;;;2756:3;2741:18;;2798:9;2777:30;;2849:4;2825:29;;2686:183;2050:829;;;2023:856;2044:3;;2023:856;;;;2888:17;2923:1;2908:12;:16;;;:51;;2950:1;2931:16;2935:12;2950:1;2931:16;:::i;:::-;:20;;;:28;;2958:1;2908:51;;2931:28;2954:1;2908:51;;;2927:1;2908:51;2888:71;;2969:27;2982:13;2969:12;:27::i;:::-;3006:31;3024:11;3019:17;;3006:12;:31::i;:::-;3087:11;3056:43;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;3056:43:55;;;;;;;;;;;;;;-1:-1:-1;3047:52:55;-1:-1:-1;3109:7:55;3153:16;;;;3149:131;;3198:82;;;;;;;;;;3223:27;3198:82;;;;;;;;;;;;;;;;;3184:6;3191:3;;;;:::i;:::-;;;3184:11;;;;;;;;;;:::i;:::-;;;;;;:96;;;;3149:131;1466:1821;;;;;;;;1359:1928;;;;:::o;6598:121:16:-;6653:59;6708:2;6669:42;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;6653:15;:59::i;:::-;6598:121;:::o;6841:116::-;6890:60;6946:2;6906:43;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;6890:15;:60::i;6356:116::-;6405:60;6461:2;6421:43;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;868:133;939:55;986:7;1105:14;;591:42;1278:2;1265:16;;1081:21;;1105:14;1265:16;591:42;1314:5;1303:68;1294:77;;1231:150;;1007:380;:::o;447:96:69:-;482:7;393:42;382:54;;515:22;504:33;447:96;-1:-1:-1;;447:96:69:o;548:112::-;599:7;632:22;648:5;632:22;:::i;665:154::-;756:38;788:5;756:38;:::i;:::-;749:5;746:49;736:77;;809:1;806;799:12;824:204;919:20;;;973:49;919:20;973:49;:::i;:::-;;824:204;;;;:::o;1033:330::-;1116:6;1169:2;1157:9;1148:7;1144:23;1140:32;1137:147;;;1195:79;335:3162:55;;;1195:79:69;1303:54;1349:7;1338:9;1303:54;:::i;:::-;1293:64;1033:330;-1:-1:-1;;;1033:330:69:o;1465:91::-;1529:20;1543:5;1445:1;1434:20;;1368:92;1529:20;1524:3;1517:33;;;1465:91::o;1686:95::-;1640:34;1629:46;;1752:22;1561:120;1786:266;1944:2;1929:18;;1956:35;1933:9;1973:6;1956:35;:::i;:::-;2000:46;2042:2;2031:9;2027:18;2019:6;2000:46;:::i;2138:91::-;2126:4;2115:16;;2202:20;2057:76;2234:183;2364:2;2349:18;;2376:35;2353:9;2393:6;2376:35;:::i;2422:122::-;2497:22;2513:5;2497:22;:::i;2549:172::-;2628:20;;;2682:33;2628:20;2682:33;:::i;3007:184::-;3059:77;3056:1;3049:88;3156:4;3153:1;3146:15;3180:4;3177:1;3170:15;3196:246;2929:66;2924:2;2913:14;;2909:87;3275:6;3271:37;3374:6;3362:10;3359:22;3338:18;3326:10;3323:34;3320:62;3317:88;;;3385:18;;:::i;:::-;3421:2;3414:22;-1:-1:-1;;3196:246:69:o;3447:168::-;3481:6;3518:20;76:2;70:9;;14:67;3518:20;3557:8;3547:18;;3574:35;3604:4;3594:8;3574:35;:::i;:::-;;3447:168;;;:::o;3620:183::-;3680:4;3713:18;3705:6;3702:30;3699:56;;;3735:18;;:::i;:::-;-1:-1:-1;3780:1:69;3776:14;3792:4;3772:25;;3620:183::o;3922:683::-;4001:5;4036:64;4052:47;4092:6;4052:47;:::i;:::-;4036:64;:::i;:::-;4161:23;;;4118:7;-1:-1:-1;4257:1:69;4253:14;;;4241:27;;4213:4;4200:18;;4280:15;;;4277:130;;;4318:79;335:3162:55;;;4318:79:69;4427:6;4442:157;4458:6;4453:3;4450:15;4442:157;;;4526:28;4550:3;4545;4526:28;:::i;:::-;4514:41;;4584:4;4575:14;;;;4475;4442:157;;;4446:3;;;3922:683;;;;;:::o;4610:339::-;4664:5;4717:3;4710:4;4702:6;4698:17;4694:27;4684:150;;4745:79;335:3162:55;;;4745:79:69;4852:91;4939:3;4930:6;4917:20;4910:4;4902:6;4898:17;4852:91;:::i;4954:621::-;5047:6;5055;5108:2;5096:9;5087:7;5083:23;5079:32;5076:147;;;5134:79;335:3162:55;;;5134:79:69;5242:38;5272:7;5261:9;5242:38;:::i;:::-;5232:48;;5331:2;5320:9;5316:18;5303:32;5358:18;5350:6;5347:30;5344:145;;;5400:79;335:3162:55;;;5400:79:69;5508:61;5561:7;5552:6;5541:9;5537:22;5508:61;:::i;:::-;5498:71;;;4954:621;;;;;:::o;6000:95::-;6082:5;6066:22;5928:67;6100:153;6179:31;6206:3;6198:6;6179:31;:::i;:::-;-1:-1:-1;6242:4:69;6233:14;;6100:153::o;6351:506::-;6404:3;6436:37;6467:5;5653:12;;5580:87;6436:37;5770:19;;;5822:4;5813:14;;;;5907;;6628:1;6638:194;6652:6;6649:1;6646:13;6638:194;;;6708:48;6752:3;6743:6;6737:13;6708:48;:::i;:::-;6701:55;-1:-1:-1;5916:4:69;5907:14;;6769:53;-1:-1:-1;6674:1:69;6667:9;6638:194;;;-1:-1:-1;6848:3:69;;6351:506;-1:-1:-1;;;;6351:506:69:o;6862:465::-;7119:2;7108:9;7101:21;7082:4;7145:56;7197:2;7186:9;7182:18;7174:6;7145:56;:::i;:::-;7249:9;7241:6;7237:22;7232:2;7221:9;7217:18;7210:50;7277:44;7314:6;7306;7277:44;:::i;:::-;7269:52;6862:465;-1:-1:-1;;;;;6862:465:69:o;7332:373::-;7400:6;7408;7461:2;7449:9;7440:7;7436:23;7432:32;7429:147;;;7487:79;335:3162:55;;;7487:79:69;7595:38;7625:7;7614:9;7595:38;:::i;:::-;7585:48;;7652:47;7691:7;7686:2;7675:9;7671:18;7652:47;:::i;:::-;7642:57;;7332:373;;;;;:::o;8094:184::-;8146:77;8143:1;8136:88;8243:4;8240:1;8233:15;8267:4;8264:1;8257:15;8283:113;8364:1;8357:5;8354:12;8344:46;;8370:18;;:::i;8401:131::-;8475:5;8489:37;8475:5;8489:37;:::i;:::-;8401:131;;;:::o;8537:121::-;8587:9;8624:28;8646:5;8624:28;:::i;8663:116::-;8735:37;8766:5;8735:37;:::i;8882:103::-;8862:8;8851:20;;8957:21;8784:93;8990:106;9067:22;9083:5;9067:22;:::i;9101:357::-;9167:43;9206:3;9198:5;9192:12;9167:43;:::i;:::-;9256:4;9249:5;9245:16;9239:23;9271:57;9322:4;9317:3;9313:14;9299:12;9271:57;:::i;:::-;;9376:4;9369:5;9365:16;9359:23;9391:61;9446:4;9441:3;9437:14;9421;9391:61;:::i;:::-;;9101:357;;:::o;9463:177::-;9554:43;9593:3;9585:6;9554:43;:::i;:::-;-1:-1:-1;9629:4:69;9620:14;;9463:177::o;9750:578::-;9815:3;9847:49;9890:5;5653:12;;5580:87;9847:49;5770:19;;;5822:4;5813:14;;;;5907;;10075:1;10085:218;10099:6;10096:1;10093:13;10085:218;;;10155:60;10211:3;10202:6;10196:13;10155:60;:::i;:::-;10148:67;-1:-1:-1;5916:4:69;5907:14;;10228:65;-1:-1:-1;10121:1:69;10114:9;10085:218;;10333:335;10574:2;10563:9;10556:21;10537:4;10594:68;10658:2;10647:9;10643:18;10635:6;10594:68;:::i;10673:122::-;393:42;382:54;;10748:22;314:128;10800:176;10890:13;;;10937:33;10890:13;10937:33;:::i;10981:118::-;11054:20;11068:5;1445:1;1434:20;;1368:92;11104:172;11192:13;;;11239:31;11192:13;11239:31;:::i;11365:120::-;11351:6;11340:18;;11439:21;11281:79;11490:174;11579:13;;;11626:32;11579:13;11626:32;:::i;11669:118::-;2126:4;2115:16;;11742:20;2057:76;11792:172;11880:13;;;11927:31;11880:13;11927:31;:::i;12066:116::-;12041:13;;12034:21;12138:19;11969:92;12187:170;12274:13;;;12321:30;12274:13;12321:30;:::i;12362:860::-;12476:6;12484;12492;12500;12508;12516;12524;12577:3;12565:9;12556:7;12552:23;12548:33;12545:148;;;12604:79;335:3162:55;;;12604:79:69;12712:49;12753:7;12742:9;12712:49;:::i;:::-;12702:59;;12780:56;12828:7;12823:2;12812:9;12808:18;12780:56;:::i;:::-;12770:66;;12855:57;12904:7;12899:2;12888:9;12884:18;12855:57;:::i;:::-;12845:67;;12931:57;12980:7;12975:2;12964:9;12960:18;12931:57;:::i;:::-;12921:67;;13007:58;13057:7;13051:3;13040:9;13036:19;13007:58;:::i;:::-;12997:68;;13084:57;13133:7;13127:3;13116:9;13112:19;13084:57;:::i;:::-;13074:67;;13160:56;13208:7;13202:3;13191:9;13187:19;13160:56;:::i;:::-;13150:66;;12362:860;;;;;;;;;;:::o;13227:122::-;1640:34;1629:46;;13302:22;1561:120;13354:176;13444:13;;;13491:33;13444:13;13491:33;:::i;13535:312::-;13605:6;13658:2;13646:9;13637:7;13633:23;13629:32;13626:147;;;13684:79;335:3162:55;;;13684:79:69;13792:49;13833:7;13822:9;13792:49;:::i;13852:184::-;13904:77;13901:1;13894:88;14001:4;13998:1;13991:15;14025:4;14022:1;14015:15;14141:189;14275:2;14260:18;;14287:37;14264:9;14306:6;14287:37;:::i;14335:122::-;14426:5;14410:22;5928:67;14462:176;14552:13;;;14599:33;14552:13;14599:33;:::i;14643:312::-;14713:6;14766:2;14754:9;14745:7;14741:23;14737:32;14734:147;;;14792:79;335:3162:55;;;14792:79:69;14900:49;14941:7;14930:9;14900:49;:::i;14960:308::-;15028:6;15081:2;15069:9;15060:7;15056:23;15052:32;15049:147;;;15107:79;335:3162:55;;;15107:79:69;15215:47;15254:7;15243:9;15215:47;:::i;15273:184::-;15325:77;15322:1;15315:88;15422:4;15419:1;15412:15;15446:4;15443:1;15436:15;15462:183;15500:3;11351:6;11340:18;;15578:6;15569:7;15566:19;15563:45;;15588:18;;:::i;:::-;15637:1;15624:15;;15462:183;-1:-1:-1;;15462:183:69:o;15748:352::-;15936:2;15921:18;;15948:37;15925:9;15967:6;15948:37;:::i;:::-;15994:46;16036:2;16025:9;16021:18;16013:6;15994:46;:::i;:::-;16049:45;16090:2;16079:9;16075:18;16067:6;16049:45;:::i;:::-;15748:352;;;;;;:::o;16105:176::-;16195:13;;;16242:33;16195:13;16242:33;:::i;16286:312::-;16356:6;16409:2;16397:9;16388:7;16384:23;16380:32;16377:147;;;16435:79;335:3162:55;;;16435:79:69;16543:49;16584:7;16573:9;16543:49;:::i;16603:215::-;8862:8;8851:20;;;;;;16710:27;;;;16770:19;;16767:45;;;16792:18;;:::i;16823:179::-;16860:3;2126:4;2115:16;;16937:4;16928:7;16925:17;16922:43;;16945:18;;:::i;17243:250::-;17328:1;17338:113;17352:6;17349:1;17346:13;17338:113;;;17428:11;;;17422:18;17409:11;;;17402:39;17374:2;17367:10;17338:113;;;-1:-1:-1;;17485:1:69;17467:16;;17460:27;17243:250::o;17498:306::-;17540:3;17572:26;17592:5;5653:12;;5580:87;17572:26;5770:19;;;5822:4;5813:14;;17677:67;17737:6;17730:5;17723:4;17716:5;17712:16;17677:67;:::i;:::-;2929:66;2924:2;2913:14;;2909:87;17760:38;;17498:306;-1:-1:-1;;;;17498:306:69:o;17809:220::-;17958:2;17947:9;17940:21;17921:4;17978:45;18019:2;18008:9;18004:18;17996:6;17978:45;:::i;18145:200::-;18279:2;18264:18;;18291:48;18268:9;18321:6;18291:48;:::i",
|
|
"linkReferences": {}
|
|
},
|
|
"methodIdentifiers": {
|
|
"UNKNOWN_DECIMALS()": "b8df9780",
|
|
"getBalances(address,address[])": "6a385ae9",
|
|
"getRoutes(address,address)": "d85c32c7",
|
|
"poolStatus(address)": "3c38ccbb",
|
|
"version()": "54fd4d50"
|
|
},
|
|
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"UNKNOWN_DECIMALS\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vault\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"tokens\",\"type\":\"address[]\"}],\"name\":\"getBalances\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"balances\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"decimals\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"}],\"name\":\"getRoutes\",\"outputs\":[{\"components\":[{\"internalType\":\"enum OrderLib.Exchange\",\"name\":\"exchange\",\"type\":\"uint8\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"internalType\":\"struct QueryHelper.RoutesResult[]\",\"name\":\"routes\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IUniswapV3Pool\",\"name\":\"pool\",\"type\":\"address\"}],\"name\":\"poolStatus\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/QueryHelper.sol\":\"QueryHelper\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib_uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.sol\":{\"keccak256\":\"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2\",\"dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B\"]},\"lib_uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"lib_uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol\":{\"keccak256\":\"0x3f485fb1a44e8fbeadefb5da07d66edab3cfe809f0ac4074b1e54e3eb3c4cf69\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://095ce0626b41318c772b3ebf19d548282607f6a8f3d6c41c13edfbd5370c8652\",\"dweb:/ipfs/QmVDZfJJ89UUCE1hMyzqpkZAtQ8jUsBgZNE5AMRG7RzRFS\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol\":{\"keccak256\":\"0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471\",\"dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol\":{\"keccak256\":\"0x3357b065654abb7f4a9ebd184a260bc39efde2afa4e99dca2e72ffc28e9c2984\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f7682dab014724be8e0a5a401b047788ff9c70b77fa5bd567ea6adc333cb3b56\",\"dweb:/ipfs/QmatH1Gc6z3AkP4dHjAEBKfCBbgBfD4vCceF4TuZU2bCyW\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol\":{\"keccak256\":\"0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f\",\"dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol\":{\"keccak256\":\"0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407\",\"dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol\":{\"keccak256\":\"0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f\",\"dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/ISwapRouter.sol\":{\"keccak256\":\"0x9bfaf1feb32814623e627ab70f2409760b15d95f1f9b058e2b3399a8bb732975\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://a8a2c3e55965b61bcd91993d8e1d5d34b8b8a63e0fdfce87a85f6af92526fd53\",\"dweb:/ipfs/QmQj2CSCSwqDSU4KMNWxGsN2336Cy64WgpV1X1EHXNZWxM\"]},\"lib_uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":{\"keccak256\":\"0x0a107d09991fd2dc9a3ca13bf0745f0b6f6f6ffea3e55ad3677ecdbadef089b4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e179110a9ec825b7f15384a9c61f90261fe6227b289dac9996b0ed9cf1655b48\",\"dweb:/ipfs/Qma2amC8zJSW2PzPCk1nBYiFd4mjZiAW9z4kxjoYZPCtRr\"]},\"lib_uniswap/v3-periphery/contracts/libraries/TransferHelper.sol\":{\"keccak256\":\"0x9af98b0908c96320ca6d08b22f0efca864742f6adbe5794cafe2d1d2e808b0cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://da1d1e81e5bf534f0bf2934b3193db6cb1933f91ec006d2b88e9ad10a617a2d2\",\"dweb:/ipfs/QmcPBk47QLMFWcX2y2S9eMFsJgoYWBd3R8ey55Bgmv6w6v\"]},\"src/Constants.sol\":{\"keccak256\":\"0x0dfa2216f60ff43f051a140d565171d67dc461b61dd7c486668c6f085d9405c3\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://015f74b4f9193c43cd67d59dcf9f2c5338995eee0d7cd0feb4d4ab908e3492be\",\"dweb:/ipfs/QmUaawZvDZi2ERKNE34xGkQvBjoKhdddCTduPxWZZGf1pu\"]},\"src/Factory.sol\":{\"keccak256\":\"0x505f51c4877723756acd154753934f8ffa7088ffec29c70a073d4f1b8f0c6d15\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://81c36502d1b0eb0d882d13f751d3eb2d0cb4f89bb04935d4f0a024d1143d3e05\",\"dweb:/ipfs/QmQmwaDTVuzKzduxGX7zkimJyKc4SVvhHYeFvwNUamDJcG\"]},\"src/OrderLib.sol\":{\"keccak256\":\"0x3141c71ba0edb4839dcee8f6d461c8969ec85548d756178c94e19e76075a9e89\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://f7b1efe6062b9095fe9d71475066743a7c80a1cb6b6c37e9e710195689a54424\",\"dweb:/ipfs/QmcdVcXijUv1CBW1V7nvM9s8gteb3QnmtuDEkrMGmcYEV5\"]},\"src/QueryHelper.sol\":{\"keccak256\":\"0xc501c6e09833b7ab5dbddfab0aece929f9fadaba723a9197fbb3e0fe948644ae\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://1d8eb50b08e37e4ed6d9d73adc50c9576c70ebdbc69266e4467e06b0c02b6ded\",\"dweb:/ipfs/QmSmE81LCdUYpC9PrNntX7YimnVA66uE1wG7ZGnMLh8pkw\"]},\"src/UniswapSwapper.sol\":{\"keccak256\":\"0xeba32c1f50322147452a5e8bb33daf0de90d0abaa26929f00da4cea788f92825\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ccef611297b80392e32363f9dce4f10403d2a9b3780475ffde7c38f1f2d23781\",\"dweb:/ipfs/QmVCN2oa3aQCx1KMxGN7EM4reJNFxegXyLSCQoe62dM2Kx\"]},\"src/Vault.sol\":{\"keccak256\":\"0xb9f8667aab5f5235d8364faa7a04610e5aa14af2fe29a04b27713a13fe955935\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://027c8699c68d1a3ca3a67f4362624d4bb1cb705ac125b6a72ad7638d81b1e045\",\"dweb:/ipfs/QmPcu3E3b2xzbeo15vvWNhrKGgT9sPfm9HVXXiftBc4Qu8\"]},\"src/VaultDeployer.sol\":{\"keccak256\":\"0x1a833cc5151d7acfbb5b665adb938fa0af59aa5aed873b4abf5720966d28ce10\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://52a9f4d146eca466e146956662f8ce76282eeb8a239b9aedf08d6924df724fd3\",\"dweb:/ipfs/Qmcu4qDuw9U7AucKBgSQ4hciNPJygErFxRL9YkqoQz5euu\"]},\"src/interface/IVaultDeployer.sol\":{\"keccak256\":\"0x2985c864a3b5cf99244cc443871b356b47bb6bfb758bbf89b9cceb2e15c68886\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://2d3df393bad985f53c8a31e9907badd10766891d5951a3ab95acea2cc6d2092a\",\"dweb:/ipfs/QmbE7z2SwfCnCF2XxKM1FEEPaddrS6WNbCJ5yqSP2Zn8d7\"]}},\"version\":1}",
|
|
"metadata": {
|
|
"compiler": {
|
|
"version": "0.8.22+commit.4fc1097e"
|
|
},
|
|
"language": "Solidity",
|
|
"output": {
|
|
"abi": [
|
|
{
|
|
"inputs": [],
|
|
"stateMutability": "view",
|
|
"type": "function",
|
|
"name": "UNKNOWN_DECIMALS",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint8",
|
|
"name": "",
|
|
"type": "uint8"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "vault",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "tokens",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function",
|
|
"name": "getBalances",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "balances",
|
|
"type": "uint256[]"
|
|
},
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "decimals",
|
|
"type": "uint256[]"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenA",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "tokenB",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function",
|
|
"name": "getRoutes",
|
|
"outputs": [
|
|
{
|
|
"internalType": "struct QueryHelper.RoutesResult[]",
|
|
"name": "routes",
|
|
"type": "tuple[]",
|
|
"components": [
|
|
{
|
|
"internalType": "enum OrderLib.Exchange",
|
|
"name": "exchange",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "uint24",
|
|
"name": "fee",
|
|
"type": "uint24"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "contract IUniswapV3Pool",
|
|
"name": "pool",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function",
|
|
"name": "poolStatus",
|
|
"outputs": [
|
|
{
|
|
"internalType": "int24",
|
|
"name": "tick",
|
|
"type": "int24"
|
|
},
|
|
{
|
|
"internalType": "uint128",
|
|
"name": "liquidity",
|
|
"type": "uint128"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"stateMutability": "view",
|
|
"type": "function",
|
|
"name": "version",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint8",
|
|
"name": "",
|
|
"type": "uint8"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"devdoc": {
|
|
"kind": "dev",
|
|
"methods": {},
|
|
"version": 1
|
|
},
|
|
"userdoc": {
|
|
"kind": "user",
|
|
"methods": {},
|
|
"version": 1
|
|
}
|
|
},
|
|
"settings": {
|
|
"remappings": [
|
|
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
|
"@uniswap/v3-core/=lib_uniswap/v3-core/",
|
|
"@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
|
|
"ds-test/=lib/forge-std/lib/ds-test/src/",
|
|
"forge-std/=lib/forge-std/src/",
|
|
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
|
|
"v3-core/=lib_uniswap/v3-core/",
|
|
"v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
|
|
],
|
|
"optimizer": {
|
|
"runs": 999999999,
|
|
"details": {
|
|
"peephole": true,
|
|
"inliner": true,
|
|
"jumpdestRemover": true,
|
|
"orderLiterals": true,
|
|
"deduplicate": true,
|
|
"cse": true,
|
|
"constantOptimizer": true,
|
|
"yul": true,
|
|
"yulDetails": {
|
|
"stackAllocation": true,
|
|
"optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
|
|
}
|
|
}
|
|
},
|
|
"metadata": {
|
|
"bytecodeHash": "ipfs"
|
|
},
|
|
"compilationTarget": {
|
|
"src/QueryHelper.sol": "QueryHelper"
|
|
},
|
|
"libraries": {}
|
|
},
|
|
"sources": {
|
|
"lib/forge-std/src/console2.sol": {
|
|
"keccak256": "0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea",
|
|
"urls": [
|
|
"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973",
|
|
"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": {
|
|
"keccak256": "0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d",
|
|
"urls": [
|
|
"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d",
|
|
"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": {
|
|
"keccak256": "0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b",
|
|
"urls": [
|
|
"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34",
|
|
"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": {
|
|
"keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca",
|
|
"urls": [
|
|
"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd",
|
|
"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol": {
|
|
"keccak256": "0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68",
|
|
"urls": [
|
|
"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56",
|
|
"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol": {
|
|
"keccak256": "0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf",
|
|
"urls": [
|
|
"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34",
|
|
"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol": {
|
|
"keccak256": "0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9",
|
|
"urls": [
|
|
"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146",
|
|
"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/openzeppelin-contracts/contracts/utils/Context.sol": {
|
|
"keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7",
|
|
"urls": [
|
|
"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92",
|
|
"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": {
|
|
"keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1",
|
|
"urls": [
|
|
"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f",
|
|
"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib_uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.sol": {
|
|
"keccak256": "0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489",
|
|
"urls": [
|
|
"bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2",
|
|
"dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol": {
|
|
"keccak256": "0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1",
|
|
"urls": [
|
|
"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5",
|
|
"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol": {
|
|
"keccak256": "0x3f485fb1a44e8fbeadefb5da07d66edab3cfe809f0ac4074b1e54e3eb3c4cf69",
|
|
"urls": [
|
|
"bzz-raw://095ce0626b41318c772b3ebf19d548282607f6a8f3d6c41c13edfbd5370c8652",
|
|
"dweb:/ipfs/QmVDZfJJ89UUCE1hMyzqpkZAtQ8jUsBgZNE5AMRG7RzRFS"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol": {
|
|
"keccak256": "0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634",
|
|
"urls": [
|
|
"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5",
|
|
"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol": {
|
|
"keccak256": "0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5",
|
|
"urls": [
|
|
"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7",
|
|
"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol": {
|
|
"keccak256": "0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd",
|
|
"urls": [
|
|
"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03",
|
|
"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol": {
|
|
"keccak256": "0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7",
|
|
"urls": [
|
|
"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047",
|
|
"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol": {
|
|
"keccak256": "0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235",
|
|
"urls": [
|
|
"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735",
|
|
"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol": {
|
|
"keccak256": "0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f",
|
|
"urls": [
|
|
"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f",
|
|
"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol": {
|
|
"keccak256": "0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4",
|
|
"urls": [
|
|
"bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471",
|
|
"dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol": {
|
|
"keccak256": "0x3357b065654abb7f4a9ebd184a260bc39efde2afa4e99dca2e72ffc28e9c2984",
|
|
"urls": [
|
|
"bzz-raw://f7682dab014724be8e0a5a401b047788ff9c70b77fa5bd567ea6adc333cb3b56",
|
|
"dweb:/ipfs/QmatH1Gc6z3AkP4dHjAEBKfCBbgBfD4vCceF4TuZU2bCyW"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol": {
|
|
"keccak256": "0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d",
|
|
"urls": [
|
|
"bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f",
|
|
"dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol": {
|
|
"keccak256": "0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274",
|
|
"urls": [
|
|
"bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407",
|
|
"dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol": {
|
|
"keccak256": "0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862",
|
|
"urls": [
|
|
"bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f",
|
|
"dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-periphery/contracts/interfaces/ISwapRouter.sol": {
|
|
"keccak256": "0x9bfaf1feb32814623e627ab70f2409760b15d95f1f9b058e2b3399a8bb732975",
|
|
"urls": [
|
|
"bzz-raw://a8a2c3e55965b61bcd91993d8e1d5d34b8b8a63e0fdfce87a85f6af92526fd53",
|
|
"dweb:/ipfs/QmQj2CSCSwqDSU4KMNWxGsN2336Cy64WgpV1X1EHXNZWxM"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-periphery/contracts/libraries/PoolAddress.sol": {
|
|
"keccak256": "0x0a107d09991fd2dc9a3ca13bf0745f0b6f6f6ffea3e55ad3677ecdbadef089b4",
|
|
"urls": [
|
|
"bzz-raw://e179110a9ec825b7f15384a9c61f90261fe6227b289dac9996b0ed9cf1655b48",
|
|
"dweb:/ipfs/Qma2amC8zJSW2PzPCk1nBYiFd4mjZiAW9z4kxjoYZPCtRr"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"lib_uniswap/v3-periphery/contracts/libraries/TransferHelper.sol": {
|
|
"keccak256": "0x9af98b0908c96320ca6d08b22f0efca864742f6adbe5794cafe2d1d2e808b0cd",
|
|
"urls": [
|
|
"bzz-raw://da1d1e81e5bf534f0bf2934b3193db6cb1933f91ec006d2b88e9ad10a617a2d2",
|
|
"dweb:/ipfs/QmcPBk47QLMFWcX2y2S9eMFsJgoYWBd3R8ey55Bgmv6w6v"
|
|
],
|
|
"license": "GPL-2.0-or-later"
|
|
},
|
|
"src/Constants.sol": {
|
|
"keccak256": "0x0dfa2216f60ff43f051a140d565171d67dc461b61dd7c486668c6f085d9405c3",
|
|
"urls": [
|
|
"bzz-raw://015f74b4f9193c43cd67d59dcf9f2c5338995eee0d7cd0feb4d4ab908e3492be",
|
|
"dweb:/ipfs/QmUaawZvDZi2ERKNE34xGkQvBjoKhdddCTduPxWZZGf1pu"
|
|
],
|
|
"license": "UNLICENSED"
|
|
},
|
|
"src/Factory.sol": {
|
|
"keccak256": "0x505f51c4877723756acd154753934f8ffa7088ffec29c70a073d4f1b8f0c6d15",
|
|
"urls": [
|
|
"bzz-raw://81c36502d1b0eb0d882d13f751d3eb2d0cb4f89bb04935d4f0a024d1143d3e05",
|
|
"dweb:/ipfs/QmQmwaDTVuzKzduxGX7zkimJyKc4SVvhHYeFvwNUamDJcG"
|
|
],
|
|
"license": "UNLICENSED"
|
|
},
|
|
"src/OrderLib.sol": {
|
|
"keccak256": "0x3141c71ba0edb4839dcee8f6d461c8969ec85548d756178c94e19e76075a9e89",
|
|
"urls": [
|
|
"bzz-raw://f7b1efe6062b9095fe9d71475066743a7c80a1cb6b6c37e9e710195689a54424",
|
|
"dweb:/ipfs/QmcdVcXijUv1CBW1V7nvM9s8gteb3QnmtuDEkrMGmcYEV5"
|
|
],
|
|
"license": "UNLICENSED"
|
|
},
|
|
"src/QueryHelper.sol": {
|
|
"keccak256": "0xc501c6e09833b7ab5dbddfab0aece929f9fadaba723a9197fbb3e0fe948644ae",
|
|
"urls": [
|
|
"bzz-raw://1d8eb50b08e37e4ed6d9d73adc50c9576c70ebdbc69266e4467e06b0c02b6ded",
|
|
"dweb:/ipfs/QmSmE81LCdUYpC9PrNntX7YimnVA66uE1wG7ZGnMLh8pkw"
|
|
],
|
|
"license": "UNLICENSED"
|
|
},
|
|
"src/UniswapSwapper.sol": {
|
|
"keccak256": "0xeba32c1f50322147452a5e8bb33daf0de90d0abaa26929f00da4cea788f92825",
|
|
"urls": [
|
|
"bzz-raw://ccef611297b80392e32363f9dce4f10403d2a9b3780475ffde7c38f1f2d23781",
|
|
"dweb:/ipfs/QmVCN2oa3aQCx1KMxGN7EM4reJNFxegXyLSCQoe62dM2Kx"
|
|
],
|
|
"license": "UNLICENSED"
|
|
},
|
|
"src/Vault.sol": {
|
|
"keccak256": "0xb9f8667aab5f5235d8364faa7a04610e5aa14af2fe29a04b27713a13fe955935",
|
|
"urls": [
|
|
"bzz-raw://027c8699c68d1a3ca3a67f4362624d4bb1cb705ac125b6a72ad7638d81b1e045",
|
|
"dweb:/ipfs/QmPcu3E3b2xzbeo15vvWNhrKGgT9sPfm9HVXXiftBc4Qu8"
|
|
],
|
|
"license": "UNLICENSED"
|
|
},
|
|
"src/VaultDeployer.sol": {
|
|
"keccak256": "0x1a833cc5151d7acfbb5b665adb938fa0af59aa5aed873b4abf5720966d28ce10",
|
|
"urls": [
|
|
"bzz-raw://52a9f4d146eca466e146956662f8ce76282eeb8a239b9aedf08d6924df724fd3",
|
|
"dweb:/ipfs/Qmcu4qDuw9U7AucKBgSQ4hciNPJygErFxRL9YkqoQz5euu"
|
|
],
|
|
"license": "UNLICENSED"
|
|
},
|
|
"src/interface/IVaultDeployer.sol": {
|
|
"keccak256": "0x2985c864a3b5cf99244cc443871b356b47bb6bfb758bbf89b9cceb2e15c68886",
|
|
"urls": [
|
|
"bzz-raw://2d3df393bad985f53c8a31e9907badd10766891d5951a3ab95acea2cc6d2092a",
|
|
"dweb:/ipfs/QmbE7z2SwfCnCF2XxKM1FEEPaddrS6WNbCJ5yqSP2Zn8d7"
|
|
],
|
|
"license": "UNLICENSED"
|
|
}
|
|
},
|
|
"version": 1
|
|
},
|
|
"ast": {
|
|
"absolutePath": "src/QueryHelper.sol",
|
|
"id": 48318,
|
|
"exportedSymbols": {
|
|
"Constants": [
|
|
46261
|
|
],
|
|
"Context": [
|
|
43777
|
|
],
|
|
"ERC20": [
|
|
43478
|
|
],
|
|
"Factory": [
|
|
46427
|
|
],
|
|
"IERC165": [
|
|
43789
|
|
],
|
|
"IERC20": [
|
|
43556
|
|
],
|
|
"IERC20Metadata": [
|
|
43581
|
|
],
|
|
"IERC721": [
|
|
43697
|
|
],
|
|
"IERC721Enumerable": [
|
|
43728
|
|
],
|
|
"IERC721Metadata": [
|
|
43755
|
|
],
|
|
"IERC721Permit": [
|
|
45094
|
|
],
|
|
"INonfungiblePositionManager": [
|
|
45293
|
|
],
|
|
"IPeripheryImmutableState": [
|
|
45309
|
|
],
|
|
"IPeripheryPayments": [
|
|
45335
|
|
],
|
|
"IPoolInitializer": [
|
|
45354
|
|
],
|
|
"ISwapRouter": [
|
|
45454
|
|
],
|
|
"IUniswapV3Factory": [
|
|
43872
|
|
],
|
|
"IUniswapV3Pool": [
|
|
43894
|
|
],
|
|
"IUniswapV3PoolActions": [
|
|
44004
|
|
],
|
|
"IUniswapV3PoolDerivedState": [
|
|
44035
|
|
],
|
|
"IUniswapV3PoolEvents": [
|
|
44154
|
|
],
|
|
"IUniswapV3PoolImmutables": [
|
|
44194
|
|
],
|
|
"IUniswapV3PoolOwnerActions": [
|
|
44220
|
|
],
|
|
"IUniswapV3PoolState": [
|
|
44328
|
|
],
|
|
"IUniswapV3SwapCallback": [
|
|
43908
|
|
],
|
|
"IVaultDeployer": [
|
|
49442
|
|
],
|
|
"OrderLib": [
|
|
47919
|
|
],
|
|
"PoolAddress": [
|
|
45892
|
|
],
|
|
"QueryHelper": [
|
|
48317
|
|
],
|
|
"TransferHelper": [
|
|
46063
|
|
],
|
|
"UniswapSwapper": [
|
|
48844
|
|
],
|
|
"Vault": [
|
|
49178
|
|
],
|
|
"VaultDeployer": [
|
|
49433
|
|
],
|
|
"console2": [
|
|
29653
|
|
]
|
|
},
|
|
"nodeType": "SourceUnit",
|
|
"src": "39:3459:55",
|
|
"nodes": [
|
|
{
|
|
"id": 47921,
|
|
"nodeType": "PragmaDirective",
|
|
"src": "39:24:55",
|
|
"nodes": [],
|
|
"literals": [
|
|
"solidity",
|
|
">=",
|
|
"0.8",
|
|
".0"
|
|
]
|
|
},
|
|
{
|
|
"id": 47922,
|
|
"nodeType": "PragmaDirective",
|
|
"src": "64:19:55",
|
|
"nodes": [],
|
|
"literals": [
|
|
"abicoder",
|
|
"v2"
|
|
]
|
|
},
|
|
{
|
|
"id": 47923,
|
|
"nodeType": "ImportDirective",
|
|
"src": "85:57:55",
|
|
"nodes": [],
|
|
"absolutePath": "lib_uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol",
|
|
"file": "v3-core/contracts/interfaces/IUniswapV3Pool.sol",
|
|
"nameLocation": "-1:-1:-1",
|
|
"scope": 48318,
|
|
"sourceUnit": 43895,
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"id": 47924,
|
|
"nodeType": "ImportDirective",
|
|
"src": "143:55:55",
|
|
"nodes": [],
|
|
"absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol",
|
|
"file": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
|
|
"nameLocation": "-1:-1:-1",
|
|
"scope": 48318,
|
|
"sourceUnit": 43479,
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"id": 47925,
|
|
"nodeType": "ImportDirective",
|
|
"src": "199:24:55",
|
|
"nodes": [],
|
|
"absolutePath": "src/OrderLib.sol",
|
|
"file": "./OrderLib.sol",
|
|
"nameLocation": "-1:-1:-1",
|
|
"scope": 48318,
|
|
"sourceUnit": 47920,
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"id": 47926,
|
|
"nodeType": "ImportDirective",
|
|
"src": "224:21:55",
|
|
"nodes": [],
|
|
"absolutePath": "src/Vault.sol",
|
|
"file": "./Vault.sol",
|
|
"nameLocation": "-1:-1:-1",
|
|
"scope": 48318,
|
|
"sourceUnit": 49179,
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"id": 47927,
|
|
"nodeType": "ImportDirective",
|
|
"src": "246:29:55",
|
|
"nodes": [],
|
|
"absolutePath": "src/VaultDeployer.sol",
|
|
"file": "./VaultDeployer.sol",
|
|
"nameLocation": "-1:-1:-1",
|
|
"scope": 48318,
|
|
"sourceUnit": 49434,
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"id": 47928,
|
|
"nodeType": "ImportDirective",
|
|
"src": "276:23:55",
|
|
"nodes": [],
|
|
"absolutePath": "src/Factory.sol",
|
|
"file": "./Factory.sol",
|
|
"nameLocation": "-1:-1:-1",
|
|
"scope": 48318,
|
|
"sourceUnit": 46428,
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"id": 47929,
|
|
"nodeType": "ImportDirective",
|
|
"src": "300:32:55",
|
|
"nodes": [],
|
|
"absolutePath": "lib/forge-std/src/console2.sol",
|
|
"file": "forge-std/console2.sol",
|
|
"nameLocation": "-1:-1:-1",
|
|
"scope": 48318,
|
|
"sourceUnit": 29654,
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"id": 48317,
|
|
"nodeType": "ContractDefinition",
|
|
"src": "335:3162:55",
|
|
"nodes": [
|
|
{
|
|
"id": 47932,
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "362:33:55",
|
|
"nodes": [],
|
|
"constant": true,
|
|
"functionSelector": "54fd4d50",
|
|
"mutability": "constant",
|
|
"name": "version",
|
|
"nameLocation": "384:7:55",
|
|
"scope": 48317,
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
},
|
|
"typeName": {
|
|
"id": 47930,
|
|
"name": "uint8",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "362:5:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"value": {
|
|
"hexValue": "31",
|
|
"id": 47931,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "394:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"id": 47939,
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "401:56:55",
|
|
"nodes": [],
|
|
"constant": true,
|
|
"functionSelector": "b8df9780",
|
|
"mutability": "constant",
|
|
"name": "UNKNOWN_DECIMALS",
|
|
"nameLocation": "423:16:55",
|
|
"scope": 48317,
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
},
|
|
"typeName": {
|
|
"id": 47933,
|
|
"name": "uint8",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "401:5:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"value": {
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 47936,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "447:5:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint8_$",
|
|
"typeString": "type(uint8)"
|
|
},
|
|
"typeName": {
|
|
"id": 47935,
|
|
"name": "uint8",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "447:5:55",
|
|
"typeDescriptions": {}
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_type$_t_uint8_$",
|
|
"typeString": "type(uint8)"
|
|
}
|
|
],
|
|
"id": 47934,
|
|
"name": "type",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": -27,
|
|
"src": "442:4:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_metatype_pure$__$returns$__$",
|
|
"typeString": "function () pure"
|
|
}
|
|
},
|
|
"id": 47937,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "442:11:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_meta_type_t_uint8",
|
|
"typeString": "type(uint8)"
|
|
}
|
|
},
|
|
"id": 47938,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberLocation": "454:3:55",
|
|
"memberName": "max",
|
|
"nodeType": "MemberAccess",
|
|
"src": "442:15:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"id": 48051,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "464:778:55",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 48050,
|
|
"nodeType": "Block",
|
|
"src": "628:614:55",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 47961,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"expression": {
|
|
"id": 47954,
|
|
"name": "tokens",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47944,
|
|
"src": "646:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
|
"typeString": "address[] memory"
|
|
}
|
|
},
|
|
"id": 47955,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "653:6:55",
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"src": "646:13:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 47958,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "667:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint16_$",
|
|
"typeString": "type(uint16)"
|
|
},
|
|
"typeName": {
|
|
"id": 47957,
|
|
"name": "uint16",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "667:6:55",
|
|
"typeDescriptions": {}
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_type$_t_uint16_$",
|
|
"typeString": "type(uint16)"
|
|
}
|
|
],
|
|
"id": 47956,
|
|
"name": "type",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": -27,
|
|
"src": "662:4:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_metatype_pure$__$returns$__$",
|
|
"typeString": "function () pure"
|
|
}
|
|
},
|
|
"id": 47959,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "662:12:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_meta_type_t_uint16",
|
|
"typeString": "type(uint16)"
|
|
}
|
|
},
|
|
"id": 47960,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberLocation": "675:3:55",
|
|
"memberName": "max",
|
|
"nodeType": "MemberAccess",
|
|
"src": "662:16:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint16",
|
|
"typeString": "uint16"
|
|
}
|
|
},
|
|
"src": "646:32:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
],
|
|
"id": 47953,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "638:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
"typeString": "function (bool) pure"
|
|
}
|
|
},
|
|
"id": 47962,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "638:41:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 47963,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "638:41:55"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 47971,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 47964,
|
|
"name": "balances",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47948,
|
|
"src": "689:8:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"expression": {
|
|
"id": 47968,
|
|
"name": "tokens",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47944,
|
|
"src": "714:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
|
"typeString": "address[] memory"
|
|
}
|
|
},
|
|
"id": 47969,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "721:6:55",
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"src": "714:13:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 47967,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "NewExpression",
|
|
"src": "700:13:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
|
|
"typeString": "function (uint256) pure returns (uint256[] memory)"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 47965,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "704:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 47966,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "704:9:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
|
"typeString": "uint256[]"
|
|
}
|
|
}
|
|
},
|
|
"id": 47970,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "700:28:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
},
|
|
"src": "689:39:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
},
|
|
"id": 47972,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "689:39:55"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 47980,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 47973,
|
|
"name": "decimals",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47951,
|
|
"src": "738:8:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"expression": {
|
|
"id": 47977,
|
|
"name": "tokens",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47944,
|
|
"src": "763:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
|
"typeString": "address[] memory"
|
|
}
|
|
},
|
|
"id": 47978,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "770:6:55",
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"src": "763:13:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 47976,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "NewExpression",
|
|
"src": "749:13:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
|
|
"typeString": "function (uint256) pure returns (uint256[] memory)"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 47974,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "753:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 47975,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "753:9:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
|
"typeString": "uint256[]"
|
|
}
|
|
}
|
|
},
|
|
"id": 47979,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "749:28:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
},
|
|
"src": "738:39:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
},
|
|
"id": 47981,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "738:39:55"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 48048,
|
|
"nodeType": "Block",
|
|
"src": "829:407:55",
|
|
"statements": [
|
|
{
|
|
"clauses": [
|
|
{
|
|
"block": {
|
|
"id": 48010,
|
|
"nodeType": "Block",
|
|
"src": "908:54:55",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 48008,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"id": 48004,
|
|
"name": "balances",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47948,
|
|
"src": "926:8:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
},
|
|
"id": 48006,
|
|
"indexExpression": {
|
|
"id": 48005,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47983,
|
|
"src": "935:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint16",
|
|
"typeString": "uint16"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "926:11:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"id": 48007,
|
|
"name": "balance",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48002,
|
|
"src": "940:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "926:21:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 48009,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "926:21:55"
|
|
}
|
|
]
|
|
},
|
|
"errorName": "",
|
|
"id": 48011,
|
|
"nodeType": "TryCatchClause",
|
|
"parameters": {
|
|
"id": 48003,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 48002,
|
|
"mutability": "mutable",
|
|
"name": "balance",
|
|
"nameLocation": "899:7:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48011,
|
|
"src": "891:15:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 48001,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "891:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "890:17:55"
|
|
},
|
|
"src": "882:80:55"
|
|
},
|
|
{
|
|
"block": {
|
|
"id": 48018,
|
|
"nodeType": "Block",
|
|
"src": "981:48:55",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 48016,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"id": 48012,
|
|
"name": "balances",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47948,
|
|
"src": "999:8:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
},
|
|
"id": 48014,
|
|
"indexExpression": {
|
|
"id": 48013,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47983,
|
|
"src": "1008:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint16",
|
|
"typeString": "uint16"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "999:11:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"hexValue": "30",
|
|
"id": 48015,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1013:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "999:15:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 48017,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "999:15:55"
|
|
}
|
|
]
|
|
},
|
|
"errorName": "",
|
|
"id": 48019,
|
|
"nodeType": "TryCatchClause",
|
|
"src": "975:54:55"
|
|
}
|
|
],
|
|
"externalCall": {
|
|
"arguments": [
|
|
{
|
|
"id": 47999,
|
|
"name": "vault",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47941,
|
|
"src": "875:5:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"baseExpression": {
|
|
"id": 47994,
|
|
"name": "tokens",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47944,
|
|
"src": "854:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
|
"typeString": "address[] memory"
|
|
}
|
|
},
|
|
"id": 47996,
|
|
"indexExpression": {
|
|
"id": 47995,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47983,
|
|
"src": "861:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint16",
|
|
"typeString": "uint16"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "854:9:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 47993,
|
|
"name": "IERC20",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 43556,
|
|
"src": "847:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_IERC20_$43556_$",
|
|
"typeString": "type(contract IERC20)"
|
|
}
|
|
},
|
|
"id": 47997,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "847:17:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IERC20_$43556",
|
|
"typeString": "contract IERC20"
|
|
}
|
|
},
|
|
"id": 47998,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "865:9:55",
|
|
"memberName": "balanceOf",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 43513,
|
|
"src": "847:27:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
|
|
"typeString": "function (address) view external returns (uint256)"
|
|
}
|
|
},
|
|
"id": 48000,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "847:34:55",
|
|
"tryCall": true,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 48020,
|
|
"nodeType": "TryStatement",
|
|
"src": "843:186:55"
|
|
},
|
|
{
|
|
"clauses": [
|
|
{
|
|
"block": {
|
|
"id": 48037,
|
|
"nodeType": "Block",
|
|
"src": "1094:50:55",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 48035,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"id": 48031,
|
|
"name": "decimals",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47951,
|
|
"src": "1112:8:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
},
|
|
"id": 48033,
|
|
"indexExpression": {
|
|
"id": 48032,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47983,
|
|
"src": "1121:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint16",
|
|
"typeString": "uint16"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1112:11:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"id": 48034,
|
|
"name": "dec",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48029,
|
|
"src": "1126:3:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"src": "1112:17:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 48036,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1112:17:55"
|
|
}
|
|
]
|
|
},
|
|
"errorName": "",
|
|
"id": 48038,
|
|
"nodeType": "TryCatchClause",
|
|
"parameters": {
|
|
"id": 48030,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 48029,
|
|
"mutability": "mutable",
|
|
"name": "dec",
|
|
"nameLocation": "1089:3:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48038,
|
|
"src": "1083:9:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
},
|
|
"typeName": {
|
|
"id": 48028,
|
|
"name": "uint8",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1083:5:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1082:11:55"
|
|
},
|
|
"src": "1074:70:55"
|
|
},
|
|
{
|
|
"block": {
|
|
"id": 48045,
|
|
"nodeType": "Block",
|
|
"src": "1163:63:55",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 48043,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"id": 48039,
|
|
"name": "decimals",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47951,
|
|
"src": "1181:8:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[] memory"
|
|
}
|
|
},
|
|
"id": 48041,
|
|
"indexExpression": {
|
|
"id": 48040,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47983,
|
|
"src": "1190:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint16",
|
|
"typeString": "uint16"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1181:11:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"id": 48042,
|
|
"name": "UNKNOWN_DECIMALS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47939,
|
|
"src": "1195:16:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"src": "1181:30:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 48044,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1181:30:55"
|
|
}
|
|
]
|
|
},
|
|
"errorName": "",
|
|
"id": 48046,
|
|
"nodeType": "TryCatchClause",
|
|
"src": "1157:69:55"
|
|
}
|
|
],
|
|
"externalCall": {
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"baseExpression": {
|
|
"id": 48022,
|
|
"name": "tokens",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47944,
|
|
"src": "1052:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
|
"typeString": "address[] memory"
|
|
}
|
|
},
|
|
"id": 48024,
|
|
"indexExpression": {
|
|
"id": 48023,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47983,
|
|
"src": "1059:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint16",
|
|
"typeString": "uint16"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "1052:9:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 48021,
|
|
"name": "ERC20",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 43478,
|
|
"src": "1046:5:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_ERC20_$43478_$",
|
|
"typeString": "type(contract ERC20)"
|
|
}
|
|
},
|
|
"id": 48025,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1046:16:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_ERC20_$43478",
|
|
"typeString": "contract ERC20"
|
|
}
|
|
},
|
|
"id": 48026,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1063:8:55",
|
|
"memberName": "decimals",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 42966,
|
|
"src": "1046:25:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
|
|
"typeString": "function () view external returns (uint8)"
|
|
}
|
|
},
|
|
"id": 48027,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1046:27:55",
|
|
"tryCall": true,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"id": 48047,
|
|
"nodeType": "TryStatement",
|
|
"src": "1042:184:55"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 47989,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 47986,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47983,
|
|
"src": "804:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint16",
|
|
"typeString": "uint16"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"expression": {
|
|
"id": 47987,
|
|
"name": "tokens",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47944,
|
|
"src": "808:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
|
"typeString": "address[] memory"
|
|
}
|
|
},
|
|
"id": 47988,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "815:6:55",
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"src": "808:13:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "804:17:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 48049,
|
|
"initializationExpression": {
|
|
"assignments": [
|
|
47983
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 47983,
|
|
"mutability": "mutable",
|
|
"name": "i",
|
|
"nameLocation": "799:1:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48049,
|
|
"src": "792:8:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint16",
|
|
"typeString": "uint16"
|
|
},
|
|
"typeName": {
|
|
"id": 47982,
|
|
"name": "uint16",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "792:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint16",
|
|
"typeString": "uint16"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 47985,
|
|
"initialValue": {
|
|
"hexValue": "30",
|
|
"id": 47984,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "801:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "792:10:55"
|
|
},
|
|
"isSimpleCounterLoop": false,
|
|
"loopExpression": {
|
|
"expression": {
|
|
"id": 47991,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "++",
|
|
"prefix": false,
|
|
"src": "823:3:55",
|
|
"subExpression": {
|
|
"id": 47990,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47983,
|
|
"src": "823:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint16",
|
|
"typeString": "uint16"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint16",
|
|
"typeString": "uint16"
|
|
}
|
|
},
|
|
"id": 47992,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "823:3:55"
|
|
},
|
|
"nodeType": "ForStatement",
|
|
"src": "787:449:55"
|
|
}
|
|
]
|
|
},
|
|
"functionSelector": "6a385ae9",
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "getBalances",
|
|
"nameLocation": "473:11:55",
|
|
"parameters": {
|
|
"id": 47945,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 47941,
|
|
"mutability": "mutable",
|
|
"name": "vault",
|
|
"nameLocation": "494:5:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48051,
|
|
"src": "486:13:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 47940,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "486:7:55",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 47944,
|
|
"mutability": "mutable",
|
|
"name": "tokens",
|
|
"nameLocation": "518:6:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48051,
|
|
"src": "501:23:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
|
|
"typeString": "address[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 47942,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "501:7:55",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 47943,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "501:9:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
|
|
"typeString": "address[]"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "484:42:55"
|
|
},
|
|
"returnParameters": {
|
|
"id": 47952,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 47948,
|
|
"mutability": "mutable",
|
|
"name": "balances",
|
|
"nameLocation": "578:8:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48051,
|
|
"src": "561:25:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 47946,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "561:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 47947,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "561:9:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
|
"typeString": "uint256[]"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 47951,
|
|
"mutability": "mutable",
|
|
"name": "decimals",
|
|
"nameLocation": "613:8:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48051,
|
|
"src": "596:25:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
|
|
"typeString": "uint256[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 47949,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "596:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 47950,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "596:9:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
|
|
"typeString": "uint256[]"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "551:76:55"
|
|
},
|
|
"scope": 48317,
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"id": 48059,
|
|
"nodeType": "StructDefinition",
|
|
"src": "1248:105:55",
|
|
"nodes": [],
|
|
"canonicalName": "QueryHelper.RoutesResult",
|
|
"members": [
|
|
{
|
|
"constant": false,
|
|
"id": 48054,
|
|
"mutability": "mutable",
|
|
"name": "exchange",
|
|
"nameLocation": "1296:8:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48059,
|
|
"src": "1278:26:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Exchange_$46534",
|
|
"typeString": "enum OrderLib.Exchange"
|
|
},
|
|
"typeName": {
|
|
"id": 48053,
|
|
"nodeType": "UserDefinedTypeName",
|
|
"pathNode": {
|
|
"id": 48052,
|
|
"name": "OrderLib.Exchange",
|
|
"nameLocations": [
|
|
"1278:8:55",
|
|
"1287:8:55"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 46534,
|
|
"src": "1278:17:55"
|
|
},
|
|
"referencedDeclaration": 46534,
|
|
"src": "1278:17:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Exchange_$46534",
|
|
"typeString": "enum OrderLib.Exchange"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 48056,
|
|
"mutability": "mutable",
|
|
"name": "fee",
|
|
"nameLocation": "1321:3:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48059,
|
|
"src": "1314:10:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
"typeName": {
|
|
"id": 48055,
|
|
"name": "uint24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1314:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 48058,
|
|
"mutability": "mutable",
|
|
"name": "pool",
|
|
"nameLocation": "1342:4:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48059,
|
|
"src": "1334:12:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 48057,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1334:7:55",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"name": "RoutesResult",
|
|
"nameLocation": "1255:12:55",
|
|
"scope": 48317,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"id": 48292,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "1359:1928:55",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 48291,
|
|
"nodeType": "Block",
|
|
"src": "1466:1821:55",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "676574526f75746573",
|
|
"id": 48073,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1534:11:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_e28b32956609b0c39c1fde8c54d7111f4a2e0c69ab63466518bddd71c71b6dff",
|
|
"typeString": "literal_string \"getRoutes\""
|
|
},
|
|
"value": "getRoutes"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_stringliteral_e28b32956609b0c39c1fde8c54d7111f4a2e0c69ab63466518bddd71c71b6dff",
|
|
"typeString": "literal_string \"getRoutes\""
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 48070,
|
|
"name": "console2",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 29653,
|
|
"src": "1521:8:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_console2_$29653_$",
|
|
"typeString": "type(library console2)"
|
|
}
|
|
},
|
|
"id": 48072,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1530:3:55",
|
|
"memberName": "log",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22167,
|
|
"src": "1521:12:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (string memory) pure"
|
|
}
|
|
},
|
|
"id": 48074,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1521:25:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 48075,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1521:25:55"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 48079,
|
|
"name": "tokenA",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48061,
|
|
"src": "1569:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 48076,
|
|
"name": "console2",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 29653,
|
|
"src": "1556:8:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_console2_$29653_$",
|
|
"typeString": "type(library console2)"
|
|
}
|
|
},
|
|
"id": 48078,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1565:3:55",
|
|
"memberName": "log",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22195,
|
|
"src": "1556:12:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$",
|
|
"typeString": "function (address) pure"
|
|
}
|
|
},
|
|
"id": 48080,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1556:20:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 48081,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1556:20:55"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 48085,
|
|
"name": "tokenB",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48063,
|
|
"src": "1599:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 48082,
|
|
"name": "console2",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 29653,
|
|
"src": "1586:8:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_console2_$29653_$",
|
|
"typeString": "type(library console2)"
|
|
}
|
|
},
|
|
"id": 48084,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "1595:3:55",
|
|
"memberName": "log",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22195,
|
|
"src": "1586:12:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$",
|
|
"typeString": "function (address) pure"
|
|
}
|
|
},
|
|
"id": 48086,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1586:20:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 48087,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1586:20:55"
|
|
},
|
|
{
|
|
"assignments": [
|
|
48093
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 48093,
|
|
"mutability": "mutable",
|
|
"name": "fees",
|
|
"nameLocation": "1702:4:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48291,
|
|
"src": "1685:21:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint24_$4_memory_ptr",
|
|
"typeString": "uint24[4]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 48091,
|
|
"name": "uint24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1685:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"id": 48092,
|
|
"length": {
|
|
"hexValue": "34",
|
|
"id": 48090,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1692:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_4_by_1",
|
|
"typeString": "int_const 4"
|
|
},
|
|
"value": "4"
|
|
},
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "1685:9:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint24_$4_storage_ptr",
|
|
"typeString": "uint24[4]"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 48102,
|
|
"initialValue": {
|
|
"components": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"hexValue": "313030",
|
|
"id": 48096,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1717:3:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_100_by_1",
|
|
"typeString": "int_const 100"
|
|
},
|
|
"value": "100"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_100_by_1",
|
|
"typeString": "int_const 100"
|
|
}
|
|
],
|
|
"id": 48095,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "1710:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint24_$",
|
|
"typeString": "type(uint24)"
|
|
},
|
|
"typeName": {
|
|
"id": 48094,
|
|
"name": "uint24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1710:6:55",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 48097,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1710:11:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "353030",
|
|
"id": 48098,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1722:3:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_500_by_1",
|
|
"typeString": "int_const 500"
|
|
},
|
|
"value": "500"
|
|
},
|
|
{
|
|
"hexValue": "33303030",
|
|
"id": 48099,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1726:4:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_3000_by_1",
|
|
"typeString": "int_const 3000"
|
|
},
|
|
"value": "3000"
|
|
},
|
|
{
|
|
"hexValue": "3130303030",
|
|
"id": 48100,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1731:5:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_10000_by_1",
|
|
"typeString": "int_const 10000"
|
|
},
|
|
"value": "10000"
|
|
}
|
|
],
|
|
"id": 48101,
|
|
"isConstant": false,
|
|
"isInlineArray": true,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "1709:28:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint24_$4_memory_ptr",
|
|
"typeString": "uint24[4] memory"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1685:52:55"
|
|
},
|
|
{
|
|
"assignments": [
|
|
48104
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 48104,
|
|
"mutability": "mutable",
|
|
"name": "uniswapV2Fee",
|
|
"nameLocation": "1754:12:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48291,
|
|
"src": "1747:19:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
"typeName": {
|
|
"id": 48103,
|
|
"name": "uint24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1747:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 48106,
|
|
"initialValue": {
|
|
"hexValue": "30",
|
|
"id": 48105,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1769:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1747:23:55"
|
|
},
|
|
{
|
|
"assignments": [
|
|
48108
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 48108,
|
|
"mutability": "mutable",
|
|
"name": "uniswapV3Fee",
|
|
"nameLocation": "1875:12:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48291,
|
|
"src": "1868:19:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
"typeName": {
|
|
"id": 48107,
|
|
"name": "uint24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1868:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 48110,
|
|
"initialValue": {
|
|
"hexValue": "30",
|
|
"id": 48109,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1890:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1868:23:55"
|
|
},
|
|
{
|
|
"assignments": [
|
|
48112
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 48112,
|
|
"mutability": "mutable",
|
|
"name": "uniswapV3Liquidity",
|
|
"nameLocation": "1909:18:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48291,
|
|
"src": "1901:26:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 48111,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1901:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 48114,
|
|
"initialValue": {
|
|
"hexValue": "30",
|
|
"id": 48113,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1930:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1901:30:55"
|
|
},
|
|
{
|
|
"assignments": [
|
|
48116
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 48116,
|
|
"mutability": "mutable",
|
|
"name": "uniswapV3Pool",
|
|
"nameLocation": "1949:13:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48291,
|
|
"src": "1941:21:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 48115,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1941:7:55",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 48121,
|
|
"initialValue": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30",
|
|
"id": 48119,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1973:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 48118,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "1965:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 48117,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1965:7:55",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 48120,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1965:10:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1941:34:55"
|
|
},
|
|
{
|
|
"assignments": [
|
|
48124
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 48124,
|
|
"mutability": "mutable",
|
|
"name": "ercA",
|
|
"nameLocation": "1992:4:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48291,
|
|
"src": "1985:11:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IERC20_$43556",
|
|
"typeString": "contract IERC20"
|
|
},
|
|
"typeName": {
|
|
"id": 48123,
|
|
"nodeType": "UserDefinedTypeName",
|
|
"pathNode": {
|
|
"id": 48122,
|
|
"name": "IERC20",
|
|
"nameLocations": [
|
|
"1985:6:55"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 43556,
|
|
"src": "1985:6:55"
|
|
},
|
|
"referencedDeclaration": 43556,
|
|
"src": "1985:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IERC20_$43556",
|
|
"typeString": "contract IERC20"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 48128,
|
|
"initialValue": {
|
|
"arguments": [
|
|
{
|
|
"id": 48126,
|
|
"name": "tokenA",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48061,
|
|
"src": "2006:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 48125,
|
|
"name": "IERC20",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 43556,
|
|
"src": "1999:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_IERC20_$43556_$",
|
|
"typeString": "type(contract IERC20)"
|
|
}
|
|
},
|
|
"id": 48127,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1999:14:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IERC20_$43556",
|
|
"typeString": "contract IERC20"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1985:28:55"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 48227,
|
|
"nodeType": "Block",
|
|
"src": "2050:829:55",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "676574506f6f6c2e2e",
|
|
"id": 48142,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2077:11:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_e78dfc62d00a0c5296a29937d3198e44236b24c6c64a8ea2adb3cad040d6c0c3",
|
|
"typeString": "literal_string \"getPool..\""
|
|
},
|
|
"value": "getPool.."
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_stringliteral_e78dfc62d00a0c5296a29937d3198e44236b24c6c64a8ea2adb3cad040d6c0c3",
|
|
"typeString": "literal_string \"getPool..\""
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 48139,
|
|
"name": "console2",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 29653,
|
|
"src": "2064:8:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_console2_$29653_$",
|
|
"typeString": "type(library console2)"
|
|
}
|
|
},
|
|
"id": 48141,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "2073:3:55",
|
|
"memberName": "log",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22167,
|
|
"src": "2064:12:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (string memory) pure"
|
|
}
|
|
},
|
|
"id": 48143,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2064:25:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 48144,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2064:25:55"
|
|
},
|
|
{
|
|
"assignments": [
|
|
48146
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 48146,
|
|
"mutability": "mutable",
|
|
"name": "fee",
|
|
"nameLocation": "2110:3:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48227,
|
|
"src": "2103:10:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
"typeName": {
|
|
"id": 48145,
|
|
"name": "uint24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2103:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 48150,
|
|
"initialValue": {
|
|
"baseExpression": {
|
|
"id": 48147,
|
|
"name": "fees",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48093,
|
|
"src": "2116:4:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_uint24_$4_memory_ptr",
|
|
"typeString": "uint24[4] memory"
|
|
}
|
|
},
|
|
"id": 48149,
|
|
"indexExpression": {
|
|
"id": 48148,
|
|
"name": "f",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48130,
|
|
"src": "2121:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "2116:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2103:20:55"
|
|
},
|
|
{
|
|
"assignments": [
|
|
48153
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 48153,
|
|
"mutability": "mutable",
|
|
"name": "pool",
|
|
"nameLocation": "2152:4:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48227,
|
|
"src": "2137:19:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IUniswapV3Pool_$43894",
|
|
"typeString": "contract IUniswapV3Pool"
|
|
},
|
|
"typeName": {
|
|
"id": 48152,
|
|
"nodeType": "UserDefinedTypeName",
|
|
"pathNode": {
|
|
"id": 48151,
|
|
"name": "IUniswapV3Pool",
|
|
"nameLocations": [
|
|
"2137:14:55"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 43894,
|
|
"src": "2137:14:55"
|
|
},
|
|
"referencedDeclaration": 43894,
|
|
"src": "2137:14:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IUniswapV3Pool_$43894",
|
|
"typeString": "contract IUniswapV3Pool"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 48163,
|
|
"initialValue": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"id": 48158,
|
|
"name": "tokenA",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48061,
|
|
"src": "2209:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 48159,
|
|
"name": "tokenB",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48063,
|
|
"src": "2217:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 48160,
|
|
"name": "fee",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48146,
|
|
"src": "2225:3:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
],
|
|
"expression": {
|
|
"expression": {
|
|
"id": 48155,
|
|
"name": "Constants",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 46261,
|
|
"src": "2174:9:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_Constants_$46261_$",
|
|
"typeString": "type(library Constants)"
|
|
}
|
|
},
|
|
"id": 48156,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberLocation": "2184:16:55",
|
|
"memberName": "uniswapV3Factory",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 46248,
|
|
"src": "2174:26:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IUniswapV3Factory_$43872",
|
|
"typeString": "contract IUniswapV3Factory"
|
|
}
|
|
},
|
|
"id": 48157,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "2201:7:55",
|
|
"memberName": "getPool",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 43845,
|
|
"src": "2174:34:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_uint24_$returns$_t_address_$",
|
|
"typeString": "function (address,address,uint24) view external returns (address)"
|
|
}
|
|
},
|
|
"id": 48161,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2174:55:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 48154,
|
|
"name": "IUniswapV3Pool",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 43894,
|
|
"src": "2159:14:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_IUniswapV3Pool_$43894_$",
|
|
"typeString": "type(contract IUniswapV3Pool)"
|
|
}
|
|
},
|
|
"id": 48162,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2159:71:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IUniswapV3Pool_$43894",
|
|
"typeString": "contract IUniswapV3Pool"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2137:93:55"
|
|
},
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 48172,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"arguments": [
|
|
{
|
|
"id": 48166,
|
|
"name": "pool",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48153,
|
|
"src": "2256:4:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IUniswapV3Pool_$43894",
|
|
"typeString": "contract IUniswapV3Pool"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_IUniswapV3Pool_$43894",
|
|
"typeString": "contract IUniswapV3Pool"
|
|
}
|
|
],
|
|
"id": 48165,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2248:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 48164,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2248:7:55",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 48167,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2248:13:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30",
|
|
"id": 48170,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2273:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 48169,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2265:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 48168,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2265:7:55",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 48171,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2265:10:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "2248:27:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 48181,
|
|
"nodeType": "IfStatement",
|
|
"src": "2244:116:55",
|
|
"trueBody": {
|
|
"id": 48180,
|
|
"nodeType": "Block",
|
|
"src": "2278:82:55",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "6e6f20706f6f6c",
|
|
"id": 48176,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2309:9:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_2187867bd25dc2725fac6457346c33b364d67d82f9838d55b6b36ef0fd77de54",
|
|
"typeString": "literal_string \"no pool\""
|
|
},
|
|
"value": "no pool"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_stringliteral_2187867bd25dc2725fac6457346c33b364d67d82f9838d55b6b36ef0fd77de54",
|
|
"typeString": "literal_string \"no pool\""
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 48173,
|
|
"name": "console2",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 29653,
|
|
"src": "2296:8:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_console2_$29653_$",
|
|
"typeString": "type(library console2)"
|
|
}
|
|
},
|
|
"id": 48175,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "2305:3:55",
|
|
"memberName": "log",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22167,
|
|
"src": "2296:12:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (string memory) pure"
|
|
}
|
|
},
|
|
"id": 48177,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2296:23:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 48178,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2296:23:55"
|
|
},
|
|
{
|
|
"id": 48179,
|
|
"nodeType": "Continue",
|
|
"src": "2337:8:55"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "676f74506f6f6c2e",
|
|
"id": 48185,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2386:10:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_b85097ab25694cf1abe4d393ffea0808ad702e5d976d4b289f1e298b85b591d6",
|
|
"typeString": "literal_string \"gotPool.\""
|
|
},
|
|
"value": "gotPool."
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_stringliteral_b85097ab25694cf1abe4d393ffea0808ad702e5d976d4b289f1e298b85b591d6",
|
|
"typeString": "literal_string \"gotPool.\""
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 48182,
|
|
"name": "console2",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 29653,
|
|
"src": "2373:8:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_console2_$29653_$",
|
|
"typeString": "type(library console2)"
|
|
}
|
|
},
|
|
"id": 48184,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "2382:3:55",
|
|
"memberName": "log",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22167,
|
|
"src": "2373:12:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (string memory) pure"
|
|
}
|
|
},
|
|
"id": 48186,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2373:24:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 48187,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2373:24:55"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"id": 48193,
|
|
"name": "pool",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48153,
|
|
"src": "2432:4:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IUniswapV3Pool_$43894",
|
|
"typeString": "contract IUniswapV3Pool"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_IUniswapV3Pool_$43894",
|
|
"typeString": "contract IUniswapV3Pool"
|
|
}
|
|
],
|
|
"id": 48192,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2424:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 48191,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2424:7:55",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 48194,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2424:13:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 48188,
|
|
"name": "console2",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 29653,
|
|
"src": "2411:8:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_console2_$29653_$",
|
|
"typeString": "type(library console2)"
|
|
}
|
|
},
|
|
"id": 48190,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "2420:3:55",
|
|
"memberName": "log",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22195,
|
|
"src": "2411:12:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$",
|
|
"typeString": "function (address) pure"
|
|
}
|
|
},
|
|
"id": 48195,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2411:27:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 48196,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2411:27:55"
|
|
},
|
|
{
|
|
"assignments": [
|
|
48198
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 48198,
|
|
"mutability": "mutable",
|
|
"name": "liquidity",
|
|
"nameLocation": "2631:9:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48227,
|
|
"src": "2623:17:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 48197,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2623:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 48206,
|
|
"initialValue": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"id": 48203,
|
|
"name": "pool",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48153,
|
|
"src": "2666:4:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IUniswapV3Pool_$43894",
|
|
"typeString": "contract IUniswapV3Pool"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_IUniswapV3Pool_$43894",
|
|
"typeString": "contract IUniswapV3Pool"
|
|
}
|
|
],
|
|
"id": 48202,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2658:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 48201,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2658:7:55",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 48204,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2658:13:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 48199,
|
|
"name": "ercA",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48124,
|
|
"src": "2643:4:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IERC20_$43556",
|
|
"typeString": "contract IERC20"
|
|
}
|
|
},
|
|
"id": 48200,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "2648:9:55",
|
|
"memberName": "balanceOf",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 43513,
|
|
"src": "2643:14:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
|
|
"typeString": "function (address) view external returns (uint256)"
|
|
}
|
|
},
|
|
"id": 48205,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2643:29:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2623:49:55"
|
|
},
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 48209,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 48207,
|
|
"name": "liquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48198,
|
|
"src": "2690:9:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"id": 48208,
|
|
"name": "uniswapV3Liquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48112,
|
|
"src": "2702:18:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "2690:30:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 48226,
|
|
"nodeType": "IfStatement",
|
|
"src": "2686:183:55",
|
|
"trueBody": {
|
|
"id": 48225,
|
|
"nodeType": "Block",
|
|
"src": "2723:146:55",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 48212,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 48210,
|
|
"name": "uniswapV3Fee",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48108,
|
|
"src": "2741:12:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"id": 48211,
|
|
"name": "fee",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48146,
|
|
"src": "2756:3:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"src": "2741:18:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"id": 48213,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2741:18:55"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 48216,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 48214,
|
|
"name": "uniswapV3Liquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48112,
|
|
"src": "2777:18:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"id": 48215,
|
|
"name": "liquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48198,
|
|
"src": "2798:9:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "2777:30:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 48217,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2777:30:55"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 48223,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 48218,
|
|
"name": "uniswapV3Pool",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48116,
|
|
"src": "2825:13:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"id": 48221,
|
|
"name": "pool",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48153,
|
|
"src": "2849:4:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IUniswapV3Pool_$43894",
|
|
"typeString": "contract IUniswapV3Pool"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_IUniswapV3Pool_$43894",
|
|
"typeString": "contract IUniswapV3Pool"
|
|
}
|
|
],
|
|
"id": 48220,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2841:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 48219,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2841:7:55",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 48222,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2841:13:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "2825:29:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 48224,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2825:29:55"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
},
|
|
"id": 48135,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 48133,
|
|
"name": "f",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48130,
|
|
"src": "2039:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"hexValue": "34",
|
|
"id": 48134,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2041:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_4_by_1",
|
|
"typeString": "int_const 4"
|
|
},
|
|
"value": "4"
|
|
},
|
|
"src": "2039:3:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 48228,
|
|
"initializationExpression": {
|
|
"assignments": [
|
|
48130
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 48130,
|
|
"mutability": "mutable",
|
|
"name": "f",
|
|
"nameLocation": "2034:1:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48228,
|
|
"src": "2028:7:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
},
|
|
"typeName": {
|
|
"id": 48129,
|
|
"name": "uint8",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2028:5:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 48132,
|
|
"initialValue": {
|
|
"hexValue": "30",
|
|
"id": 48131,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2036:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2028:9:55"
|
|
},
|
|
"isSimpleCounterLoop": true,
|
|
"loopExpression": {
|
|
"expression": {
|
|
"id": 48137,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "++",
|
|
"prefix": false,
|
|
"src": "2044:3:55",
|
|
"subExpression": {
|
|
"id": 48136,
|
|
"name": "f",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48130,
|
|
"src": "2044:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"id": 48138,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2044:3:55"
|
|
},
|
|
"nodeType": "ForStatement",
|
|
"src": "2023:856:55"
|
|
},
|
|
{
|
|
"assignments": [
|
|
48230
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 48230,
|
|
"mutability": "mutable",
|
|
"name": "routesCount",
|
|
"nameLocation": "2894:11:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48291,
|
|
"src": "2888:17:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
},
|
|
"typeName": {
|
|
"id": 48229,
|
|
"name": "uint8",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2888:5:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 48244,
|
|
"initialValue": {
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
"id": 48233,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 48231,
|
|
"name": "uniswapV3Fee",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48108,
|
|
"src": "2908:12:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"hexValue": "30",
|
|
"id": 48232,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2923:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "2908:16:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseExpression": {
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
"id": 48239,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
"id": 48237,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"hexValue": "30",
|
|
"id": 48235,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2931:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "+",
|
|
"rightExpression": {
|
|
"id": 48236,
|
|
"name": "uniswapV2Fee",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48104,
|
|
"src": "2935:12:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"src": "2931:16:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"hexValue": "30",
|
|
"id": 48238,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2950:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "2931:20:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseExpression": {
|
|
"hexValue": "30",
|
|
"id": 48241,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2958:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"id": 48242,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "Conditional",
|
|
"src": "2931:28:55",
|
|
"trueExpression": {
|
|
"hexValue": "31",
|
|
"id": 48240,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2954:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"id": 48243,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "Conditional",
|
|
"src": "2908:51:55",
|
|
"trueExpression": {
|
|
"hexValue": "31",
|
|
"id": 48234,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2927:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2888:71:55"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 48248,
|
|
"name": "uniswapV3Pool",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48116,
|
|
"src": "2982:13:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 48245,
|
|
"name": "console2",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 29653,
|
|
"src": "2969:8:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_console2_$29653_$",
|
|
"typeString": "type(library console2)"
|
|
}
|
|
},
|
|
"id": 48247,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "2978:3:55",
|
|
"memberName": "log",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22195,
|
|
"src": "2969:12:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$",
|
|
"typeString": "function (address) pure"
|
|
}
|
|
},
|
|
"id": 48249,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2969:27:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 48250,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2969:27:55"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"id": 48256,
|
|
"name": "routesCount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48230,
|
|
"src": "3024:11:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
],
|
|
"id": 48255,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "3019:4:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 48254,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3019:4:55",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 48257,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3019:17:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 48251,
|
|
"name": "console2",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 29653,
|
|
"src": "3006:8:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_console2_$29653_$",
|
|
"typeString": "type(library console2)"
|
|
}
|
|
},
|
|
"id": 48253,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "3015:3:55",
|
|
"memberName": "log",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22139,
|
|
"src": "3006:12:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$__$",
|
|
"typeString": "function (uint256) pure"
|
|
}
|
|
},
|
|
"id": 48258,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3006:31:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 48259,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3006:31:55"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 48267,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 48260,
|
|
"name": "routes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48068,
|
|
"src": "3047:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_RoutesResult_$48059_memory_ptr_$dyn_memory_ptr",
|
|
"typeString": "struct QueryHelper.RoutesResult memory[] memory"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"id": 48265,
|
|
"name": "routesCount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48230,
|
|
"src": "3087:11:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
],
|
|
"id": 48264,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "NewExpression",
|
|
"src": "3056:30:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_RoutesResult_$48059_memory_ptr_$dyn_memory_ptr_$",
|
|
"typeString": "function (uint256) pure returns (struct QueryHelper.RoutesResult memory[] memory)"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 48262,
|
|
"nodeType": "UserDefinedTypeName",
|
|
"pathNode": {
|
|
"id": 48261,
|
|
"name": "QueryHelper.RoutesResult",
|
|
"nameLocations": [
|
|
"3060:11:55",
|
|
"3072:12:55"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 48059,
|
|
"src": "3060:24:55"
|
|
},
|
|
"referencedDeclaration": 48059,
|
|
"src": "3060:24:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_RoutesResult_$48059_storage_ptr",
|
|
"typeString": "struct QueryHelper.RoutesResult"
|
|
}
|
|
},
|
|
"id": 48263,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "3060:26:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_RoutesResult_$48059_storage_$dyn_storage_ptr",
|
|
"typeString": "struct QueryHelper.RoutesResult[]"
|
|
}
|
|
}
|
|
},
|
|
"id": 48266,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3056:43:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_RoutesResult_$48059_memory_ptr_$dyn_memory_ptr",
|
|
"typeString": "struct QueryHelper.RoutesResult memory[] memory"
|
|
}
|
|
},
|
|
"src": "3047:52:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_RoutesResult_$48059_memory_ptr_$dyn_memory_ptr",
|
|
"typeString": "struct QueryHelper.RoutesResult memory[] memory"
|
|
}
|
|
},
|
|
"id": 48268,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3047:52:55"
|
|
},
|
|
{
|
|
"assignments": [
|
|
48270
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 48270,
|
|
"mutability": "mutable",
|
|
"name": "i",
|
|
"nameLocation": "3115:1:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48291,
|
|
"src": "3109:7:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
},
|
|
"typeName": {
|
|
"id": 48269,
|
|
"name": "uint8",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3109:5:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 48272,
|
|
"initialValue": {
|
|
"hexValue": "30",
|
|
"id": 48271,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3119:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3109:11:55"
|
|
},
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
"id": 48275,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 48273,
|
|
"name": "uniswapV3Fee",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48108,
|
|
"src": "3153:12:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"hexValue": "30",
|
|
"id": 48274,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3168:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "3153:16:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 48290,
|
|
"nodeType": "IfStatement",
|
|
"src": "3149:131:55",
|
|
"trueBody": {
|
|
"expression": {
|
|
"id": 48288,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"id": 48276,
|
|
"name": "routes",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48068,
|
|
"src": "3184:6:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_RoutesResult_$48059_memory_ptr_$dyn_memory_ptr",
|
|
"typeString": "struct QueryHelper.RoutesResult memory[] memory"
|
|
}
|
|
},
|
|
"id": 48279,
|
|
"indexExpression": {
|
|
"id": 48278,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "++",
|
|
"prefix": false,
|
|
"src": "3191:3:55",
|
|
"subExpression": {
|
|
"id": 48277,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48270,
|
|
"src": "3191:1:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint8",
|
|
"typeString": "uint8"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3184:11:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_RoutesResult_$48059_memory_ptr",
|
|
"typeString": "struct QueryHelper.RoutesResult memory"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"expression": {
|
|
"expression": {
|
|
"id": 48282,
|
|
"name": "OrderLib",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 47919,
|
|
"src": "3223:8:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_OrderLib_$47919_$",
|
|
"typeString": "type(library OrderLib)"
|
|
}
|
|
},
|
|
"id": 48283,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "3232:8:55",
|
|
"memberName": "Exchange",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 46534,
|
|
"src": "3223:17:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_enum$_Exchange_$46534_$",
|
|
"typeString": "type(enum OrderLib.Exchange)"
|
|
}
|
|
},
|
|
"id": 48284,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"memberLocation": "3241:9:55",
|
|
"memberName": "UniswapV3",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 46533,
|
|
"src": "3223:27:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_enum$_Exchange_$46534",
|
|
"typeString": "enum OrderLib.Exchange"
|
|
}
|
|
},
|
|
{
|
|
"id": 48285,
|
|
"name": "uniswapV3Fee",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48108,
|
|
"src": "3252:12:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
}
|
|
},
|
|
{
|
|
"id": 48286,
|
|
"name": "uniswapV3Pool",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48116,
|
|
"src": "3266:13:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_enum$_Exchange_$46534",
|
|
"typeString": "enum OrderLib.Exchange"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint24",
|
|
"typeString": "uint24"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 48280,
|
|
"name": "QueryHelper",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48317,
|
|
"src": "3198:11:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_QueryHelper_$48317_$",
|
|
"typeString": "type(contract QueryHelper)"
|
|
}
|
|
},
|
|
"id": 48281,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "3210:12:55",
|
|
"memberName": "RoutesResult",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 48059,
|
|
"src": "3198:24:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_struct$_RoutesResult_$48059_storage_ptr_$",
|
|
"typeString": "type(struct QueryHelper.RoutesResult storage pointer)"
|
|
}
|
|
},
|
|
"id": 48287,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "structConstructorCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3198:82:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_RoutesResult_$48059_memory_ptr",
|
|
"typeString": "struct QueryHelper.RoutesResult memory"
|
|
}
|
|
},
|
|
"src": "3184:96:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_RoutesResult_$48059_memory_ptr",
|
|
"typeString": "struct QueryHelper.RoutesResult memory"
|
|
}
|
|
},
|
|
"id": 48289,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3184:96:55"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"functionSelector": "d85c32c7",
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "getRoutes",
|
|
"nameLocation": "1368:9:55",
|
|
"parameters": {
|
|
"id": 48064,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 48061,
|
|
"mutability": "mutable",
|
|
"name": "tokenA",
|
|
"nameLocation": "1387:6:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48292,
|
|
"src": "1379:14:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 48060,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1379:7:55",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 48063,
|
|
"mutability": "mutable",
|
|
"name": "tokenB",
|
|
"nameLocation": "1403:6:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48292,
|
|
"src": "1395:14:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 48062,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1395:7:55",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1377:34:55"
|
|
},
|
|
"returnParameters": {
|
|
"id": 48069,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 48068,
|
|
"mutability": "mutable",
|
|
"name": "routes",
|
|
"nameLocation": "1458:6:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48292,
|
|
"src": "1436:28:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_RoutesResult_$48059_memory_ptr_$dyn_memory_ptr",
|
|
"typeString": "struct QueryHelper.RoutesResult[]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 48066,
|
|
"nodeType": "UserDefinedTypeName",
|
|
"pathNode": {
|
|
"id": 48065,
|
|
"name": "RoutesResult",
|
|
"nameLocations": [
|
|
"1436:12:55"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 48059,
|
|
"src": "1436:12:55"
|
|
},
|
|
"referencedDeclaration": 48059,
|
|
"src": "1436:12:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_RoutesResult_$48059_storage_ptr",
|
|
"typeString": "struct QueryHelper.RoutesResult"
|
|
}
|
|
},
|
|
"id": 48067,
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "1436:14:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_RoutesResult_$48059_storage_$dyn_storage_ptr",
|
|
"typeString": "struct QueryHelper.RoutesResult[]"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1435:30:55"
|
|
},
|
|
"scope": 48317,
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"id": 48316,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "3293:202:55",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 48315,
|
|
"nodeType": "Block",
|
|
"src": "3412:83:55",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 48307,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"components": [
|
|
null,
|
|
{
|
|
"id": 48302,
|
|
"name": "tick",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48298,
|
|
"src": "3425:4:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int24",
|
|
"typeString": "int24"
|
|
}
|
|
},
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null
|
|
],
|
|
"id": 48303,
|
|
"isConstant": false,
|
|
"isInlineArray": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "TupleExpression",
|
|
"src": "3422:13:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$_t_int24_$__$__$__$__$__$",
|
|
"typeString": "tuple(,int24,,,,,)"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"expression": {
|
|
"id": 48304,
|
|
"name": "pool",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48295,
|
|
"src": "3438:4:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IUniswapV3Pool_$43894",
|
|
"typeString": "contract IUniswapV3Pool"
|
|
}
|
|
},
|
|
"id": 48305,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "3443:5:55",
|
|
"memberName": "slot0",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 44241,
|
|
"src": "3438:10:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_view$__$returns$_t_uint160_$_t_int24_$_t_uint16_$_t_uint16_$_t_uint16_$_t_uint8_$_t_bool_$",
|
|
"typeString": "function () view external returns (uint160,int24,uint16,uint16,uint16,uint8,bool)"
|
|
}
|
|
},
|
|
"id": 48306,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3438:12:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$_t_uint160_$_t_int24_$_t_uint16_$_t_uint16_$_t_uint16_$_t_uint8_$_t_bool_$",
|
|
"typeString": "tuple(uint160,int24,uint16,uint16,uint16,uint8,bool)"
|
|
}
|
|
},
|
|
"src": "3422:28:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 48308,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3422:28:55"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 48313,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 48309,
|
|
"name": "liquidity",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48300,
|
|
"src": "3460:9:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"expression": {
|
|
"id": 48310,
|
|
"name": "pool",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 48295,
|
|
"src": "3472:4:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IUniswapV3Pool_$43894",
|
|
"typeString": "contract IUniswapV3Pool"
|
|
}
|
|
},
|
|
"id": 48311,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "3477:9:55",
|
|
"memberName": "liquidity",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 44267,
|
|
"src": "3472:14:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_view$__$returns$_t_uint128_$",
|
|
"typeString": "function () view external returns (uint128)"
|
|
}
|
|
},
|
|
"id": 48312,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3472:16:55",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"src": "3460:28:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"id": 48314,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3460:28:55"
|
|
}
|
|
]
|
|
},
|
|
"functionSelector": "3c38ccbb",
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "poolStatus",
|
|
"nameLocation": "3302:10:55",
|
|
"parameters": {
|
|
"id": 48296,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 48295,
|
|
"mutability": "mutable",
|
|
"name": "pool",
|
|
"nameLocation": "3328:4:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48316,
|
|
"src": "3313:19:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IUniswapV3Pool_$43894",
|
|
"typeString": "contract IUniswapV3Pool"
|
|
},
|
|
"typeName": {
|
|
"id": 48294,
|
|
"nodeType": "UserDefinedTypeName",
|
|
"pathNode": {
|
|
"id": 48293,
|
|
"name": "IUniswapV3Pool",
|
|
"nameLocations": [
|
|
"3313:14:55"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 43894,
|
|
"src": "3313:14:55"
|
|
},
|
|
"referencedDeclaration": 43894,
|
|
"src": "3313:14:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IUniswapV3Pool_$43894",
|
|
"typeString": "contract IUniswapV3Pool"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3312:21:55"
|
|
},
|
|
"returnParameters": {
|
|
"id": 48301,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 48298,
|
|
"mutability": "mutable",
|
|
"name": "tick",
|
|
"nameLocation": "3374:4:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48316,
|
|
"src": "3368:10:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int24",
|
|
"typeString": "int24"
|
|
},
|
|
"typeName": {
|
|
"id": 48297,
|
|
"name": "int24",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3368:5:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int24",
|
|
"typeString": "int24"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 48300,
|
|
"mutability": "mutable",
|
|
"name": "liquidity",
|
|
"nameLocation": "3396:9:55",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 48316,
|
|
"src": "3388:17:55",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
},
|
|
"typeName": {
|
|
"id": 48299,
|
|
"name": "uint128",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3388:7:55",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint128",
|
|
"typeString": "uint128"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3358:53:55"
|
|
},
|
|
"scope": 48317,
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
}
|
|
],
|
|
"abstract": false,
|
|
"baseContracts": [],
|
|
"canonicalName": "QueryHelper",
|
|
"contractDependencies": [],
|
|
"contractKind": "contract",
|
|
"fullyImplemented": true,
|
|
"internalFunctionIDs": {
|
|
"21582": 1
|
|
},
|
|
"linearizedBaseContracts": [
|
|
48317
|
|
],
|
|
"name": "QueryHelper",
|
|
"nameLocation": "344:11:55",
|
|
"scope": 48318,
|
|
"usedErrors": [],
|
|
"usedEvents": []
|
|
}
|
|
],
|
|
"license": "UNLICENSED"
|
|
},
|
|
"id": 55
|
|
} |