export const SYNAPSE_ROUTER_ABI = [ { inputs: [ { internalType: 'address', name: '_synapseBridge', type: 'address', }, ], stateMutability: 'nonpayable', type: 'constructor', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'address', name: 'previousOwner', type: 'address', }, { indexed: true, internalType: 'address', name: 'newOwner', type: 'address', }, ], name: 'OwnershipTransferred', type: 'event', }, { inputs: [ { internalType: 'address', name: 'to', type: 'address', }, { internalType: 'address', name: 'tokenIn', type: 'address', }, { internalType: 'uint256', name: 'amountIn', type: 'uint256', }, { internalType: 'address', name: 'tokenOut', type: 'address', }, { internalType: 'bytes', name: 'rawParams', type: 'bytes', }, ], name: 'adapterSwap', outputs: [ { internalType: 'uint256', name: 'amountOut', type: 'uint256', }, ], stateMutability: 'payable', type: 'function', }, { inputs: [ { internalType: 'string', name: 'symbol', type: 'string', }, { internalType: 'address', name: 'token', type: 'address', }, { internalType: 'enum LocalBridgeConfig.TokenType', name: 'tokenType', type: 'uint8', }, { internalType: 'address', name: 'bridgeToken', type: 'address', }, { internalType: 'uint256', name: 'bridgeFee', type: 'uint256', }, { internalType: 'uint256', name: 'minFee', type: 'uint256', }, { internalType: 'uint256', name: 'maxFee', type: 'uint256', }, ], name: 'addToken', outputs: [ { internalType: 'bool', name: 'wasAdded', type: 'bool', }, ], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { components: [ { internalType: 'string', name: 'id', type: 'string', }, { internalType: 'address', name: 'token', type: 'address', }, { internalType: 'enum LocalBridgeConfig.TokenType', name: 'tokenType', type: 'uint8', }, { internalType: 'address', name: 'bridgeToken', type: 'address', }, { internalType: 'uint256', name: 'bridgeFee', type: 'uint256', }, { internalType: 'uint256', name: 'minFee', type: 'uint256', }, { internalType: 'uint256', name: 'maxFee', type: 'uint256', }, ], internalType: 'struct LocalBridgeConfig.BridgeTokenConfig[]', name: 'tokens', type: 'tuple[]', }, ], name: 'addTokens', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [], name: 'allPools', outputs: [ { components: [ { internalType: 'address', name: 'pool', type: 'address', }, { internalType: 'address', name: 'lpToken', type: 'address', }, { components: [ { internalType: 'bool', name: 'isWeth', type: 'bool', }, { internalType: 'address', name: 'token', type: 'address', }, ], internalType: 'struct PoolToken[]', name: 'tokens', type: 'tuple[]', }, ], internalType: 'struct Pool[]', name: 'pools', type: 'tuple[]', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'to', type: 'address', }, { internalType: 'uint256', name: 'chainId', type: 'uint256', }, { internalType: 'address', name: 'token', type: 'address', }, { internalType: 'uint256', name: 'amount', type: 'uint256', }, { components: [ { internalType: 'address', name: 'swapAdapter', type: 'address', }, { internalType: 'address', name: 'tokenOut', type: 'address', }, { internalType: 'uint256', name: 'minAmountOut', type: 'uint256', }, { internalType: 'uint256', name: 'deadline', type: 'uint256', }, { internalType: 'bytes', name: 'rawParams', type: 'bytes', }, ], internalType: 'struct SwapQuery', name: 'originQuery', type: 'tuple', }, { components: [ { internalType: 'address', name: 'swapAdapter', type: 'address', }, { internalType: 'address', name: 'tokenOut', type: 'address', }, { internalType: 'uint256', name: 'minAmountOut', type: 'uint256', }, { internalType: 'uint256', name: 'deadline', type: 'uint256', }, { internalType: 'bytes', name: 'rawParams', type: 'bytes', }, ], internalType: 'struct SwapQuery', name: 'destQuery', type: 'tuple', }, ], name: 'bridge', outputs: [], stateMutability: 'payable', type: 'function', }, { inputs: [], name: 'bridgeTokens', outputs: [ { internalType: 'address[]', name: 'tokens', type: 'address[]', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'bridgeTokensAmount', outputs: [ { internalType: 'uint256', name: 'amount', type: 'uint256', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'pool', type: 'address', }, { internalType: 'uint256[]', name: 'amounts', type: 'uint256[]', }, ], name: 'calculateAddLiquidity', outputs: [ { internalType: 'uint256', name: '', type: 'uint256', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'token', type: 'address', }, { internalType: 'uint256', name: 'amount', type: 'uint256', }, ], name: 'calculateBridgeFee', outputs: [ { internalType: 'uint256', name: 'feeAmount', type: 'uint256', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'pool', type: 'address', }, { internalType: 'uint256', name: 'amount', type: 'uint256', }, ], name: 'calculateRemoveLiquidity', outputs: [ { internalType: 'uint256[]', name: 'amountsOut', type: 'uint256[]', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'pool', type: 'address', }, { internalType: 'uint8', name: 'tokenIndexFrom', type: 'uint8', }, { internalType: 'uint8', name: 'tokenIndexTo', type: 'uint8', }, { internalType: 'uint256', name: 'dx', type: 'uint256', }, ], name: 'calculateSwap', outputs: [ { internalType: 'uint256', name: 'amountOut', type: 'uint256', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'pool', type: 'address', }, { internalType: 'uint256', name: 'tokenAmount', type: 'uint256', }, { internalType: 'uint8', name: 'tokenIndex', type: 'uint8', }, ], name: 'calculateWithdrawOneToken', outputs: [ { internalType: 'uint256', name: 'amountOut', type: 'uint256', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: '', type: 'address', }, ], name: 'config', outputs: [ { internalType: 'enum LocalBridgeConfig.TokenType', name: 'tokenType', type: 'uint8', }, { internalType: 'address', name: 'bridgeToken', type: 'address', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: '', type: 'address', }, ], name: 'fee', outputs: [ { internalType: 'uint40', name: 'bridgeFee', type: 'uint40', }, { internalType: 'uint104', name: 'minFee', type: 'uint104', }, { internalType: 'uint112', name: 'maxFee', type: 'uint112', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'tokenIn', type: 'address', }, { internalType: 'address', name: 'tokenOut', type: 'address', }, { internalType: 'uint256', name: 'amountIn', type: 'uint256', }, ], name: 'getAmountOut', outputs: [ { components: [ { internalType: 'address', name: 'swapAdapter', type: 'address', }, { internalType: 'address', name: 'tokenOut', type: 'address', }, { internalType: 'uint256', name: 'minAmountOut', type: 'uint256', }, { internalType: 'uint256', name: 'deadline', type: 'uint256', }, { internalType: 'bytes', name: 'rawParams', type: 'bytes', }, ], internalType: 'struct SwapQuery', name: '', type: 'tuple', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'tokenOut', type: 'address', }, ], name: 'getConnectedBridgeTokens', outputs: [ { components: [ { internalType: 'string', name: 'symbol', type: 'string', }, { internalType: 'address', name: 'token', type: 'address', }, ], internalType: 'struct BridgeToken[]', name: 'tokens', type: 'tuple[]', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { components: [ { internalType: 'string', name: 'symbol', type: 'string', }, { internalType: 'uint256', name: 'amountIn', type: 'uint256', }, ], internalType: 'struct DestRequest[]', name: 'requests', type: 'tuple[]', }, { internalType: 'address', name: 'tokenOut', type: 'address', }, ], name: 'getDestinationAmountOut', outputs: [ { components: [ { internalType: 'address', name: 'swapAdapter', type: 'address', }, { internalType: 'address', name: 'tokenOut', type: 'address', }, { internalType: 'uint256', name: 'minAmountOut', type: 'uint256', }, { internalType: 'uint256', name: 'deadline', type: 'uint256', }, { internalType: 'bytes', name: 'rawParams', type: 'bytes', }, ], internalType: 'struct SwapQuery[]', name: 'destQueries', type: 'tuple[]', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'tokenIn', type: 'address', }, { internalType: 'string[]', name: 'tokenSymbols', type: 'string[]', }, { internalType: 'uint256', name: 'amountIn', type: 'uint256', }, ], name: 'getOriginAmountOut', outputs: [ { components: [ { internalType: 'address', name: 'swapAdapter', type: 'address', }, { internalType: 'address', name: 'tokenOut', type: 'address', }, { internalType: 'uint256', name: 'minAmountOut', type: 'uint256', }, { internalType: 'uint256', name: 'deadline', type: 'uint256', }, { internalType: 'bytes', name: 'rawParams', type: 'bytes', }, ], internalType: 'struct SwapQuery[]', name: 'originQueries', type: 'tuple[]', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'owner', outputs: [ { internalType: 'address', name: '', type: 'address', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'pool', type: 'address', }, ], name: 'poolInfo', outputs: [ { internalType: 'uint256', name: '', type: 'uint256', }, { internalType: 'address', name: '', type: 'address', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'pool', type: 'address', }, ], name: 'poolTokens', outputs: [ { components: [ { internalType: 'bool', name: 'isWeth', type: 'bool', }, { internalType: 'address', name: 'token', type: 'address', }, ], internalType: 'struct PoolToken[]', name: 'tokens', type: 'tuple[]', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'poolsAmount', outputs: [ { internalType: 'uint256', name: 'amount', type: 'uint256', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'token', type: 'address', }, ], name: 'removeToken', outputs: [ { internalType: 'bool', name: 'wasRemoved', type: 'bool', }, ], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'address[]', name: 'tokens', type: 'address[]', }, ], name: 'removeTokens', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [], name: 'renounceOwnership', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'contract IERC20', name: 'token', type: 'address', }, { internalType: 'address', name: 'spender', type: 'address', }, { internalType: 'uint256', name: 'amount', type: 'uint256', }, ], name: 'setAllowance', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'contract ISwapQuoter', name: '_swapQuoter', type: 'address', }, ], name: 'setSwapQuoter', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'address', name: 'token', type: 'address', }, { internalType: 'enum LocalBridgeConfig.TokenType', name: 'tokenType', type: 'uint8', }, { internalType: 'address', name: 'bridgeToken', type: 'address', }, ], name: 'setTokenConfig', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'address', name: 'token', type: 'address', }, { internalType: 'uint256', name: 'bridgeFee', type: 'uint256', }, { internalType: 'uint256', name: 'minFee', type: 'uint256', }, { internalType: 'uint256', name: 'maxFee', type: 'uint256', }, ], name: 'setTokenFee', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'address', name: 'to', type: 'address', }, { internalType: 'address', name: 'token', type: 'address', }, { internalType: 'uint256', name: 'amount', type: 'uint256', }, { components: [ { internalType: 'address', name: 'swapAdapter', type: 'address', }, { internalType: 'address', name: 'tokenOut', type: 'address', }, { internalType: 'uint256', name: 'minAmountOut', type: 'uint256', }, { internalType: 'uint256', name: 'deadline', type: 'uint256', }, { internalType: 'bytes', name: 'rawParams', type: 'bytes', }, ], internalType: 'struct SwapQuery', name: 'query', type: 'tuple', }, ], name: 'swap', outputs: [ { internalType: 'uint256', name: 'amountOut', type: 'uint256', }, ], stateMutability: 'payable', type: 'function', }, { inputs: [], name: 'swapQuoter', outputs: [ { internalType: 'contract ISwapQuoter', name: '', type: 'address', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'string', name: '', type: 'string', }, ], name: 'symbolToToken', outputs: [ { internalType: 'address', name: '', type: 'address', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'synapseBridge', outputs: [ { internalType: 'contract ISynapseBridge', name: '', type: 'address', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: '', type: 'address', }, ], name: 'tokenToSymbol', outputs: [ { internalType: 'string', name: '', type: 'string', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'newOwner', type: 'address', }, ], name: 'transferOwnership', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { stateMutability: 'payable', type: 'receive', }, ]