UNPKG

@dzapio/sdk

Version:

A TypeScript/JavaScript SDK for interacting with the DZap protocol, providing utilities for DeFi operations including Swaps, Bridges, and Zaps.

1 lines 134 kB
import{encodeAbiParameters as e,parseAbiParameters as t,defineChain as n,createPublicClient as a,fallback as r,http as i,isAddress as s,getAddress as o,parseEventLogs as p,formatUnits as u,decodeAbiParameters as d,maxUint256 as y,maxUint48 as m,getContract as l,encodeFunctionData as c}from"viem";import{Signer as f,ethers as T}from"ethers";import*as v from"viem/chains";import b from"axios";import h from"node-cache";import g from"decimal.js";var A,w,I,P,x,S;!function(e){e.production="production",e.development="development"}(A||(A={})),function(e){e[e.PERMIT=0]="PERMIT",e[e.PERMIT2=1]="PERMIT2"}(w||(w={})),function(e){e[e.PERMIT=0]="PERMIT",e[e.PERMIT2_TRANSFER_FROM=1]="PERMIT2_TRANSFER_FROM",e[e.PERMIT2_APPROVE=2]="PERMIT2_APPROVE"}(I||(I={})),function(e){e.mining="mining",e.success="success",e.rejected="rejected",e.error="error",e.reverted="reverted",e.pendingWalletConfirmation="pendingWalletConfirmation",e.partialSuccess="partialSuccess"}(P||(P={})),function(e){e.V1="v1",e.V1_2="v1.2",e.V2="v2"}(x||(x={})),function(e){e[e.UserRejectedRequest=4001]="UserRejectedRequest",e[e.Success=200]="Success",e[e.FunctionNotFound=32771]="FunctionNotFound",e[e.Error=500]="Error",e[e.WalletRPCFailure=429]="WalletRPCFailure",e[e.SimulationFailure=417]="SimulationFailure",e[e.ContractExecutionError=-500]="ContractExecutionError"}(S||(S={}));var _={pending:"pending",inProgress:"in-progress",success:"success",rejected:"rejected",error:"error"},k={permit2:"permit2",erc20:"erc20"},D={trade:"trade",dca:"dca",zap:"zap"},C={fastest:"fastest",best:"best",all:"all"},M=e(t("uint8, bytes"),[I.PERMIT,"0x"]),E=e(t("uint8, bytes"),[I.PERMIT2_APPROVE,"0x"]),F=1800,N={TRY_ANOTHER_ROUTE:"TRY_ANOTHER_ROUTE",INCREASE_SLIPPAGE:"INCREASE_SLIPPAGE",INCREASE_ALLOWANCE:"INCREASE_ALLOWANCE"};function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function B(){return B=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},B.apply(null,arguments)}function U(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}var j,O,q=[{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"}],name:"AllowanceExpired",type:"error"},{inputs:[],name:"ExcessiveInvalidation",type:"error"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"InsufficientAllowance",type:"error"},{inputs:[{internalType:"uint256",name:"maxAmount",type:"uint256"}],name:"InvalidAmount",type:"error"},{inputs:[],name:"InvalidContractSignature",type:"error"},{inputs:[],name:"InvalidNonce",type:"error"},{inputs:[],name:"InvalidSignature",type:"error"},{inputs:[],name:"InvalidSignatureLength",type:"error"},{inputs:[],name:"InvalidSigner",type:"error"},{inputs:[],name:"LengthMismatch",type:"error"},{inputs:[{internalType:"uint256",name:"signatureDeadline",type:"uint256"}],name:"SignatureExpired",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"spender",type:"address"}],name:"Lockdown",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint48",name:"newNonce",type:"uint48"},{indexed:!1,internalType:"uint48",name:"oldNonce",type:"uint48"}],name:"NonceInvalidation",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"},{indexed:!1,internalType:"uint48",name:"nonce",type:"uint48"}],name:"Permit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"uint256",name:"word",type:"uint256"},{indexed:!1,internalType:"uint256",name:"mask",type:"uint256"}],name:"UnorderedNonceInvalidation",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint48",name:"newNonce",type:"uint48"}],name:"invalidateNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"wordPos",type:"uint256"},{internalType:"uint256",name:"mask",type:"uint256"}],name:"invalidateUnorderedNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"}],internalType:"struct IAllowanceTransfer.TokenSpenderPair[]",name:"approvals",type:"tuple[]"}],name:"lockdown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"nonceBitmap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails[]",name:"details",type:"tuple[]"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitBatch",name:"permitBatch",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails",name:"details",type:"tuple"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitSingle",name:"permitSingle",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],internalType:"struct IAllowanceTransfer.AllowanceTransferDetails[]",name:"transferDetails",type:"tuple[]"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"}],L=[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"}],Z=[{inputs:[{internalType:"address",name:"_relayReceiver",type:"address"},{internalType:"address",name:"_relaySolver",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{type:"error",name:"CannotAuthorizeSelf",inputs:[]},{type:"error",name:"OnlyContractOwner",inputs:[]},{type:"error",name:"BridgeCallFailed",inputs:[{type:"bytes",name:"reason"}]},{type:"error",name:"CannotBridgeToSameNetwork",inputs:[]},{type:"error",name:"InformationMismatch",inputs:[]},{type:"error",name:"InsufficientBalance",inputs:[{type:"uint256",name:"amount"},{type:"uint256",name:"contractBalance"}]},{type:"error",name:"IntegratorNotAllowed",inputs:[]},{type:"error",name:"InvalidAmount",inputs:[]},{type:"error",name:"InvalidLength",inputs:[]},{type:"error",name:"InvalidPermit",inputs:[]},{type:"error",name:"InvalidPermitData",inputs:[]},{type:"error",name:"NativeTransferFailed",inputs:[]},{type:"error",name:"NoTransferToNullAddress",inputs:[]},{type:"error",name:"NotAContract",inputs:[]},{type:"error",name:"NullAddrIsNotAValidSpender",inputs:[]},{type:"error",name:"NullAddrIsNotAnERC20Token",inputs:[]},{type:"error",name:"UnAuthorizedCall",inputs:[{type:"address"}]},{type:"error",name:"CannotBridgeToSameNetwork",inputs:[]},{type:"error",name:"InformationMismatch",inputs:[]},{type:"error",name:"InsufficientBalance",inputs:[{type:"uint256",name:"amount"},{type:"uint256",name:"contractBalance"}]},{type:"error",name:"IntegratorNotAllowed",inputs:[]},{type:"error",name:"InvalidAmount",inputs:[]},{type:"error",name:"InvalidLength",inputs:[]},{type:"error",name:"InvalidPermit",inputs:[]},{type:"error",name:"InvalidPermitData",inputs:[]},{type:"error",name:"NativeTransferFailed",inputs:[]},{type:"error",name:"NoTransferToNullAddress",inputs:[]},{type:"error",name:"NullAddrIsNotAnERC20Token",inputs:[]},{type:"error",name:"BridgeNotAdded",inputs:[{type:"address"}]},{type:"error",name:"CannotAuthorizeSelf",inputs:[]},{type:"error",name:"UnAuthorized",inputs:[]},{type:"error",name:"BridgeCallFailed",inputs:[{type:"bytes",name:"reason"}]},{type:"error",name:"CannotBridgeToSameNetwork",inputs:[]},{type:"error",name:"ContractCallNotAllowed",inputs:[]},{type:"error",name:"InformationMismatch",inputs:[]},{type:"error",name:"InsufficientBalance",inputs:[{type:"uint256",name:"amount"},{type:"uint256",name:"contractBalance"}]},{type:"error",name:"IntegratorNotAllowed",inputs:[]},{type:"error",name:"InvalidAmount",inputs:[]},{type:"error",name:"InvalidContract",inputs:[]},{type:"error",name:"InvalidLength",inputs:[]},{type:"error",name:"InvalidPermit",inputs:[]},{type:"error",name:"InvalidPermitData",inputs:[]},{type:"error",name:"InvalidSwapDetails",inputs:[]},{type:"error",name:"NativeTransferFailed",inputs:[]},{type:"error",name:"NoSwapFromZeroBalance",inputs:[]},{type:"error",name:"NoTransferToNullAddress",inputs:[]},{type:"error",name:"NotAContract",inputs:[]},{type:"error",name:"NullAddrIsNotAValidSpender",inputs:[]},{type:"error",name:"NullAddrIsNotAnERC20Token",inputs:[]},{type:"error",name:"SlippageTooLow",inputs:[{type:"uint256",name:"minAmount"},{type:"uint256",name:"returnAmount"}]},{type:"error",name:"SwapCallFailed",inputs:[{type:"bytes",name:"reason"}]},{type:"error",name:"UnAuthorizedCall",inputs:[{type:"address"}]},{type:"error",name:"CannotAuthorizeSelf",inputs:[]},{type:"error",name:"InvalidContract",inputs:[]},{type:"error",name:"UnAuthorized",inputs:[]},{type:"error",name:"CalldataEmptyButInitNotZero",inputs:[]},{type:"error",name:"FacetAddressIsNotZero",inputs:[]},{type:"error",name:"FacetAddressIsZero",inputs:[]},{type:"error",name:"FacetContainsNoCode",inputs:[]},{type:"error",name:"FunctionAlreadyExists",inputs:[]},{type:"error",name:"FunctionDoesNotExist",inputs:[]},{type:"error",name:"FunctionIsImmutable",inputs:[]},{type:"error",name:"IncorrectFacetCutAction",inputs:[]},{type:"error",name:"InitReverted",inputs:[{type:"bytes",name:"reason"}]},{type:"error",name:"InitZeroButCalldataNotEmpty",inputs:[]},{type:"error",name:"NoSelectorsInFace",inputs:[]},{type:"error",name:"OnlyContractOwner",inputs:[]},{type:"error",name:"AlreadyInitialized",inputs:[]},{type:"error",name:"FeeTooHigh",inputs:[]},{type:"error",name:"InvalidFee",inputs:[]},{type:"error",name:"OnlyContractOwner",inputs:[]},{type:"error",name:"ZeroAddress",inputs:[]},{type:"error",name:"CalldataEmptyButInitNotZero",inputs:[]},{type:"error",name:"FacetAddressIsNotZero",inputs:[]},{type:"error",name:"FacetAddressIsZero",inputs:[]},{type:"error",name:"FacetContainsNoCode",inputs:[]},{type:"error",name:"FunctionAlreadyExists",inputs:[]},{type:"error",name:"FunctionDoesNotExist",inputs:[]},{type:"error",name:"FunctionIsImmutable",inputs:[]},{type:"error",name:"IncorrectFacetCutAction",inputs:[]},{type:"error",name:"InitReverted",inputs:[{type:"bytes",name:"reason"}]},{type:"error",name:"InitZeroButCalldataNotEmpty",inputs:[]},{type:"error",name:"NoSelectorsInFace",inputs:[]},{type:"error",name:"ZeroAddress",inputs:[]},{type:"error",name:"FeeTooHigh",inputs:[]},{type:"error",name:"IntegratorNotActive",inputs:[]},{type:"error",name:"IntegratorNotAllowed",inputs:[]},{type:"error",name:"ShareTooHigh",inputs:[]},{type:"error",name:"UnAuthorized",inputs:[]},{type:"error",name:"ZeroAddress",inputs:[]},{type:"error",name:"OnlyContractOwner",inputs:[]},{type:"error",name:"AllSwapsFailed",inputs:[]},{type:"error",name:"ContractCallNotAllowed",inputs:[]},{type:"error",name:"InsufficientBalance",inputs:[{type:"uint256",name:"amount"},{type:"uint256",name:"contractBalance"}]},{type:"error",name:"IntegratorNotAllowed",inputs:[]},{type:"error",name:"InvalidAmount",inputs:[]},{type:"error",name:"InvalidContract",inputs:[]},{type:"error",name:"InvalidPermit",inputs:[]},{type:"error",name:"InvalidPermitData",inputs:[]},{type:"error",name:"NativeTransferFailed",inputs:[]},{type:"error",name:"NoSwapFromZeroBalance",inputs:[]},{type:"error",name:"NoTransferToNullAddress",inputs:[]},{type:"error",name:"NullAddrIsNotAValidSpender",inputs:[]},{type:"error",name:"NullAddrIsNotAnERC20Token",inputs:[]},{type:"error",name:"SlippageTooLow",inputs:[{type:"uint256",name:"minAmount"},{type:"uint256",name:"returnAmount"}]},{type:"error",name:"SwapCallFailed",inputs:[{type:"bytes",name:"reason"}]},{type:"error",name:"ZeroAddress",inputs:[]},{type:"error",name:"InsufficientBalance",inputs:[{type:"uint256",name:"amount"},{type:"uint256",name:"contractBalance"}]},{type:"error",name:"NativeTransferFailed",inputs:[]},{type:"error",name:"NoTransferToNullAddress",inputs:[]},{type:"error",name:"NotAContract",inputs:[]},{type:"error",name:"NullAddrIsNotAnERC20Token",inputs:[]},{type:"error",name:"ReentrancyError",inputs:[]},{type:"error",name:"UnAuthorized",inputs:[]},{type:"error",name:"WithdrawFailed",inputs:[]},{type:"event",anonymous:!1,name:"DexAdded",inputs:[{type:"address",name:"dexAddress",indexed:!0}]},{type:"event",anonymous:!1,name:"DexRemoved",inputs:[{type:"address",name:"dexAddress",indexed:!0}]},{type:"event",anonymous:!1,name:"FunctionSignatureApprovalChanged",inputs:[{type:"address",name:"dex",indexed:!0},{type:"bytes4",name:"functionSignature",indexed:!0},{type:"bool",name:"approved",indexed:!0}]},{type:"event",anonymous:!1,name:"AdaptersAdded",inputs:[{type:"address[]",name:"adapters",indexed:!1}]},{type:"event",anonymous:!1,name:"AdaptersRemoved",inputs:[{type:"address[]",name:"adapters",indexed:!1}]},{type:"event",anonymous:!1,name:"BridgeAdded",inputs:[{type:"address[]",name:"bridges",indexed:!1}]},{type:"event",anonymous:!1,name:"BridgeRemoved",inputs:[{type:"address[]",name:"bridges",indexed:!1}]},{type:"event",anonymous:!1,name:"SelectorToInfoUpdated",inputs:[{type:"address[]",name:"bridges",indexed:!1},{type:"bytes4[]",name:"selectors",indexed:!1},{type:"uint256[]",name:"info",indexed:!1}]},{type:"event",anonymous:!1,name:"SetDzapFixedNativeFeeAmount",inputs:[{type:"uint256",name:"fee",indexed:!1}]},{type:"event",anonymous:!1,name:"SetDzapTokenFee",inputs:[{type:"uint256",name:"fee",indexed:!1}]},{type:"event",anonymous:!1,name:"SetFixedNativeFee",inputs:[{type:"uint256",name:"fee",indexed:!1}]},{type:"event",anonymous:!1,name:"SetIntegrator",inputs:[{type:"address",name:"integrator",indexed:!1},{type:"uint8[]",name:"feeType",indexed:!1},{type:"tuple[]",name:"info",indexed:!1,components:[{type:"uint256",name:"tokenFee"},{type:"uint256",name:"fixedNativeFeeAmount"},{type:"uint256",name:"dzapTokenShare"},{type:"uint256",name:"dzapFixedNativeShare"}]}]},{type:"event",anonymous:!1,name:"SetMaxPlatformFee",inputs:[{type:"uint256",name:"fee",indexed:!1}]},{type:"event",anonymous:!1,name:"SetPlatformFee",inputs:[{type:"uint256",name:"fee",indexed:!1}]},{type:"event",anonymous:!1,name:"MultiSwapped",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"address",name:"recipient",indexed:!1},{type:"tuple[]",name:"swapInfo",indexed:!1,components:[{type:"address",name:"dex"},{type:"address",name:"fromToken"},{type:"address",name:"toToken"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"leftOverFromAmount"},{type:"uint256",name:"returnToAmount"}]}]},{type:"event",anonymous:!1,name:"Swapped",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"address",name:"recipient",indexed:!1},{type:"tuple",name:"swapInfo",indexed:!1,components:[{type:"address",name:"dex"},{type:"address",name:"fromToken"},{type:"address",name:"toToken"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"leftOverFromAmount"},{type:"uint256",name:"returnToAmount"}]}]},{type:"event",anonymous:!1,name:"SwappedSingleToken",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"address",name:"recipient",indexed:!1},{type:"tuple",name:"swapInfo",indexed:!1,components:[{type:"address",name:"dex"},{type:"address",name:"fromToken"},{type:"address",name:"toToken"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"leftOverFromAmount"},{type:"uint256",name:"returnToAmount"}]}]},{type:"event",anonymous:!1,name:"BridgeTransferStarted",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"tuple",name:"bridgeData",indexed:!1,components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]}]},{type:"event",anonymous:!1,name:"MultiTokenBridgeTransferStarted",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"tuple[]",name:"bridgeData",indexed:!1,components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]}]},{type:"event",anonymous:!1,name:"SwapBridgeTransferStarted",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"tuple[]",name:"bridgeData",indexed:!1,components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]},{type:"tuple[]",name:"swapInfo",indexed:!1,components:[{type:"address",name:"dex"},{type:"address",name:"fromToken"},{type:"address",name:"toToken"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"leftOverFromAmount"},{type:"uint256",name:"returnToAmount"}]}]},{type:"event",anonymous:!1,name:"BatchBridgeTransferStart",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"tuple[]",name:"bridgeData",indexed:!1,components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]}]},{type:"event",anonymous:!1,name:"BatchSwapAndBridgeTransferStart",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"tuple[]",name:"bridgeData",indexed:!1,components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]},{type:"tuple[]",name:"swapInfo",indexed:!1,components:[{type:"address",name:"dex"},{type:"address",name:"fromToken"},{type:"address",name:"toToken"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"leftOverFromAmount"},{type:"uint256",name:"returnToAmount"}]}]},{type:"event",anonymous:!1,name:"GasZipBridgeTransferStarted",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"tuple",name:"gasZipData",indexed:!1,components:[{type:"bytes32",name:"recipient"},{type:"uint256",name:"destChains"},{type:"uint256",name:"depositAmount"}]}]},{type:"event",anonymous:!1,name:"GasZipSwapBridgeTransferStarted",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"tuple",name:"gasZipData",indexed:!1,components:[{type:"bytes32",name:"recipient"},{type:"uint256",name:"destChains"},{type:"uint256",name:"depositAmount"}]},{type:"tuple[]",name:"swapInfo",indexed:!1,components:[{type:"address",name:"dex"},{type:"address",name:"fromToken"},{type:"address",name:"toToken"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"leftOverFromAmount"},{type:"uint256",name:"returnToAmount"}]}]},{type:"function",name:"addressCanExecuteMethod",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"bytes4",name:"_selector"},{type:"address",name:"_executor"}],outputs:[{type:"bool"}]},{type:"function",name:"setBatchCanExecute",constant:!1,payable:!1,inputs:[{type:"bytes4[]",name:"_selector"},{type:"address[]",name:"_executor"},{type:"bool[]",name:"_canExecute"}],outputs:[]},{type:"function",name:"setCanExecute",constant:!1,payable:!1,inputs:[{type:"bytes4",name:"_selector"},{type:"address",name:"_executor"},{type:"bool",name:"_canExecute"}],outputs:[]},{type:"function",name:"addAggregatorsAndBridges",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_bridgeAddresses"}],outputs:[]},{type:"function",name:"getSelectorInfo",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_bridge"},{type:"bytes4",name:"_selector"}],outputs:[{type:"bool"},{type:"uint256"}]},{type:"function",name:"isBridgeWhitelisted",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_bridge"}],outputs:[{type:"bool"}]},{type:"function",name:"removeAggregatorsAndBridges",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_bridgeAddresses"}],outputs:[]},{type:"function",name:"updateSelectorInfo",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_bridgeAddresses"},{type:"bytes4[]",name:"_selectors"},{type:"uint256[]",name:"_offset"}],outputs:[]},{type:"function",name:"bridge",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_integrator"},{type:"tuple",name:"_bridgeData",components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]},{type:"tuple",name:"_genericData",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"uint256",name:"extraNative"},{type:"bytes",name:"permit"},{type:"bytes",name:"callData"}]}],outputs:[]},{type:"function",name:"bridgeMultipleTokens",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_integrator"},{type:"tuple[]",name:"_bridgeData",components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]},{type:"tuple[]",name:"_genericData",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"uint256",name:"extraNative"},{type:"bytes",name:"permit"},{type:"bytes",name:"callData"}]}],outputs:[]},{type:"function",name:"swapAndBridge",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_integrator"},{type:"tuple[]",name:"_bridgeData",components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]},{type:"tuple[]",name:"_swapData",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bytes",name:"swapCallData"},{type:"bytes",name:"permit"}]},{type:"tuple[]",name:"_genericData",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"uint256",name:"extraNative"},{type:"bytes",name:"permit"},{type:"bytes",name:"callData"}]}],outputs:[]},{type:"function",name:"addDex",constant:!1,payable:!1,inputs:[{type:"address",name:"_dex"}],outputs:[]},{type:"function",name:"batchAddDex",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_dexs"}],outputs:[]},{type:"function",name:"batchRemoveDex",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_dexs"}],outputs:[]},{type:"function",name:"batchSetFunctionApprovalBySignature",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_dexs"},{type:"bytes4[]",name:"_signatures"},{type:"bool[]",name:"_approval"}],outputs:[]},{type:"function",name:"isContractApproved",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_dex"}],outputs:[{type:"bool",name:"approved"}]},{type:"function",name:"isFunctionApproved",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_dex"},{type:"bytes4",name:"_signature"}],outputs:[{type:"bool",name:"approved"}]},{type:"function",name:"removeDex",constant:!1,payable:!1,inputs:[{type:"address",name:"_dex"}],outputs:[]},{type:"function",name:"setFunctionApprovalBySignature",constant:!1,payable:!1,inputs:[{type:"address",name:"_dex"},{type:"bytes4",name:"_signature"},{type:"bool",name:"_approval"}],outputs:[]},{type:"function",name:"diamondCut",constant:!1,payable:!1,inputs:[{type:"tuple[]",name:"_diamondCut",components:[{type:"address",name:"facetAddress"},{type:"uint8",name:"action"},{type:"bytes4[]",name:"functionSelectors"}]},{type:"address",name:"_init"},{type:"bytes",name:"_calldata"}],outputs:[]},{type:"function",name:"initialize",constant:!1,payable:!1,inputs:[{type:"address",name:"_permit2"},{type:"address",name:"_protocolFeeVault"},{type:"uint256",name:"_maxTokenFee"},{type:"uint256",name:"_maxFixedNativeFeeAmount"}],outputs:[]},{type:"function",name:"facetAddress",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"bytes4",name:"_functionSelector"}],outputs:[{type:"address",name:"facetAddress_"}]},{type:"function",name:"facetAddresses",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"address[]",name:"facetAddresses_"}]},{type:"function",name:"facetFunctionSelectors",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_facet"}],outputs:[{type:"bytes4[]",name:"facetFunctionSelectors_"}]},{type:"function",name:"facets",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"tuple[]",name:"facets_",components:[{type:"address",name:"facetAddress"},{type:"bytes4[]",name:"functionSelectors"}]}]},{type:"function",name:"supportsInterface",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"bytes4",name:"_interfaceId"}],outputs:[{type:"bool"}]},{type:"constructor",stateMutability:"payable",payable:!0,inputs:[{type:"address",name:"_contractOwner"},{type:"address",name:"_diamondCutFacet"}]},{type:"function",name:"calcFixedNativeFees",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_integrator"},{type:"uint8",name:"_feeType"}],outputs:[{type:"uint256",name:"fixedNativeFeeAmount"},{type:"uint256",name:"dzapShare"}]},{type:"function",name:"calcTokenFees",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_integrator"},{type:"uint8",name:"_feeType"},{type:"uint256",name:"_amount"}],outputs:[{type:"uint256",name:"totalFee"},{type:"uint256",name:"dzapShare"}]},{type:"function",name:"integratorFeeInfo",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_integrator"},{type:"uint8",name:"_feeType"}],outputs:[{type:"tuple",components:[{type:"uint256",name:"tokenFee"},{type:"uint256",name:"fixedNativeFeeAmount"},{type:"uint256",name:"dzapTokenShare"},{type:"uint256",name:"dzapFixedNativeShare"}]}]},{type:"function",name:"isIntegratorAllowed",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_integrator"}],outputs:[{type:"bool"}]},{type:"function",name:"maxFixedNativeFeeAmount",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"uint256",name:"_maxFixedNativeFee"}]},{type:"function",name:"maxTokenFee",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"uint256"}]},{type:"function",name:"protocolFeeVault",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"address"}]},{type:"function",name:"removeIntegrator",constant:!1,payable:!1,inputs:[{type:"address",name:"_integrator"}],outputs:[]},{type:"function",name:"setIntegratorInfo",constant:!1,payable:!1,inputs:[{type:"address",name:"_integrator"},{type:"uint8[]",name:"_feeTypes"},{type:"tuple[]",name:"_feeInfo",components:[{type:"uint256",name:"tokenFee"},{type:"uint256",name:"fixedNativeFeeAmount"},{type:"uint256",name:"dzapTokenShare"},{type:"uint256",name:"dzapFixedNativeShare"}]}],outputs:[]},{type:"function",name:"setProtocolFeeVault",constant:!1,payable:!1,inputs:[{type:"address",name:"_protocolFeeVault"}],outputs:[]},{type:"function",name:"owner",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"address",name:"owner_"}]},{type:"function",name:"transferOwnership",constant:!1,payable:!1,inputs:[{type:"address",name:"_newOwner"}],outputs:[]},{type:"function",name:"multiSwap",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_integrator"},{type:"address",name:"_recipient"},{type:"tuple[]",name:"_data",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bytes",name:"swapCallData"},{type:"bytes",name:"permit"}]}],outputs:[]},{type:"function",name:"multiSwapWithoutRevert",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_integrator"},{type:"address",name:"_recipient"},{type:"tuple[]",name:"_data",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bytes",name:"swapCallData"},{type:"bytes",name:"permit"}]}],outputs:[]},{type:"function",name:"swap",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_integrator"},{type:"address",name:"_recipient"},{type:"tuple",name:"_data",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bytes",name:"swapCallData"},{type:"bytes",name:"permit"}]}],outputs:[]},{type:"function",name:"swapErc20ToErc20",constant:!1,payable:!1,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_recipient"},{type:"tuple",name:"_data",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bytes",name:"swapCallData"},{type:"bytes",name:"permit"}]}],outputs:[]},{type:"function",name:"swapErc20ToNative",constant:!1,payable:!1,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_recipient"},{type:"tuple",name:"_data",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bytes",name:"swapCallData"},{type:"bytes",name:"permit"}]}],outputs:[]},{type:"function",name:"swapNativeToErc20",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_recipient"},{type:"tuple",name:"_data",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bytes",name:"swapCallData"},{type:"bytes",name:"permit"}]}],outputs:[]},{type:"function",name:"executeCallAndWithdraw",constant:!1,payable:!1,inputs:[{type:"address",name:"_callTo"},{type:"bytes",name:"_callData"},{type:"address",name:"_token"},{type:"address",name:"_to"},{type:"uint256",name:"_amount"}],outputs:[]},{type:"function",name:"withdraw",constant:!1,payable:!1,inputs:[{type:"address",name:"_token"},{type:"address",name:"_to"},{type:"uint256",name:"_amount"}],outputs:[]},{type:"function",name:"bridgeMultipleTokensViaTransfer",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_integrator"},{type:"tuple[]",name:"_bridgeData",components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]},{type:"tuple[]",name:"_transferData",components:[{type:"address",name:"transferTo"},{type:"bytes",name:"permit"}]}],outputs:[]},{type:"function",name:"bridgeViaTransfer",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_integrator"},{type:"tuple",name:"_bridgeData",components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]},{type:"tuple",name:"_transferData",components:[{type:"address",name:"transferTo"},{type:"bytes",name:"permit"}]}],outputs:[]},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"address",name:"_recipient",type:"address"},{components:[{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct SwapData[]",name:"_data",type:"tuple[]"}],name:"multiSwapAndTransfer",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"address",name:"_recipient",type:"address"},{components:[{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct SwapData[]",name:"_data",type:"tuple[]"}],name:"multiSwapAndTransferWithoutRevert",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"address",name:"_recipient",type:"address"},{components:[{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct SwapData",name:"_data",type:"tuple"}],name:"swapAndTransfer",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"address",name:"_recipient",type:"address"},{components:[{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct SwapData[]",name:"_data",type:"tuple[]"},{internalType:"bool[]",name:"_isDirectTransfer",type:"bool[]"}],name:"batchSwap",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{components:[{internalType:"string",name:"bridge",type:"string"},{internalType:"bytes",name:"to",type:"bytes"},{internalType:"bytes",name:"receiver",type:"bytes"},{internalType:"address",name:"from",type:"address"},{internalType:"bool",name:"hasSourceSwaps",type:"bool"},{internalType:"bool",name:"hasDestinationCall",type:"bool"},{internalType:"uint256",name:"minAmountIn",type:"uint256"},{internalType:"uint256",name:"destinationChainId",type:"uint256"}],internalType:"struct GenericBridgeData[]",name:"_bridgeData",type:"tuple[]"},{components:[{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"address",name:"transferTo",type:"address"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct TransferData[]",name:"_transferData",type:"tuple[]"}],name:"swapAndBridgeViaTransfer",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{components:[{internalType:"bytes32",name:"recipeint",type:"bytes32"},{internalType:"uint256",name:"destChains",type:"uint256"},{internalType:"uint256",name:"depositAmount",type:"uint256"}],internalType:"struct GasZipData",name:"_gasZipData",type:"tuple"}],name:"bridgeTokensViaGasZip",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"getGasZipRouter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getGasZipRouter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{components:[{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"bytes32",name:"recipeint",type:"bytes32"},{internalType:"uint256",name:"destChains",type:"uint256"},{internalType:"uint256",name:"depositAmount",type:"uint256"}],internalType:"struct GasZipData",name:"_gasZipData",type:"tuple"}],name:"swapAndBridgeTokensViaGasZip",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"RELAY_RECIEVER",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"RELAY_SOLVER",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{components:[{internalType:"string",name:"bridge",type:"string"},{internalType:"bytes",name:"to",type:"bytes"},{internalType:"bytes",name:"receiver",type:"bytes"},{internalType:"address",name:"from",type:"address"},{internalType:"bool",name:"hasSourceSwaps",type:"bool"},{internalType:"bool",name:"hasDestinationCall",type:"bool"},{internalType:"uint256",name:"minAmountIn",type:"uint256"},{internalType:"uint256",name:"destinationChainId",type:"uint256"}],internalType:"struct GenericBridgeData[]",name:"_bridgeData",type:"tuple[]"},{components:[{internalType:"bytes32",name:"requestId",type:"bytes32"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct RelayData[]",name:"_relayData",type:"tuple[]"}],name:"bridgeMultipleTokensViaRelay",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{components:[{internalType:"string",name