* fix(balancer): ignore self balance change Euler pool emit a balance change for the pool itself. We don't want to have it because it's an unknown token from Tycho's perspective. example: https://etherscan.io/tx/0x4a9ea683052afefdae3d189862868c3a7dc8f431d1d9828b6bfd9451a8816426#eventlog#338 * refactor(balancer): rename balancer module to balancer-v2 * ci: make clippy happy --------- Co-authored-by: zizou <111426680+flopell@users.noreply.github.com>
1179 lines
32 KiB
JSON
1179 lines
32 KiB
JSON
[
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "contract IAuthorizer",
|
|
"name": "authorizer",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "contract IWETH",
|
|
"name": "weth",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "pauseWindowDuration",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "bufferPeriodDuration",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "contract IAuthorizer",
|
|
"name": "newAuthorizer",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "AuthorizerChanged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "contract IERC20",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "ExternalBalanceTransfer",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "contract IFlashLoanRecipient",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "contract IERC20",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "feeAmount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "FlashLoan",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "user",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "contract IERC20",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "int256",
|
|
"name": "delta",
|
|
"type": "int256"
|
|
}
|
|
],
|
|
"name": "InternalBalanceChanged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "paused",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "PausedStateChanged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "liquidityProvider",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "contract IERC20[]",
|
|
"name": "tokens",
|
|
"type": "address[]"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "int256[]",
|
|
"name": "deltas",
|
|
"type": "int256[]"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256[]",
|
|
"name": "protocolFeeAmounts",
|
|
"type": "uint256[]"
|
|
}
|
|
],
|
|
"name": "PoolBalanceChanged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "assetManager",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "contract IERC20",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "int256",
|
|
"name": "cashDelta",
|
|
"type": "int256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "int256",
|
|
"name": "managedDelta",
|
|
"type": "int256"
|
|
}
|
|
],
|
|
"name": "PoolBalanceManaged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "poolAddress",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "enum IVault.PoolSpecialization",
|
|
"name": "specialization",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"name": "PoolRegistered",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "relayer",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "approved",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "RelayerApprovalChanged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "contract IERC20",
|
|
"name": "tokenIn",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "contract IERC20",
|
|
"name": "tokenOut",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amountIn",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amountOut",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "Swap",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "contract IERC20[]",
|
|
"name": "tokens",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"name": "TokensDeregistered",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "contract IERC20[]",
|
|
"name": "tokens",
|
|
"type": "address[]"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address[]",
|
|
"name": "assetManagers",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"name": "TokensRegistered",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "WETH",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract IWETH",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum IVault.SwapKind",
|
|
"name": "kind",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "assetInIndex",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "assetOutIndex",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "userData",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"internalType": "struct IVault.BatchSwapStep[]",
|
|
"name": "swaps",
|
|
"type": "tuple[]"
|
|
},
|
|
{
|
|
"internalType": "contract IAsset[]",
|
|
"name": "assets",
|
|
"type": "address[]"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "fromInternalBalance",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "address payable",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "toInternalBalance",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"internalType": "struct IVault.FundManagement",
|
|
"name": "funds",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"internalType": "int256[]",
|
|
"name": "limits",
|
|
"type": "int256[]"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "deadline",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "batchSwap",
|
|
"outputs": [
|
|
{
|
|
"internalType": "int256[]",
|
|
"name": "assetDeltas",
|
|
"type": "int256[]"
|
|
}
|
|
],
|
|
"stateMutability": "payable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "contract IERC20[]",
|
|
"name": "tokens",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"name": "deregisterTokens",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address payable",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "contract IAsset[]",
|
|
"name": "assets",
|
|
"type": "address[]"
|
|
},
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "minAmountsOut",
|
|
"type": "uint256[]"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "userData",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "toInternalBalance",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"internalType": "struct IVault.ExitPoolRequest",
|
|
"name": "request",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"name": "exitPool",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "contract IFlashLoanRecipient",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "contract IERC20[]",
|
|
"name": "tokens",
|
|
"type": "address[]"
|
|
},
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "amounts",
|
|
"type": "uint256[]"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "userData",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "flashLoan",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "selector",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"name": "getActionId",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getAuthorizer",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract IAuthorizer",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getDomainSeparator",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "user",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "contract IERC20[]",
|
|
"name": "tokens",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"name": "getInternalBalance",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "balances",
|
|
"type": "uint256[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "user",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getNextNonce",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getPausedState",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "paused",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "pauseWindowEndTime",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "bufferPeriodEndTime",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getPool",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "enum IVault.PoolSpecialization",
|
|
"name": "",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "contract IERC20",
|
|
"name": "token",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getPoolTokenInfo",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "cash",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "managed",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "lastChangeBlock",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "assetManager",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getPoolTokens",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract IERC20[]",
|
|
"name": "tokens",
|
|
"type": "address[]"
|
|
},
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "balances",
|
|
"type": "uint256[]"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "lastChangeBlock",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getProtocolFeesCollector",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract ProtocolFeesCollector",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "user",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "relayer",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "hasApprovedRelayer",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "contract IAsset[]",
|
|
"name": "assets",
|
|
"type": "address[]"
|
|
},
|
|
{
|
|
"internalType": "uint256[]",
|
|
"name": "maxAmountsIn",
|
|
"type": "uint256[]"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "userData",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "fromInternalBalance",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"internalType": "struct IVault.JoinPoolRequest",
|
|
"name": "request",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"name": "joinPool",
|
|
"outputs": [],
|
|
"stateMutability": "payable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "enum IVault.PoolBalanceOpKind",
|
|
"name": "kind",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "contract IERC20",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"internalType": "struct IVault.PoolBalanceOp[]",
|
|
"name": "ops",
|
|
"type": "tuple[]"
|
|
}
|
|
],
|
|
"name": "managePoolBalance",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "enum IVault.UserBalanceOpKind",
|
|
"name": "kind",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "contract IAsset",
|
|
"name": "asset",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address payable",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"internalType": "struct IVault.UserBalanceOp[]",
|
|
"name": "ops",
|
|
"type": "tuple[]"
|
|
}
|
|
],
|
|
"name": "manageUserBalance",
|
|
"outputs": [],
|
|
"stateMutability": "payable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum IVault.SwapKind",
|
|
"name": "kind",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "assetInIndex",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "assetOutIndex",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "userData",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"internalType": "struct IVault.BatchSwapStep[]",
|
|
"name": "swaps",
|
|
"type": "tuple[]"
|
|
},
|
|
{
|
|
"internalType": "contract IAsset[]",
|
|
"name": "assets",
|
|
"type": "address[]"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "fromInternalBalance",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "address payable",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "toInternalBalance",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"internalType": "struct IVault.FundManagement",
|
|
"name": "funds",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"name": "queryBatchSwap",
|
|
"outputs": [
|
|
{
|
|
"internalType": "int256[]",
|
|
"name": "",
|
|
"type": "int256[]"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum IVault.PoolSpecialization",
|
|
"name": "specialization",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"name": "registerPool",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "contract IERC20[]",
|
|
"name": "tokens",
|
|
"type": "address[]"
|
|
},
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "assetManagers",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"name": "registerTokens",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "contract IAuthorizer",
|
|
"name": "newAuthorizer",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "setAuthorizer",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "paused",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "setPaused",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "relayer",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "approved",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "setRelayerApproval",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "poolId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "enum IVault.SwapKind",
|
|
"name": "kind",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "contract IAsset",
|
|
"name": "assetIn",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "contract IAsset",
|
|
"name": "assetOut",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "userData",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"internalType": "struct IVault.SingleSwap",
|
|
"name": "singleSwap",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "fromInternalBalance",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "address payable",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "toInternalBalance",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"internalType": "struct IVault.FundManagement",
|
|
"name": "funds",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "limit",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "deadline",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "swap",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amountCalculated",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "payable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"stateMutability": "payable",
|
|
"type": "receive"
|
|
}
|
|
] |