@dzapio/sdk 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/index.d.ts +1 -1
- package/dist/artifacts/ERC20Permit.d.ts +1 -1
- package/dist/artifacts/default/DZapCoreV2Abi.d.ts +2 -0
- package/dist/artifacts/default/index.d.ts +2 -1
- package/dist/artifacts/index.d.ts +2 -2
- package/dist/config/index.d.ts +36 -0
- package/dist/constants/chains.d.ts +1 -0
- package/dist/constants/contract.d.ts +2 -2
- package/dist/constants/erc20.d.ts +3 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/rpc.d.ts +1 -1
- package/dist/dZapClient/index.d.ts +27 -16
- package/dist/enums/index.d.ts +8 -0
- package/dist/index.d.ts +6 -3
- package/dist/index.js +1 -1
- package/dist/index.m.js +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/service/price/index.d.ts +1 -1
- package/dist/service/price/provider/coingecko/index.d.ts +1 -1
- package/dist/service/price/provider/defiLlama/index.d.ts +1 -1
- package/dist/service/price/types/IPriceProvider.d.ts +1 -1
- package/dist/transactionHandlers/generic.d.ts +2 -2
- package/dist/transactionHandlers/permit.d.ts +10 -8
- package/dist/transactionHandlers/trade.d.ts +7 -2
- package/dist/transactionHandlers/zap.d.ts +3 -3
- package/dist/types/chains.d.ts +1 -1
- package/dist/types/contract.d.ts +1 -1
- package/dist/types/index.d.ts +12 -13
- package/dist/types/wallet.d.ts +2 -0
- package/dist/types/zap/index.d.ts +1 -1
- package/dist/types/zap/path.d.ts +1 -1
- package/dist/types/zap/pool.d.ts +2 -1
- package/dist/types/zap/status.d.ts +3 -0
- package/dist/types/zap/step.d.ts +1 -1
- package/dist/utils/amount.d.ts +4 -4
- package/dist/utils/axios.d.ts +1 -1
- package/dist/utils/eip-5792/batchApproveTokens.d.ts +21 -0
- package/dist/utils/eip-5792/index.d.ts +3 -0
- package/dist/utils/eip-5792/isBatchTxnSupportedByWallet.d.ts +6 -0
- package/dist/utils/eip-5792/sendBatchCalls.d.ts +10 -0
- package/dist/utils/eip-5792/waitForBatchTransactionReceipt.d.ts +4 -0
- package/dist/utils/encodeApproveCall.d.ts +6 -0
- package/dist/utils/erc20.d.ts +8 -6
- package/dist/utils/errors.d.ts +2 -1
- package/dist/utils/index.d.ts +2 -3
- package/dist/utils/multicall.d.ts +4 -2
- package/dist/utils/permit/permit2Methods.d.ts +6 -5
- package/dist/utils/permit/permitMethods.d.ts +17 -9
- package/dist/utils/signTypedData.d.ts +3 -3
- package/dist/utils/tokens.d.ts +2 -2
- package/dist/utils/updateQuotes.d.ts +2 -2
- package/package.json +17 -3
- package/dist/config.d.ts +0 -5
package/dist/index.m.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
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=[{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"}],O=[{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"}],L=[{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:"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:"bridgeViaRelay",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"getRelayAddress",outputs:[{internalType:"address",name:"reciever",type:"address"},{internalType:"address",name:"solver",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:"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:"requestId",type:"bytes32"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct RelayData[]",name:"_relayData",type:"tuple[]"}],name:"swapAndBridgeViaRelay",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_srcToken",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"bridge",outputs:[],stateMutability:"nonpayable",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:"adapter",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct AdapterData[]",name:"_data",type:"tuple[]"}],name:"batchBridge",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:"adapter",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct AdapterData[]",name:"_data",type:"tuple[]"}],name:"batchSwapAndBridge",outputs:[],stateMutability:"payable",type:"function"}],Z=[{inputs:[{internalType:"address",name:"governor_",type:"address"},{internalType:"address",name:"wNative_",type:"address"},{internalType:"address",name:"feeVault_",type:"address"},{internalType:"address",name:"permit2_",type:"address"},{internalType:"uint256",name:"maxNoOfSwap_",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"HighFee",type:"error"},{inputs:[],name:"HighPlatformFeeRatio",type:"error"},{inputs:[],name:"InvalidAmount",type:"error"},{inputs:[],name:"InvalidBlankSwap",type:"error"},{inputs:[],name:"InvalidInterval",type:"error"},{inputs:[],name:"InvalidLength",type:"error"},{inputs:[],name:"InvalidMask",type:"error"},{inputs:[],name:"InvalidNativeAmount",type:"error"},{inputs:[],name:"InvalidNoOfSwaps",type:"error"},{inputs:[],name:"InvalidPermit",type:"error"},{inputs:[],name:"InvalidPermitData",type:"error"},{inputs:[],name:"InvalidPosition",type:"error"},{inputs:[],name:"InvalidRate",type:"error"},{inputs:[],name:"InvalidReturnAmount",type:"error"},{inputs:[],name:"InvalidSwapAmount",type:"error"},{inputs:[],name:"InvalidToken",type:"error"},{inputs:[],name:"NativeTransferFailed",type:"error"},{inputs:[],name:"NoAvailableSwap",type:"error"},{inputs:[],name:"NoChanges",type:"error"},{inputs:[],name:"NotWNative",type:"error"},{inputs:[],name:"SwapCallFailed",type:"error"},{inputs:[],name:"UnauthorizedCaller",type:"error"},{inputs:[],name:"UnauthorizedTokens",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"ZeroSwappedTokens",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"accounts",type:"address[]"}],name:"AdminAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"accounts",type:"address[]"}],name:"AdminRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"bytes1",name:"interval",type:"bytes1"}],name:"BlankSwapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"positionId",type:"uint256"},{indexed:!1,internalType:"bool",name:"isNative",type:"bool"}],name:"Created",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"finalIndex",type:"uint256"},{indexed:!1,internalType:"uint256",name:"noOfPositions",type:"uint256"},{indexed:!1,internalType:"bool[]",name:"isNative",type:"bool[]"}],name:"CreatedBatched",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"feeVault",type:"address"}],name:"FeeVaultUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"formerGov",type:"address"},{indexed:!0,internalType:"address",name:"newGov",type:"address"}],name:"GovernanceChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"positionId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"rate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"startingSwap",type:"uint256"},{indexed:!1,internalType:"uint256",name:"finalSwap",type:"uint256"},{indexed:!1,internalType:"bool",name:"isNative",type:"bool"}],name:"Modified",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"platformFeeRatio",type:"uint256"}],name:"PlatformFeeRatioUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"},{indexed:!1,internalType:"uint256",name:"positionId",type:"uint256"}],name:"PositionOwnerUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"accounts",type:"address[]"}],name:"SwapExecutorAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"accounts",type:"address[]"}],name:"SwapExecutorRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint32[]",name:"intervals",type:"uint32[]"},{indexed:!1,internalType:"uint256[]",name:"swapFee",type:"uint256[]"}],name:"SwapFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint32[]",name:"swapIntervals",type:"uint32[]"}],name:"SwapIntervalsAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint32[]",name:"swapIntervals",type:"uint32[]"}],name:"SwapIntervalsRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"noOfSwaps",type:"uint256"}],name:"SwapLimitUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"threshold",type:"uint256"}],name:"SwapThresholdUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"rewardRecipient",type:"address"},{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"swappedAmount",type:"uint256"},{internalType:"uint256",name:"receivedAmount",type:"uint256"},{internalType:"uint256",name:"reward",type:"uint256"},{internalType:"uint256",name:"fee",type:"uint256"},{internalType:"bytes1",name:"intervalsInSwap",type:"bytes1"}],indexed:!1,internalType:"struct SwapInfo[]",name:"swapInformation",type:"tuple[]"}],name:"Swapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint256",name:"positionId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"unswapped",type:"uint256"},{indexed:!1,internalType:"uint256",name:"swapped",type:"uint256"},{indexed:!1,internalType:"bool",name:"isNative",type:"bool"}],name:"Terminated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"tokens",type:"address[]"}],name:"TokensAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"tokens",type:"address[]"}],name:"TokensRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokensRescued",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint256",name:"positionId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"swapped",type:"uint256"},{indexed:!1,internalType:"bool",name:"isNative",type:"bool"}],name:"Withdrawn",type:"event"},{inputs:[],name:"BPS_DENOMINATOR",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_FEE",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_PLATFORM_FEE_RATIO",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"NATIVE_TOKEN",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes1",name:"",type:"bytes1"},{internalType:"uint256",name:"",type:"uint256"}],name:"accumRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"activeSwapIntervals",outputs:[{internalType:"bytes1",name:"",type:"bytes1"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"accounts_",type:"address[]"}],name:"addAdmins",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"tokens_",type:"address[]"}],name:"addAllowedTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"executor_",type:"address[]"}],name:"addSwapExecutors",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32[]",name:"swapIntervals_",type:"uint32[]"}],name:"addSwapIntervalsToAllowedList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"admins",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"allowedSwapIntervals",outputs:[{internalType:"bytes1",name:"",type:"bytes1"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"allowedTokens",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"data_",type:"bytes[]"}],name:"batchCall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from_",type:"address"},{internalType:"address",name:"to_",type:"address"},{internalType:"bytes1",name:"maskedInterval_",type:"bytes1"}],name:"blankSwap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newGov",type:"address"}],name:"changeGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint32",name:"swapInterval",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"noOfSwaps",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct CreatePositionDetails[]",name:"details_",type:"tuple[]"}],name:"createBatchPositions",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint32",name:"swapInterval",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"noOfSwaps",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct CreatePositionDetails",name:"details_",type:"tuple"}],name:"createPosition",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"feeVault",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"}],internalType:"struct Pair[]",name:"pairs_",type:"tuple[]"}],name:"getNextSwapInfo",outputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"swappedAmount",type:"uint256"},{internalType:"uint256",name:"receivedAmount",type:"uint256"},{internalType:"uint256",name:"reward",type:"uint256"},{internalType:"uint256",name:"fee",type:"uint256"},{internalType:"bytes1",name:"intervalsInSwap",type:"bytes1"}],internalType:"struct SwapInfo[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId_",type:"uint256"}],name:"getPositionDetails",outputs:[{components:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint32",name:"swapInterval",type:"uint32"},{internalType:"uint256",name:"rate",type:"uint256"},{internalType:"uint256",name:"swapsExecuted",type:"uint256"},{internalType:"uint256",name:"swapsLeft",type:"uint256"},{internalType:"uint256",name:"swapped",type:"uint256"},{internalType:"uint256",name:"unswapped",type:"uint256"}],internalType:"struct PositionInfo",name:"positionInfo",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"interval_",type:"uint32"}],name:"getSwapFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"governance",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxNoOfSwap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId_",type:"uint256"},{internalType:"uint256",name:"amount_",type:"uint256"},{internalType:"uint256",name:"noOfSwaps_",type:"uint256"},{internalType:"bool",name:"isIncrease_",type:"bool"},{internalType:"bool",name:"isNative_",type:"bool"},{internalType:"bytes",name:"permit_",type:"bytes"}],name:"modifyPosition",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"nextToNextTimeThreshold",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"platformFeeRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"accounts_",type:"address[]"}],name:"removeAdmins",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"tokens_",type:"address[]"}],name:"removeAllowedTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"executor_",type:"address[]"}],name:"removeSwapExecutors",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32[]",name:"swapIntervals_",type:"uint32[]"}],name:"removeSwapIntervalsFromAllowedList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"}],internalType:"struct Pair[]",name:"pairs_",type:"tuple[]"}],name:"secondsUntilNextSwap",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newVault_",type:"address"}],name:"setFeeVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"platformFeeRatio_",type:"uint256"}],name:"setPlatformFeeRatio",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32[]",name:"intervals_",type:"uint32[]"},{internalType:"uint256[]",name:"swapFee_",type:"uint256[]"}],name:"setSwapFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"executor",type:"address"},{internalType:"address",name:"tokenProxy",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturnAmount",type:"uint256"},{internalType:"bytes",name:"swapCallData",type:"bytes"}],internalType:"struct SwapDetails[]",name:"data_",type:"tuple[]"},{internalType:"address",name:"rewardRecipient_",type:"address"}],name:"swap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes1",name:"",type:"bytes1"},{internalType:"uint256",name:"",type:"uint256"}],name:"swapAmountDelta",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes1",name:"",type:"bytes1"}],name:"swapData",outputs:[{internalType:"uint256",name:"performedSwaps",type:"uint256"},{internalType:"uint256",name:"nextAmountToSwap",type:"uint256"},{internalType:"uint256",name:"nextToNextAmountToSwap",type:"uint256"},{internalType:"uint256",name:"lastSwappedAt",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"swapExecutors",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId_",type:"uint256"},{internalType:"address",name:"recipient_",type:"address"},{internalType:"bool",name:"isNative_",type:"bool"}],name:"terminatePosition",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"tokenMagnitude",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalCreatedPositions",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId_",type:"uint256"},{internalType:"address",name:"newOwner_",type:"address"}],name:"transferPositionOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"maxNoOfSwap_",type:"uint256"}],name:"updateMaxSwapLimit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"nextToNextTimeThreshold_",type:"uint256"}],name:"updateSwapTimeThreshold",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"userPositions",outputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes1",name:"swapIntervalMask",type:"bytes1"},{internalType:"uint256",name:"rate",type:"uint256"},{internalType:"uint256",name:"swapWhereLastUpdated",type:"uint256"},{internalType:"uint256",name:"startingSwap",type:"uint256"},{internalType:"uint256",name:"finalSwap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"wNative",outputs:[{internalType:"contract IWNative",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId_",type:"uint256"},{internalType:"address",name:"recipient_",type:"address"},{internalType:"bool",name:"isNative_",type:"bool"}],name:"withdrawPosition",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],q="0x0000000000000000000000000000000000000000",z=["0x0000000000000000000000000000000000001010","0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",q,"0x000000000000000000000000000000000000800A","11111111111111111111111111111111","0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000","EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c","0x000000000000000000000000000000000000aA09","0x2::sui::SUI","0x1::aptos_coin::AptosCoin","0x471EcE3750Da237f93B8E339c536989b8978a438"],V=n({id:995,name:"5ire",nativeCurrency:{decimals:18,name:"5ire",symbol:"5ire"},rpcUrls:{default:{http:["https://rpc.5ire.network"]}},blockExplorers:{default:{name:"5ire Scan",url:"https://5irescan.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:47416}}}),H=n({id:10242,name:"Arthera",nativeCurrency:{decimals:18,name:"AA",symbol:"AA"},rpcUrls:{default:{http:["https://rpc.arthera.net"]}},blockExplorers:{default:{name:"Arthera Scan",url:"https://explorer.arthera.net"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:4502791}}}),W=[].concat(Object.values(v),[V,H]).reduce(function(e,t){var n;return t.id?B({},e,((n={})[t.id]=t,n)):e},{}),G={batch:{wait:100},retryDelay:500},K=function(e){var t=e.rpcUrls,n=e.chainId,s=t&&Array.isArray(t)&&t.length>0;return a({chain:W[n],transport:r(s?t.map(function(e){return i(e,G)}):[i()])})},Y=function(e,t){return void 0===t&&(t=q),s(e)?z.includes(e)?t:o(e):e};function X(e){var t=e.destToken,n=e.destChainId,a=e.srcChainNativeAddress,r=e.destChainNativeAddress,i=void 0===r?q:r;return e.srcChainId+"_"+Y(e.srcToken,void 0===a?q:a)+"-"+n+"_"+Y(t,i)}BigInt(15),BigInt(10);var Q,J,$,ee=function(e){return e instanceof f},te=function(e){return"0x0000000000000000000000000000000000000000"===e},ne=function(e){switch(e){case D.trade:return L;case D.dca:return Z;default:throw new Error("Invalid Service")}},ae={EIP2612Permit:"EIP2612Permit",Permit2:"Permit2",AutoPermit:"AutoPermit"},re=B({},function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(-1!==t.indexOf(a))continue;n[a]=e[a]}return n}(ae,["EIP2612Permit"]),{Default:"Default"}),ie={name:"name",allowance:"allowance",approve:"approve",transfer:"transfer",transferFrom:"transferFrom",balanceOf:"balanceOf",decimals:"decimals",symbol:"symbol"},se="get",oe="post";"undefined"!=typeof process&&process.env&&(process.env.REACT_APP_ENV||process.env.NEXT_PUBLIC_APP_ENV||process,Q=process.env.REACT_APP_BASE_API_URL||process.env.NEXT_PUBLIC_BASE_API_URL||process.env.BASE_API_URL,J=process.env.REACT_APP_ZAP_API_URL||process.env.NEXT_PUBLIC_ZAP_API_URL||process.env.ZAP_API_URL,$=process.env.REACT_APP_DZAP_API_KEY||process.env.NEXT_PUBLIC_DZAP_API_KEY||process.env.DZAP_API_KEY);var pe=Q||"https://api.dzap.io",ue=J||"https://zap.dzap.io",de=$||void 0,ye=/*#__PURE__*/function(){function e(e){var t=this;this.axiosInstance=void 0,this.axiosInstance=b.create({baseURL:e}),this.axiosInstance.interceptors.response.use(function(e){return e},function(e){try{var n,a,r,i=function(t){return r?t:Promise.reject(e)},s=e.config;if(!s)return Promise.reject(e);s.retryCount=null!=(n=s.retryCount)?n:0,s.shouldRetry=null!=(a=s.shouldRetry)&&a;var o=function(){if(s.shouldRetry&&s.retryCount<2)return s.retryCount+=1,Promise.resolve(new Promise(function(e){return setTimeout(e,500)})).then(function(){var e=t.axiosInstance(s);return r=1,e})}();return Promise.resolve(o&&o.then?o.then(i):i(o))}catch(e){return Promise.reject(e)}})}return e.getInstance=function(t){return e.instances.has(t)||e.instances.set(t,new e(t)),e.instances.get(t).axiosInstance},e}();ye.instances=new Map;var me=ye.getInstance(pe+"/v1/"),le=ye.getInstance(ue+"/v1/"),ce=function(e){var t=e.endpoint,n=e.data,a=e.method,r=void 0===a?oe:a,i=e.cancelToken,s=e.shouldRetry,o=void 0!==s&&s;try{var p={method:r,url:t,data:r===se?void 0:n,params:r===se?n:void 0,headers:B({"Content-Type":"application/json"},de?{"x-api-key":de}:{}),cancelToken:i,shouldRetry:o};return Promise.resolve(me(p).then(function(e){return e.data}).catch(function(e){return Promise.reject(e)}))}catch(e){return Promise.reject(e)}},fe=function(e){var t=e.endpoint,n=e.data,a=e.method,r=void 0===a?oe:a,i=e.cancelToken,s=e.shouldRetry,o=void 0!==s&&s;try{var p={method:r,url:t,data:r===se?void 0:n,params:r===se?n:void 0,headers:B({"Content-Type":"application/json"},de?{"x-api-key":de}:{}),cancelToken:i,shouldRetry:o};return Promise.resolve(le(p).then(function(e){return e.data}).catch(function(e){return Promise.reject(e)}))}catch(e){return Promise.reject(e)}},Te="dZap",ve="defiLlama",be="coingecko",he=function(e,t){return!!t&&Object.values(t).some(function(t){return t.isEnabled&&t.nativeToken.contract===e})},ge=function(){var e=this;this.id=be,this.requiresChainConfig=!0,this.fetchNativePrice=function(e,t){try{if(!t||!t[e].isEnabled)return Promise.resolve(0);var n=t[e].coingecko;return n?Promise.resolve(ce({endpoint:(a=null==n?void 0:n.nativeTokenKey,"https://api.coingecko.com/api/v3/simple/price?ids="+a+"&vs_currencies=usd&include_last_updated_at=true"),method:se})).then(function(e){var t;return(null==(t=e[null==n?void 0:n.nativeTokenKey])?void 0:t.usd)||null}):Promise.resolve(0)}catch(e){return Promise.reject(e)}var a},this.fetchERC20Prices=function(e,t,n){try{if(!t.length||!n||!n[e].isEnabled)return Promise.resolve({});var a=n[e].coingecko;if(!a)return Promise.resolve({});var r=t.map(function(e){return ce({endpoint:(t=e,n=a.chainKey,"https://api.coingecko.com/api/v3/simple/token_price/"+n+"?contract_addresses="+t+"&vs_currencies=usd&include_last_updated_at=true"),method:se});var t,n});return Promise.resolve(Promise.allSettled(r)).then(function(e){return e.reduce(function(e,n,a){var r=t[a];if("fulfilled"===n.status){var i,s=null==(i=n.value[r.toLowerCase()])?void 0:i.usd;e[r]=void 0===s?null:s.toString()}else e[r]=null,console.error("Error fetching data for address "+r+":",n.reason);return e},{})})}catch(e){return Promise.reject(e)}},this.fetchPrices=function(t,n,a){return Promise.resolve(function(){try{var r=(i=n.filter(function(e){return!he(e,a)}),Promise.resolve(Promise.all([e.fetchERC20Prices(t,i,a),i.length!==n.length?e.fetchNativePrice(t,a):void 0])).then(function(e){var n=e[0],r=e[1];return a[t].isEnabled&&r&&(n[a[t].nativeToken.contract]=r.toString()),n}))}catch(e){return{}}var i;return r&&r.then?r.then(void 0,function(){return{}}):r}())}},Ae=/*#__PURE__*/function(){function e(){var e=this;this.id=ve,this.requiresChainConfig=!0,this.postProcess=function(e,t,n,a){var r=n[e].name;return r?t.reduce(function(e,t){var n=a.coins[r+":"+t];return n?(e[t]=n.price.toString(),e):(e[t]=null,e)},{}):{}},this.fetchPrices=function(t,n,a){return Promise.resolve(function(){try{var r=(s=e.preProcess(t,n,a)).length?Promise.resolve(ce({endpoint:(i=s,"https://coins.llama.fi/prices/current/"+i.join(",")),method:se})).then(function(r){return e.postProcess(t,n,a,r)}):{}}catch(e){return{}}var i,s;return r&&r.then?r.then(void 0,function(){return{}}):r}())}}return e.prototype.preProcess=function(e,t,n){var a=n[e];if(!a.isEnabled||null==a||!a.name)return[];var r=a.name,i=a.defiLlama;return t.map(function(e){return null!=i&&i.chainKey?he(e,n)?i.chainKey+":"+i.nativeTokenKey:i.chainKey+":"+e:r+":"+e})},e}(),we=function(e){return ce({endpoint:"/buildTx",data:e,method:oe})},Ie=function(e,t){return fe({endpoint:"/buildTx",data:e,method:oe,cancelToken:t})},Pe=function(){return ce({endpoint:"chains",data:{},method:se,shouldRetry:!0})},xe=function(e,t,n){return ce({endpoint:"token/tokens",data:{chainId:e,source:t,account:n},method:se,shouldRetry:!0})},Se=function(e,t,n,a,r){var i={tokenAddress:Array.isArray(e)?void 0:e,tokenAddresses:Array.isArray(e)?e.join(","):void 0,chainId:t,account:n,includeBalance:a,includePrice:r};return ce({endpoint:"token/details",data:i,method:se})},_e=function(){this.id=Te,this.requiresChainConfig=!1,this.fetchPrices=function(e,t){try{return Promise.resolve(function(n,a){try{var r=Promise.resolve(function(e,t){return ce({endpoint:"token/price",data:{tokenAddresses:e,chainId:t},method:se})}(t,e))}catch(e){return a(e)}return r&&r.then?r.then(void 0,a):r}(0,function(e){return console.error("Failed to fetch token price",e),{}}))}catch(e){return Promise.reject(e)}}},ke=/*#__PURE__*/function(){function e(){this.client=void 0,this.client=new h({checkperiod:10,deleteOnExpire:!0})}return e.set=function(e,t,n){null!=t&&this.instance.client.set(e,t,null!=n?n:0)},e.get=function(e){return this.instance.client.get(e)},e.delete=function(e){return this.instance.client.del(e)},e.flush=function(){this.instance.client.flushAll()},t=e,(n=[{key:"instance",get:function(){return e._instance||(e._instance=new e),e._instance}}])&&function(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,U(a.key),a)}}(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n}();ke._instance=void 0;const De="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function Ce(e,t,n){if(!e.s){if(n instanceof Me){if(!n.s)return void(n.o=Ce.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(Ce.bind(null,e,t),Ce.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var Me=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){var a=new e,r=this.s;if(r){var i=1&r?t:n;if(i){try{Ce(a,1,i(this.v))}catch(e){Ce(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?Ce(a,1,t?t(r):r):n?Ce(a,1,n(r)):Ce(a,2,r)}catch(e){Ce(a,2,e)}},a},e}();function Ee(e){return e instanceof Me&&1&e.s}var Fe=/*#__PURE__*/function(){function e(){this.providers=void 0,this.providers=this.initailizeProviders()}var t=e.prototype;return t.initailizeProviders=function(){return new Map([[Te,new _e],[ve,new Ae],[be,new ge]])},t.getPrices=function(e){var t=e.chainId,n=e.tokenAddresses,a=e.chainConfig,r=e.allowedSources,i=e.notAllowSources,s=void 0===i?[]:i;try{var o,p=function(){for(var e=[],t=0,n=Object.entries(c);t<n.length;t++){var a=n[t],r=a[0],i=a[1];null===i?e.push(r):l[r]=i}return e.length>0&&console.warn("Prices not found for tokens:",e),Object.keys(l).length>0&&ke.set(y,B({},m,l),900),B({},m,c)},u=this;if(!n||0===n.length)return console.warn("No token addresses provided"),Promise.resolve({});var d=u.getValidProviders({allowedSources:r,notAllowSources:s,chainConfig:a});if(0===d.length)return console.warn("No valid providers available based on the provided constraints"),Promise.resolve({});var y=function(e){return"tokenPrices_"+e}(t),m=ke.get(y)||{},l={},c={};n.forEach(function(e){null!=m&&m[e]||(c[e]=null)});var f=function(e,t,n){if("function"==typeof e[De]){var a,r,i,s=function(e){try{for(;!((a=o.next()).done||n&&n());)if((e=t(a.value))&&e.then){if(!Ee(e))return void e.then(s,i||(i=Ce.bind(null,r=new Me,2)));e=e.v}r?Ce(r,1,e):r=e}catch(e){Ce(r||(r=new Me),2,e)}},o=e[De]();if(s(),o.return){var p=function(e){try{a.done||o.return()}catch(e){}return e};if(r&&r.then)return r.then(p,function(e){throw p(e)});p()}return r}if(!("length"in e))throw new TypeError("Object is not iterable");for(var u=[],d=0;d<e.length;d++)u.push(e[d]);return function(e,t,n){var a,r,i=-1;return function s(o){try{for(;++i<e.length&&(!n||!n());)if((o=t(i))&&o.then){if(!Ee(o))return void o.then(s,r||(r=Ce.bind(null,a=new Me,2)));o=o.v}a?Ce(a,1,o):a=o}catch(e){Ce(a||(a=new Me),2,e)}}(),a}(u,function(e){return t(u[e])},n)}(d,function(e){var n=Object.keys(c).filter(function(e){return null===c[e]});if(0!==n.length)return Promise.resolve(e.fetchPrices(t,n,a)).then(function(e){u.updateTokensPrice(e,c)});o=1},function(){return o});return Promise.resolve(f&&f.then?f.then(p):p())}catch(e){return Promise.reject(e)}},t.getValidProviders=function(e){var t=e.allowedSources,n=e.notAllowSources,a=e.chainConfig;return Array.from(this.providers.values()).filter(function(e){var r,i,s=null==(r=null==t?void 0:t.includes(e.id))||r,o=null!=(i=null==n?void 0:n.includes(e.id))&&i,p=t?s&&!o:!o;return e.requiresChainConfig&&!a?(console.error("Provider "+e.id+" requires chainConfig but none was provided."),!1):p})},t.updateTokensPrice=function(e,t){Object.entries(e).forEach(function(e){var n=e[1];null!==n&&(t[e[0]]=n)})},e}(),Ne="BridgeCallFailed",Re=function(e){var n,a,r=e.error;if((null==r?void 0:r.code)===S.WalletRPCFailure||(null==r||null==(n=r.cause)?void 0:n.code)===S.WalletRPCFailure)return{error:r,errorMsg:"Too many requests, failure on user wallet",code:S.WalletRPCFailure,status:P.error};if((null==r?void 0:r.code)===S.UserRejectedRequest||(null==r||null==(a=r.cause)?void 0:a.code)===S.UserRejectedRequest)return{error:r,errorMsg:"Rejected by User",code:S.UserRejectedRequest,status:P.rejected};var i,s=r.shortMessage,o=(i=r.metaMessages[0].match(/Error: (\w+)/))?i[1]:null;if(o==Ne){var p=r.metaMessages[1];try{p=function(e){if(e.length<68)return e;var n="0x"+e.slice(10);return d(t("string"),n)[0]}(r.metaMessages[1].match(/\((.*?)\)/)[1])}catch(e){}s=Ne+" : "+p}else o&&(s=o);return{status:P.error,error:r,errorMsg:s,code:S.ContractExecutionError}},Be=function(){};Be.sendTransaction=function(e){var t=e.chainId,n=e.signer,a=e.from,r=e.to,i=e.data,s=e.value;try{return Promise.resolve(function(e,o){try{var p=ee(n)?(console.log("Using ethers signer."),Promise.resolve(n.sendTransaction({from:a,to:r,data:i,value:s})).then(function(e){return{status:P.success,code:S.Success,txnHash:e.hash}})):(console.log("Using viem walletClient."),Promise.resolve(n.sendTransaction({chain:W[t],account:a,to:r,data:i,value:BigInt(s)})).then(function(e){return{status:P.success,code:S.Success,txnHash:e}}))}catch(e){return o(e)}return p&&p.then?p.then(void 0,o):p}(0,function(e){return console.log({error:e}),Re({error:e})}))}catch(e){return Promise.reject(e)}};var Ue,je=((Ue={})[324]="0x0000000000225e31D15943971F47aD3022F714Fa",Ue[10242]="0x5Aeec43fF96b9B6c5a1dC1DAdA662ACE3c236C49",Ue[100]="0x5Aeec43fF96b9B6c5a1dC1DAdA662ACE3c236C49",Ue[8217]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ue[6001]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ue[996]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ue[14]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ue[8822]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ue[42766]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ue[5165]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ue[2741]="0x0000000000225e31D15943971F47aD3022F714Fa",Ue[232]="0x0000000000225e31D15943971F47aD3022F714Fa",Ue),Oe=[{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"}],Le=function(e){var t=e.signer,n=e.domain,a=e.message,r=e.types,i=e.account,s=e.primaryType;try{var o,p=ee(t)?Promise.resolve(t._signTypedData(n,r,a)).then(function(e){o=e}):Promise.resolve(t.signTypedData({account:i,domain:n,message:a,primaryType:s,types:r})).then(function(e){o=e});return Promise.resolve(p&&p.then?p.then(function(){return o}):o)}catch(e){return Promise.reject(e)}},Ze=function(e){var t=Math.floor(Date.now()/1e3);return BigInt(t+e)};function qe(e){var t;return null!=(t=je[e])?t:"0x000000000022D473030F116dDEE9F6B43aC78BA3"}var ze,Ve=[{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],He={Permit:[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},We=function(e){var t=e.address,n=e.chainId,a=e.rpcUrls,r=e.permitEIP2612DisabledTokens;try{if(null!=r&&r.some(function(e){return e.toLowerCase()===t.toLowerCase()}))return Promise.resolve({supportsPermit:!1});var i=l({abi:Ve,address:t,client:K({chainId:n,rpcUrls:a})});return Promise.resolve(Promise.allSettled([i.read.DOMAIN_SEPARATOR(),i.read.nonces([q]),i.read.version()])).then(function(e){var t=e[0],n=e[2];return"rejected"===t.status||"rejected"===e[1].status?{supportsPermit:!1}:{supportsPermit:!0,domainSeparator:t.value,version:"fulfilled"===n.status?n.value:void 0}})}catch(e){return Promise.reject(e)}};function Ge(e,t,n){if(!e.s){if(n instanceof Ke){if(!n.s)return void(n.o=Ge.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(Ge.bind(null,e,t),Ge.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var Ke=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){var a=new e,r=this.s;if(r){var i=1&r?t:n;if(i){try{Ge(a,1,i(this.v))}catch(e){Ge(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?Ge(a,1,t?t(r):r):n?Ge(a,1,n(r)):Ge(a,2,r)}catch(e){Ge(a,2,e)}},a},e}();function Ye(e){return e instanceof Ke&&1&e.s}var Xe=function(){};ze=Xe,Xe.generatePermitDataForToken=function(n){var a=n.token,r=n.isFirstToken,i=n.oneToMany,s=n.totalSrcAmount,o=n.chainId,p=n.rpcUrls,u=n.sender,d=n.spender,c=n.permitType,f=n.signer,v=n.service,b=n.permitEIP2612DisabledTokens;try{if(te(a.address))return Promise.resolve({status:P.success,code:S.Success,permitData:M,permitType:ae.EIP2612Permit});var h=i&&r?s:BigInt(a.amount);return Promise.resolve(We({address:a.address,chainId:o,rpcUrls:p,permitEIP2612DisabledTokens:b})).then(function(n){if(c===ae.EIP2612Permit||c===ae.AutoPermit&&n.supportsPermit){if(!n.supportsPermit)throw new Error("Token does not support EIP-2612 permits");return i&&!r?{status:P.success,code:S.Success,permitData:M,permitType:ae.EIP2612Permit}:Promise.resolve(function(n){var a=n.chainId,r=n.spender,i=n.account,s=n.token,o=n.signer,p=n.version,u=n.rpcUrls,d=n.amount,m=void 0===d?y:d,c=n.sigDeadline,f=void 0===c?Ze(F):c;try{return Promise.resolve(function(n,d){try{var y=(v=i,b=f,h=l({abi:Ve,address:c=s,client:K({chainId:a,rpcUrls:u})}),Promise.resolve(Promise.allSettled([h.read.name(),h.read.nonces([v])])).then(function(n){var i=n[0],s=n[1];if("rejected"===i.status||"rejected"===s.status)return{status:P.error,code:S.Error};var u=i.value,d=s.value;if(!u||Number.isNaN(Number(d)))throw new Error("Failed to retrieve token name or nonce");return Promise.resolve(Le({signer:o,domain:{name:u,version:p,chainId:a,verifyingContract:c},message:{owner:v,spender:r,value:m,nonce:d,deadline:b},types:He,account:v,primaryType:"Permit"})).then(function(n){var a=T.utils.splitSignature(n),i=T.utils.defaultAbiCoder.encode(["address","address","uint256","uint256","uint8","bytes32","bytes32"],[v,r,m,b,a.v,a.r,a.s]),s=e(t("uint8, bytes"),[I.PERMIT,i]);return{status:P.success,code:S.Success,permitData:s}})}))}catch(e){return d(e)}var c,v,b,h;return y&&y.then?y.then(void 0,d):y}(0,function(e){var t;return console.log("Error generating permit signature:",e),(null==e||null==(t=e.cause)?void 0:t.code)===S.UserRejectedRequest||(null==e?void 0:e.code)===S.UserRejectedRequest?{status:P.rejected,code:S.UserRejectedRequest}:{status:P.error,code:S.Error}}))}catch(e){return Promise.reject(e)}}({chainId:o,account:u,token:a.address,spender:d,amount:h,signer:f,rpcUrls:p,version:n.version||"1"})).then(function(e){return{status:e.status,code:e.code,permitData:e.permitData,permitType:ae.EIP2612Permit}})}return i&&!r?{status:P.success,code:S.Success,permitData:E,permitType:ae.Permit2}:Promise.resolve(function(n){var a=n.chainId,r=n.spender,i=n.service,s=n.account,o=n.token,p=n.signer,u=n.rpcUrls,d=n.amount,l=void 0===d?y:d,c=n.sigDeadline,f=void 0===c?Ze(F):c,T=n.expiration,v=void 0===T?m:T;try{return Promise.resolve(function(n,d){try{var y=(m=qe(a),c=K({chainId:a,rpcUrls:u}),Promise.resolve(c.readContract({address:m,abi:Oe,functionName:"allowance",args:[s,o,r]})).then(function(n){var u={details:{token:o,amount:l,expiration:v,nonce:n[2]},spender:r,sigDeadline:f};return Promise.resolve(Le({signer:p,domain:{chainId:a,name:"Permit2",verifyingContract:m},message:u,types:{PermitSingle:[{name:"details",type:"PermitDetails"},{name:"spender",type:"address"},{name:"sigDeadline",type:"uint256"}],PermitDetails:[{name:"token",type:"address"},{name:"amount",type:"uint160"},{name:"expiration",type:"uint48"},{name:"nonce",type:"uint48"}]},account:s,primaryType:"PermitSingle"})).then(function(n){var a=e(t("uint160 allowanceAmount, uint48 nonce, uint48 expiration, uint256 sigDeadline, bytes signature"),[BigInt(u.details.amount.toString()),Number(u.details.nonce.toString()),Number(u.details.expiration.toString()),BigInt(u.sigDeadline.toString()),n]),r=i===D.zap?w.PERMIT2:I.PERMIT2_APPROVE,s=e(t("uint8, bytes"),[r,a]);return{status:P.success,permitData:s,code:S.Success}})}))}catch(e){return d(e)}var m,c;return y&&y.then?y.then(void 0,d):y}(0,function(e){var t;return(null==e||null==(t=e.cause)?void 0:t.code)===S.UserRejectedRequest||(null==e?void 0:e.code)===S.UserRejectedRequest?{status:P.rejected,code:S.UserRejectedRequest,permitdata:null}:{status:P.error,code:e.code,permitData:null}}))}catch(e){return Promise.reject(e)}}({chainId:o,account:u,token:a.address,spender:d,amount:h,service:v,signer:f,rpcUrls:p})).then(function(e){return{status:e.status,code:e.code,permitData:e.permitData,permitType:ae.Permit2}})})}catch(e){return Promise.reject(e)}},Xe.signPermit=function(e){var t,n,a,r,i,s,o=e.chainId,p=e.tokens,u=e.rpcUrls,d=e.sender,y=e.signer,m=e.service,l=e.signatureCallback,c=e.spender,f=e.permitType,T=e.permitEIP2612DisabledTokens;try{var v,b=function(e){return v?e:{status:P.success,tokens:p,code:S.Success}};if(0===p.length)return Promise.resolve({status:P.success,code:S.Success,tokens:p});var h=p.length>1&&p[0].address===p[1].address,g=p.reduce(function(e,t){return e+BigInt(t.amount)},BigInt(0)),A=(t=p,n=function(e){var t=0===e;return Promise.resolve(ze.generatePermitDataForToken({token:p[e],isFirstToken:t,oneToMany:h,totalSrcAmount:g,chainId:o,rpcUrls:u,sender:d,spender:c,permitType:f,signer:y,service:m,permitEIP2612DisabledTokens:T})).then(function(n){var a=n.status,r=n.permitData,i=n.permitType;if(a!==P.success)return v=1,{status:a,code:n.code,tokens:p};p[e].permitData=r;var s=function(){if(l&&!te(p[e].address)){var n=h&&t?g:BigInt(p[e].amount);return Promise.resolve(l({permitData:r,srcToken:p[e].address,amount:n,permitType:i})).then(function(){})}}();return s&&s.then?s.then(function(){}):void 0})},a=function(){return v},s=-1,function e(o){try{for(;++s<t.length&&(!a||!a());)if((o=n(s))&&o.then){if(!Ye(o))return void o.then(e,i||(i=Ge.bind(null,r=new Ke,2)));o=o.v}r?Ge(r,1,o):r=o}catch(e){Ge(r||(r=new Ke),2,e)}}(),r);return Promise.resolve(A&&A.then?A.then(b):b(A))}catch(e){return Promise.reject(e)}};var Qe=function(){};Qe.buildAndSendTransaction=function(e){var t=e.request,n=e.signer,a=e.txnData;try{return Promise.resolve(function(e,r){try{var i=function(){function e(){var e=r.data,t=r.from,a=r.to,s=r.value,o=r.gasLimit,p=r.additionalInfo,u=r.updatedQuotes;return ee(n)?(console.log("Using ethers signer."),Promise.resolve(n.sendTransaction({from:t,to:a,data:e,value:s,gasLimit:o})).then(function(e){return{status:P.success,code:S.Success,txnHash:e.hash,additionalInfo:p,updatedQuotes:u}})):(console.log("Using viem walletClient."),Promise.resolve(n.sendTransaction({chain:W[i],account:t,to:a,data:e,value:BigInt(s)})).then(function(e){return{status:P.success,code:S.Success,txnHash:e,additionalInfo:p}}))}var r,i=t.fromChain,s=function(){if(!a)return Promise.resolve(we(t)).then(function(e){r=e});r=a}();return s&&s.then?s.then(e):e()}()}catch(e){return r(e)}return i&&i.then?i.then(void 0,r):i}(0,function(e){var t,n,a,r,i,s,o,p,u;return console.log({error:e}),function(e){return Boolean(e)&&e.isAxiosError}(e)?(null==e||null==(t=e.response)?void 0:t.status)===S.SimulationFailure?{status:P.error,errorMsg:"Simulation Failed",error:(null==(o=e.response)?void 0:o.data).message,code:(null==(p=e.response)?void 0:p.data).code,action:(null==(u=e.response)?void 0:u.data).action}:{status:P.error,errorMsg:"Params Failed: "+JSON.stringify(null==e||null==(n=e.response)||null==(n=n.data)?void 0:n.message),error:null!=(a=null==e||null==(r=e.response)?void 0:r.data)?a:e,code:null!=(i=null==e||null==(s=e.response)?void 0:s.status)?i:S.Error}:Re({error:e})}))}catch(e){return Promise.reject(e)}};var Je,$e={execute:"execute"};function et(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function tt(e,t,n){if(!e.s){if(n instanceof at){if(!n.s)return void(n.o=tt.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(tt.bind(null,e,t),tt.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var nt=function(){};const at=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){const a=new e,r=this.s;if(r){const e=1&r?t:n;if(e){try{tt(a,1,e(this.v))}catch(e){tt(a,2,e)}return a}return this}return this.o=function(e){try{const r=e.v;1&e.s?tt(a,1,t?t(r):r):n?tt(a,1,n(r)):tt(a,2,r)}catch(e){tt(a,2,e)}},a},e}();function rt(e){return e instanceof at&&1&e.s}function it(e,t,n){if(!e.s){if(n instanceof st){if(!n.s)return void(n.o=it.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(it.bind(null,e,t),it.bind(null,e,2));e.s=t,e.v=n;const a=e.o;a&&a(e)}}Je=nt,nt.execute=function(e){var t=e.chainId,n=e.txnData,a=e.signer;try{return Promise.resolve(et(function(){var e,r=n.callData,i=n.callTo,s=n.value,o=n.estimatedGas;return ee(a)?(console.log("Using ethers signer."),Promise.resolve(a.getAddress()).then(function(e){return Promise.resolve(a.sendTransaction({from:e,to:i,data:r,value:BigInt(s),gasLimit:BigInt(o)?BigInt(o):void 0})).then(function(e){return{status:P.success,code:S.Success,txnHash:e.hash}})})):(console.log("Using viem walletClient."),Promise.resolve(a.sendTransaction({chain:W[t],account:null==(e=a.account)?void 0:e.address,to:n.callTo,data:n.callData,value:BigInt(n.value)})).then(function(e){return{status:P.success,code:S.Success,txnHash:e}}))},function(e){return console.log({error:e}),Re({error:e})}))}catch(e){return Promise.reject(e)}},nt.approve=function(e){var t=e.chainId,n=e.data,a=e.signer;try{return Promise.resolve(et(function(){var e=n.callData,r=n.callTo,i=n.value,s=n.estimatedGas,o=K({chainId:t,rpcUrls:void 0});return Promise.resolve(o.getBlockNumber()).then(function(o){return console.log("block Number and data"),console.dir(B({blockNumber:o},n),{depth:null}),ee(a)?(console.log("Using ethers signer."),Promise.resolve(a.getAddress()).then(function(t){return Promise.resolve(a.sendTransaction({from:t,to:r,data:e,value:BigInt(i),gasLimit:BigInt(s)?BigInt(s):void 0})).then(function(e){return{status:P.success,code:S.Success,txnHash:e.hash}})})):(console.log("Using viem walletClient."),Promise.resolve(a.sendTransaction({chain:W[t],account:null==(p=a.account)?void 0:p.address,to:n.callTo,data:n.callData,value:BigInt(n.value)})).then(function(e){return{status:P.success,code:S.Success,txnHash:e}}));var p})},function(e){return console.log({error:e}),Re({error:e})}))}catch(e){return Promise.reject(e)}},nt.zap=function(e){var t=e.request,n=e.steps,a=e.signer;try{var r;return Promise.resolve(et(function(){function e(e){var t,s;if(r)return e;function o(e){return t?e:{status:P.success,code:S.Success,txnHash:s}}var p,u,d,y,m,l,c=(p=n,u=function(e){var r=n[e];return function(){if(r.action===$e.execute)return Promise.resolve(Je.execute({chainId:i,txnData:r.data,signer:a})).then(function(e){if(e.status!==P.success)return t=1,e;s=e.txnHash})}()},d=function(){return t},l=-1,function e(t){try{for(;++l<p.length&&(!d||!d());)if((t=u(l))&&t.then){if(!rt(t))return void t.then(e,m||(m=tt.bind(null,y=new at,2)));t=t.v}y?tt(y,1,t):y=t}catch(e){tt(y||(y=new at),2,e)}}(),y);return c&&c.then?c.then(o):o(c)}var i=t.srcChainId,s=function(){if(!n||0===n.length)return Promise.resolve(Ie(t)).then(function(e){if(!(n=e.data.steps)||0===n.length)return r=1,{status:P.error,code:S.FunctionNotFound,errorMsg:"No steps found in the zap route."}})}();return s&&s.then?s.then(e):e(s)},function(e){return console.log({error:e}),Re({error:e})}))}catch(e){return Promise.reject(e)}};var st=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){var a=new e,r=this.s;if(r){var i=1&r?t:n;if(i){try{it(a,1,i(this.v))}catch(e){it(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?it(a,1,t?t(r):r):n?it(a,1,n(r)):it(a,2,r)}catch(e){it(a,2,e)}},a},e}();function ot(e){return e instanceof st&&1&e.s}var pt=function(e,t,n){return t?new g(u(BigInt(e),t)).mul(n||0).toFixed(5):"0"},ut=function(e){var t=new g(function(e){return e.fee.gasFee.reduce(function(e,t){return t.included?e:e.plus(t.amountUSD||"0")},new g(0)).toFixed(5)}(e));return e.fee.providerFee.forEach(function(e){e.included||(t=t.plus(new g(e.amountUSD||"0")))}),new g(e.destAmountUSD||"0").minus(t).toFixed(5)},dt=function(e,t){var n=!1,a=function(e,a,r,i,s){var o,p=(null==(o=t[a])?void 0:o[r])||"0";return e.amountUSD&&0!==parseFloat(e.amountUSD)?e.amountUSD:(n=!1===e.included,pt(i,s,p))},r=function(e){return e.map(function(e){return B({},e,{amountUSD:a(e,e.chainId,e.address,e.amount,e.decimals)})})},i={gasFee:r(e.gasFee),providerFee:r(e.providerFee),protocolFee:r(e.protocolFee)};return{isUpdated:n,fee:i}},yt=function(e,t){return e.path.map(function(n){return B({},n,{fee:dt(n.fee,t).fee,srcAmountUSD:e.srcAmountUSD,destAmountUSD:e.destAmountUSD})})},mt=/*#__PURE__*/function(){function e(e){this.cancelTokenSource=null,this.priceService=void 0,this.rpcUrlsByChainId={},this.priceService=new Fe,e&&(this.rpcUrlsByChainId=e)}e.getInstance=function(t){return e.instance||(e.instance=new e(t)),e.instance},e.getChainConfig=function(){try{var t=function(){return e.chainConfig},n=function(){if(!e.chainConfig)return Promise.resolve(Pe()).then(function(t){var n={};t.forEach(function(e){n[e.chainId]||(n[e.chainId]=e)}),e.chainConfig=n})}();return Promise.resolve(n&&n.then?n.then(t):t())}catch(e){return Promise.reject(e)}},e.getDZapAbi=function(e){return ne(e)};var t=e.prototype;return t.getTradeQuotes=function(t){try{var n=this;return Promise.resolve(function(e){return ce({endpoint:"/quotes",data:e,method:oe,shouldRetry:!0})}(t)).then(function(a){return Promise.resolve(e.getChainConfig()).then(function(e){return null===e?a:function(e,t,n,a){try{var r={};return Object.values(e).forEach(function(e){e.tokensWithoutPrice&&Object.entries(e.tokensWithoutPrice).forEach(function(e){var t=e[1],n=Number(e[0]);r[n]||(r[n]=new Set),t.forEach(function(e){return r[n].add(e)})})}),0===Object.keys(r).length?Promise.resolve(e):Promise.resolve(Promise.all(Object.entries(r).map(function(e){var t=e[0],r=e[1];try{var i=Number(t),s=Array.from(r);return Promise.resolve(n.getPrices({chainId:i,tokenAddresses:s,chainConfig:a,notAllowSources:[Te]})).then(function(e){return[i,e]})}catch(e){return Promise.reject(e)}}))).then(function(n){for(var a=Object.fromEntries(n),r=0,i=Object.values(e);r<i.length;r++){var s=i[r];if(s.quoteRates&&Object.keys(s.quoteRates).length){for(var o=!0,p=function(){var e=d[u],n=t.data.find(function(t){return t.srcToken===e.srcToken.address&&t.destToken===e.destToken.address});if(!n)return 1;var r=n.srcDecimals,i=n.destDecimals,s=n.toChain;if(!Number(e.srcAmountUSD)){var p;o=!1;var y=(null==(p=a[t.fromChain])?void 0:p[e.srcToken.address])||"0";e.srcAmountUSD=pt(e.srcAmount,r,y)}if(!Number(e.destAmountUSD)){var m;o=!1;var l=(null==(m=a[s])?void 0:m[e.destToken.address])||"0";e.destAmountUSD=pt(e.destAmount,i,l)}if(Number(e.srcAmountUSD)&&Number(e.destAmountUSD)){var c=new g(e.destAmountUSD).minus(e.srcAmountUSD).div(e.srcAmountUSD).mul(100);e.priceImpactPercent=c.toFixed(2)}var f=dt(e.fee,a);o=o&&!f.isUpdated,e.fee=f.fee,e.path=yt(e,a)},u=0,d=Object.values(s.quoteRates);u<d.length;u++)p();0!==Object.keys(s.tokensWithoutPrice).length&&!1===o&&(s.quoteRates=Object.fromEntries(Object.entries(s.quoteRates).sort(function(e,t){var n=t[1],a=ut(e[1]),r=ut(n);return Number(r)-Number(a)})),s.recommendedSource=Object.keys(s.quoteRates)[0])}}return e})}catch(e){return Promise.reject(e)}}(a,t,n.priceService,e)})})}catch(e){return Promise.reject(e)}},t.buildTradeTxn=function(e){try{return Promise.resolve(we(e))}catch(e){return Promise.reject(e)}},t.getTradeTxnStatus=function(e){return function(e){return ce({endpoint:"/status",data:{txHash:e.txHash,txIds:e.txIds,chainId:e.chainId},method:se})}({txHash:e.txHash,txIds:e.txIds,chainId:e.chainId})},t.getAllSupportedChains=function(){return Pe()},t.getAllTokens=function(t,n,a){try{var r=this;return Promise.resolve(function(i,s){try{var o=Promise.resolve(Promise.allSettled([xe(t,n,a),e.getChainConfig()])).then(function(e){var n=e[0],a=e[1],i="fulfilled"===n.status?n.value:{},s="fulfilled"===a.status?a.value:null;return s?Promise.resolve(function(e,t,n,a){try{return Promise.resolve(function(r,i){try{var s=0===(o=Object.values(e).filter(function(e){var t=e.price;return(!t||"0"===t)&&"0"!==e.balance}).map(function(e){return e.contract})).length?e:Promise.resolve(a.getPrices({chainId:t,tokenAddresses:o,chainConfig:n,notAllowSources:[Te]})).then(function(t){return o.forEach(function(n){e[n].price=t[n]||e[n].price,e[n].balanceInUsd=t[n]?parseFloat(t[n])*parseFloat(u(BigInt(e[n].balance),e[n].decimals)):null}),r=(n=Object.entries(e).reduce(function(e,t){var n=t[0],a=t[1];return null!==a.balanceInUsd?e.withBalanceInUsd.push([n,a]):e.withoutBalanceInUsd.push([n,a]),e},{withBalanceInUsd:[],withoutBalanceInUsd:[]})).withoutBalanceInUsd,(a=n.withBalanceInUsd).sort(function(e,t){return t[1].balanceInUsd-e[1].balanceInUsd}),Object.fromEntries([].concat(a,r));var n,a,r})}catch(e){return i(e)}var o;return s&&s.then?s.then(void 0,i):s}(0,function(t){return console.error("Error fetching token prices:",t),e}))}catch(e){return Promise.reject(e)}}(i,t,s,r.priceService)):i})}catch(e){return s(e)}return o&&o.then?o.then(void 0,s):o}(0,function(e){return console.error("Error fetching or updating tokens:",e),{}}))}catch(e){return Promise.reject(e)}},t.getTokenDetails=function(e,t,n,a,r){try{return Promise.resolve(Se(e,t,n,a,r))}catch(e){return Promise.reject(e)}},t.getTokensDetails=function(e,t,n,a,r){try{return Promise.resolve(Se(e,t,n,a,r))}catch(e){return Promise.reject(e)}},t.getTokenPrices=function(t,n){try{var a=this;return Promise.resolve(e.getChainConfig()).then(function(e){return Promise.resolve(a.priceService.getPrices({chainId:n,tokenAddresses:t,chainConfig:e}))})}catch(e){return Promise.reject(e)}},t.trade=function(e){var t=e.request,n=e.signer,a=e.txnData;try{return Promise.resolve(Qe.buildAndSendTransaction({request:t,signer:n,txnData:a}))}catch(e){return Promise.reject(e)}},t.sendTransaction=function(e){var t=e.signer,n=e.txnData;try{return Promise.resolve(Be.sendTransaction(B({signer:t},n)))}catch(e){return Promise.reject(e)}},t.decodeTxnData=function(t){var n=t.data,a=t.service,r=t.chainId;try{return Promise.resolve(e.getChainConfig()).then(function(e){if(null===e||null==(null==e?void 0:e[r]))throw new Error("Chains config not found");return function(e,t,n){var a,r,i=[],s=ne(t);try{i=p({abi:s,logs:e.logs})}catch(e){i=[]}var o=null==(r=(i=null==(a=i)?void 0:a.filter(function(e){return null!==e}))[0])?void 0:r.args,u=[],d=[];if(Array.isArray(null==o?void 0:o.swapInfo))d=o.swapInfo.map(function(e){var t,a,r,i;return BigInt(e.returnToAmount)!==BigInt(0)&&BigInt(e.fromAmount)!==BigInt(0)||u.push(X({srcToken:e.fromToken,destToken:e.toToken,srcChainId:n.chainId,destChainId:n.chainId,srcChainNativeAddress:null==n||null==(r=n.nativeToken)?void 0:r.contract,destChainNativeAddress:null==n||null==(i=n.nativeToken)?void 0:i.contract})),B({},e,{fromToken:Y(e.fromToken,null==n||null==(t=n.nativeToken)?void 0:t.contract),toToken:Y(e.toToken,null==n||null==(a=n.nativeToken)?void 0:a.contract)})});else if("object"==typeof(null==o?void 0:o.swapInfo)&&Object.keys(null==o?void 0:o.swapInfo).length>0){var y,m,l,c,f=o.swapInfo,T=f.fromAmount,v=f.fromToken,b=f.toToken;BigInt(f.returnToAmount)!==BigInt(0)&&BigInt(T)!==BigInt(0)||u.push(X({srcToken:v,destToken:b,srcChainId:n.chainId,destChainId:n.chainId,srcChainNativeAddress:null==n||null==(l=n.nativeToken)?void 0:l.contract,destChainNativeAddress:null==n||null==(c=n.nativeToken)?void 0:c.contract})),d=B({},o.swapInfo,{fromToken:Y(o.swapInfo.fromToken,null==n||null==(y=n.nativeToken)?void 0:y.contract),toToken:Y(o.swapInfo.toToken,null==n||null==(m=n.nativeToken)?void 0:m.contract)})}return{swapInfo:d,swapFailPairs:u}}(n,a,e[r])})}catch(e){return Promise.reject(e)}},t.calculatePoints=function(e){try{return Promise.resolve(function(e){return ce({endpoint:"user/calculatePoints",data:e,method:oe})}(e))}catch(e){return Promise.reject(e)}},t.getDZapContractAddress=function(t){var n=t.chainId,a=t.service;try{return Promise.resolve(e.getChainConfig()).then(function(e){var t;if(!e[n].isEnabled||!e)throw new Error("Chains config not found");var r=e[n];if(null==r||!r.contracts)throw new Error("No contracts found for chain: "+n);var i=((t={})[D.trade]=r.contracts.router,t[D.dca]=r.contracts.dca,t[D.zap]=r.contracts.zap,t)[a];if(!i)throw new Error('Contract not found for service "'+a+'" on chain: '+n);return i})}catch(e){return Promise.reject(e)}},t.getAllowance=function(t){var n=t.chainId,a=t.sender,r=t.tokens,i=t.service,s=t.rpcUrls,o=t.spender,p=t.mode,u=void 0===p?re.AutoPermit:p;try{var d=this;return Promise.resolve(e.getChainConfig()).then(function(e){function t(t){var i;return Promise.resolve(function(e){var t=e.chainId,n=e.sender,a=e.tokens,r=e.rpcUrls,i=e.mode,s=void 0===i?re.Default:i,o=e.spender,p=e.permitEIP2612DisabledTokens;try{var u={},d=a.filter(function(e){return te(e.address)}),m=a.filter(function(e){return!te(e.address)});return Promise.resolve(Promise.all(m.map(function(e){var n=e.address,a=e.amount;try{var i,u=function(e){return i?e:{token:n,spender:o,amount:a}},d=function(){if(s===re.Permit2){var e=qe(t);return i=1,{token:n,spender:e,amount:a}}return function(){if(s===re.AutoPermit)return Promise.resolve(We({address:n,chainId:t,rpcUrls:r,permitEIP2612DisabledTokens:p})).then(function(e){var r={token:n,spender:e.supportsPermit?o:qe(t),amount:a,isEIP2612PermitSupported:e.supportsPermit};return i=1,r})}()}();return Promise.resolve(d&&d.then?d.then(u):u(d))}catch(e){return Promise.reject(e)}}))).then(function(e){for(var a,i=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,t){if(e){if("string"==typeof e)return R(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?R(e,t):void 0}}(e))){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(d);!(a=i()).done;)u[a.value.address]={allowance:y,approvalNeeded:!1,signatureNeeded:!1};return 0===m.length?{status:P.success,code:S.Success,data:u}:function(a,i){try{var o=Promise.resolve(function(e){var t=e.chainId,n=e.data,a=e.owner,r=e.rpcUrls;try{var i=n.map(function(e){return{address:e.token,abi:O,functionName:ie.allowance,args:[a,e.spender]}});return Promise.resolve(function(e){var t=e.chainId,n=e.contracts,a=e.rpcUrls,r=e.allowFailure,i=void 0!==r&&r;try{return Promise.resolve(function(e,r){try{var s=(o=K({chainId:t,rpcUrls:a}),Promise.resolve(o.multicall({contracts:n,allowFailure:i})).then(function(e){return{status:P.success,code:S.Success,data:e}}))}catch(e){return r(e)}var o;return s&&s.then?s.then(void 0,r):s}(0,function(e){return console.error("Multicall failed:",e),{status:P.error,code:e.code||S.Error,data:[]}}))}catch(e){return Promise.reject(e)}}({chainId:t,contracts:i,rpcUrls:r,allowFailure:!1})).then(function(e){var t=e.status,a=e.code,r=e.data;if(t!==P.success)return{status:t,code:a,data:{}};for(var i={},s=0;s<n.length;s++)i[n[s].token]=r[s];return{status:t,code:a,data:i}})}catch(e){return Promise.reject(e)}}({chainId:t,data:e,owner:n,rpcUrls:r})).then(function(t){for(var n=t.data,a=0;a<e.length;a++){var r=e[a],i=r.token,o=r.isEIP2612PermitSupported,p=o?y:n[i];u[i]={allowance:p,approvalNeeded:!o&&p<r.amount,signatureNeeded:s===re.Permit2||s===re.AutoPermit}}return{status:P.success,code:S.Success,data:u}})}catch(e){return i(e)}return o&&o.then?o.then(void 0,i):o}(0,function(e){return console.error("Multicall allowance check failed:",e),{status:P.error,code:S.Error,data:u}})})}catch(e){return Promise.reject(e)}}({chainId:n,sender:a,tokens:r,rpcUrls:s||d.rpcUrlsByChainId[n],mode:u,spender:t,permitEIP2612DisabledTokens:null==(i=e[n].permitDisabledTokens)?void 0:i.eip2612}))}return o?t(o):Promise.resolve(d.getDZapContractAddress({chainId:n,service:i})).then(t)})}catch(e){return Promise.reject(e)}},t.approve=function(e){var t=e.chainId,n=e.signer,a=e.tokens,r=e.approvalTxnCallback,i=e.service,s=e.mode,o=void 0===s?re.AutoPermit:s,p=e.rpcUrls,u=e.spender;try{var d=function(e){return Promise.resolve(function(e){var t,n,a,r,i,s,o=e.chainId,p=e.signer,u=e.rpcUrls,d=e.mode,y=e.tokens,m=e.approvalTxnCallback,l=e.spender;try{var f,T=function(e){return f?e:{status:P.success,code:S.Success}};d!==re.AutoPermit&&d!==re.Permit2||(l=qe(o));var v=(t=y,n=function(e){function t(t){if(f)return t;if(n.code!==S.Success){var a,r={status:n.status,code:(null==(a=n)?void 0:a.code)||S.FunctionNotFound};return f=1,r}return function(){if(m)return Promise.resolve(m({txnDetails:n,address:y[e].address})).then(function(e){if(e&&e!==P.success){var t,a={status:n.status,code:(null==(t=n)?void 0:t.code)||S.Error};return f=1,a}})}()}var n={status:P.success,code:S.Success,txnHash:""},a=ee(p)?Promise.resolve(p.getAddress()).then(function(t){var n=c({abi:O,functionName:ie.approve,args:[l,y[e].amount]});return Promise.resolve(p.sendTransaction({from:t,chainId:o,to:y[e].address,data:n})).then(function(){return f=1,{status:P.success,code:S.Success}})}):Promise.resolve(function(e){var t=e.chainId,n=e.contractAddress,a=e.abi,r=e.functionName,i=e.args,s=void 0===i?[]:i,o=e.value,p=void 0===o?"0":o,u=e.rpcUrls,d=void 0===u?[""]:u,y=e.signer;try{var m=K({chainId:t,rpcUrls:d});return Promise.resolve(function(e,t){try{var i=Promise.resolve(m.simulateContract({address:n,abi:a,functionName:r,args:s,account:y.account,value:BigInt(p)})).then(function(e){return Promise.resolve(y.writeContract(e.request)).then(function(e){return{txnHash:e,status:P.success,code:S.Success}})})}catch(e){return t(e)}return i&&i.then?i.then(void 0,t):i}(0,function(e){return console.log({e:e}),(null==e?void 0:e.code)===S.UserRejectedRequest?{status:P.rejected,code:null==e?void 0:e.code,txnHash:""}:{status:P.error,code:null==e?void 0:e.code,txnHash:""}}))}catch(e){return Promise.reject(e)}}({chainId:o,contractAddress:y[e].address,abi:O,functionName:ie.approve,args:[l,y[e].amount],rpcUrls:u,signer:p})).then(function(e){n=e});return a&&a.then?a.then(t):t(a)},a=function(){return f},s=-1,function e(o){try{for(;++s<t.length&&(!a||!a());)if((o=n(s))&&o.then){if(!ot(o))return void o.then(e,i||(i=it.bind(null,r=new st,2)));o=o.v}r?it(r,1,o):r=o}catch(e){it(r||(r=new st),2,e)}}(),r);return Promise.resolve(v&&v.then?v.then(T):T(v))}catch(e){return Promise.reject(e)}}({chainId:t,signer:n,rpcUrls:p||y.rpcUrlsByChainId[t],tokens:a,approvalTxnCallback:r,mode:o,spender:e}))},y=this;return Promise.resolve(u?d(u):Promise.resolve(y.getDZapContractAddress({chainId:t,service:i})).then(d))}catch(e){return Promise.reject(e)}},t.sign=function(t){var n=t.chainId,a=t.sender,r=t.tokens,i=t.service,s=t.spender,o=t.rpcUrls,p=t.signer,u=t.permitType,d=void 0===u?ae.AutoPermit:u,y=t.signatureCallback;try{var m=function(t){return Promise.resolve(e.getChainConfig()).then(function(e){var s;return Promise.resolve(Xe.signPermit({chainId:n,sender:a,tokens:r,rpcUrls:o||l.rpcUrlsByChainId[n],service:i,signer:p,spender:t,permitType:d,signatureCallback:y,permitEIP2612DisabledTokens:null==(s=e[n].permitDisabledTokens)?void 0:s.eip2612}))})},l=this;return Promise.resolve(s?m(s):Promise.resolve(l.getDZapContractAddress({chainId:n,service:i})).then(m))}catch(e){return Promise.reject(e)}},t.zap=function(e){var t=e.request,n=e.steps,a=e.signer;try{return Promise.resolve(nt.zap({request:t,steps:n,signer:a}))}catch(e){return Promise.reject(e)}},t.buildZapTxn=function(e){try{var t=this;return t.cancelTokenSource&&t.cancelTokenSource.cancel("Cancelled due to new request"),t.cancelTokenSource=b.CancelToken.source(),Promise.resolve(Ie(e,t.cancelTokenSource.token)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},t.getZapQuote=function(e){try{var t=this;return t.cancelTokenSource&&t.cancelTokenSource.cancel("Cancelled due to new request"),t.cancelTokenSource=b.CancelToken.source(),Promise.resolve(function(e,t){return fe({endpoint:"/quote",data:e,method:oe,cancelToken:t})}(e,t.cancelTokenSource.token)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},t.getZapTxnStatus=function(e){try{return Promise.resolve(function(e){return fe({endpoint:"/status",data:e,method:se})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},t.getBalances=function(e,t){try{return Promise.resolve(function(e,t){return ce({endpoint:"token/balance-of",data:{chainId:e,account:t},method:se})}(e,t)).then(function(e){return e.result})}catch(e){return Promise.reject(e)}},t.getZapPositions=function(e){try{return Promise.resolve(function(e){return fe({endpoint:"/user/positions",data:e,method:se})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},t.getZapPools=function(e){try{return Promise.resolve(function(e){return fe({endpoint:"/pools",data:e,method:se})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},t.getZapPoolDetails=function(e){try{return Promise.resolve(function(e){return fe({endpoint:"/pool/details",data:e,method:se})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},t.getZapChains=function(){try{return Promise.resolve(fe({endpoint:"/config/chains",method:se})).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},t.getZapProviders=function(){try{return Promise.resolve(fe({endpoint:"/config/providers",method:se})).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},e}();mt.instance=void 0,mt.chainConfig=null,mt.getOtherAbi=function(e){return function(e){switch(e){case k.permit2:return j;case k.erc20:return O;default:throw new Error("Invalid Abi")}}(e)};var lt={swap:"swap",bridge:"bridge",deposit:"deposit",withdraw:"withdraw",stake:"stake",unstake:"unstake"};export{re as ApprovalModes,mt as DZapClient,k as OtherAbis,I as PermitType,ae as PermitTypes,C as QuoteFilters,_ as STATUS,D as Services,F as SignatureExpiryInSecs,S as StatusCodes,P as TxnStatus,We as checkEIP2612PermitSupport,N as contractErrorActions,ie as erc20Functions,Y as formatToken,X as getTokensPairKey,lt as zapPathAction,$e as zapStepAction};
|
|
1
|
+
import{encodeAbiParameters as e,parseAbiParameters as t,defineChain as n,createPublicClient as a,fallback as r,http as s,isAddress as i,getAddress as p,zeroAddress as o,parseEventLogs as u,formatUnits as d,decodeAbiParameters as y,maxUint256 as l,maxUint48 as m,encodeFunctionData as c,erc20Abi as T,withTimeout as f}from"viem";import{Signer as b,ethers as v}from"ethers";import*as h from"viem/chains";import g from"axios";import{sendCalls as A,waitForCallsStatus as w,getCapabilities as I}from"viem/actions";import{getAction as x}from"viem/utils";import _ from"decimal.js";var P,S,D,k,C,M,E,F;!function(e){e.production="production",e.development="development"}(P||(P={})),function(e){e[e.PERMIT=0]="PERMIT",e[e.PERMIT2=1]="PERMIT2"}(S||(S={})),function(e){e[e.PERMIT=0]="PERMIT",e[e.PERMIT2_TRANSFER_FROM=1]="PERMIT2_TRANSFER_FROM",e[e.PERMIT2_APPROVE=2]="PERMIT2_APPROVE"}(D||(D={})),function(e){e[e.PERMIT=0]="PERMIT",e[e.PERMIT2_APPROVE=1]="PERMIT2_APPROVE"}(k||(k={})),function(e){e.v1="v1",e.v2="v2"}(C||(C={})),function(e){e.mining="mining",e.success="success",e.rejected="rejected",e.error="error",e.reverted="reverted",e.pendingWalletConfirmation="pendingWalletConfirmation",e.partialSuccess="partialSuccess"}(M||(M={})),function(e){e.V1="v1",e.V1_2="v1.2",e.V2="v2"}(E||(E={})),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"}(F||(F={}));var N={pending:"pending",inProgress:"in-progress",success:"success",rejected:"rejected",error:"error"},B={permit2:"permit2",erc20:"erc20"},R={trade:"trade",dca:"dca",zap:"zap"},U={fastest:"fastest",best:"best",all:"all"},j=e(t("uint8, bytes"),[D.PERMIT,"0x"]),O=e(t("uint8, bytes"),[D.PERMIT2_APPROVE,"0x"]),V=1800,Z={TRY_ANOTHER_ROUTE:"TRY_ANOTHER_ROUTE",INCREASE_SLIPPAGE:"INCREASE_SLIPPAGE",INCREASE_ALLOWANCE:"INCREASE_ALLOWANCE"};function L(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 q(){return q=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},q.apply(null,arguments)}function z(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 W=[{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"}],H=[{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"}],G=[{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:"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:"bridgeViaRelay",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"getRelayAddress",outputs:[{internalType:"address",name:"reciever",type:"address"},{internalType:"address",name:"solver",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:"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:"requestId",type:"bytes32"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct RelayData[]",name:"_relayData",type:"tuple[]"}],name:"swapAndBridgeViaRelay",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_srcToken",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"bridge",outputs:[],stateMutability:"nonpayable",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:"adapter",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct AdapterData[]",name:"_data",type:"tuple[]"}],name:"batchBridge",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:"adapter",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct AdapterData[]",name:"_data",type:"tuple[]"}],name:"batchSwapAndBridge",outputs:[],stateMutability:"payable",type:"function"}],K=[{inputs:[],name:"CalldataEmptyButInitNotZero",type:"error"},{inputs:[],name:"FacetAddressIsNotZero",type:"error"},{inputs:[],name:"FacetAddressIsZero",type:"error"},{inputs:[],name:"FacetContainsNoCode",type:"error"},{inputs:[],name:"FunctionAlreadyExists",type:"error"},{inputs:[],name:"FunctionDoesNotExist",type:"error"},{inputs:[],name:"FunctionIsImmutable",type:"error"},{inputs:[],name:"IncorrectFacetCutAction",type:"error"},{inputs:[{internalType:"bytes",name:"reason",type:"bytes"}],name:"InitReverted",type:"error"},{inputs:[],name:"InitZeroButCalldataNotEmpty",type:"error"},{inputs:[],name:"NoSelectorsInFace",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"OnlyContractOwner",type:"error"},{anonymous:!1,inputs:[{components:[{internalType:"address",name:"facetAddress",type:"address"},{internalType:"enum IDiamondCut.FacetCutAction",name:"action",type:"uint8"},{internalType:"bytes4[]",name:"functionSelectors",type:"bytes4[]"}],indexed:!1,internalType:"struct IDiamondCut.FacetCut[]",name:"_diamondCut",type:"tuple[]"},{indexed:!1,internalType:"address",name:"_init",type:"address"},{indexed:!1,internalType:"bytes",name:"_calldata",type:"bytes"}],name:"DiamondCut",type:"event"},{inputs:[{components:[{internalType:"address",name:"facetAddress",type:"address"},{internalType:"enum IDiamondCut.FacetCutAction",name:"action",type:"uint8"},{internalType:"bytes4[]",name:"functionSelectors",type:"bytes4[]"}],internalType:"struct IDiamondCut.FacetCut[]",name:"_diamondCut",type:"tuple[]"},{internalType:"address",name:"_init",type:"address"},{internalType:"bytes",name:"_calldata",type:"bytes"}],name:"diamondCut",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"CannotAuthorizeSelf",type:"error"},{inputs:[{internalType:"address",name:"_protocolFeeVault",type:"address"},{internalType:"address",name:"_feeValidator",type:"address"},{internalType:"address",name:"_refundVault",type:"address"},{internalType:"address",name:"_permit2",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"_functionSelector",type:"bytes4"}],name:"facetAddress",outputs:[{internalType:"address",name:"facetAddress_",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"facetAddresses",outputs:[{internalType:"address[]",name:"facetAddresses_",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_facet",type:"address"}],name:"facetFunctionSelectors",outputs:[{internalType:"bytes4[]",name:"facetFunctionSelectors_",type:"bytes4[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"facets",outputs:[{components:[{internalType:"address",name:"facetAddress",type:"address"},{internalType:"bytes4[]",name:"functionSelectors",type:"bytes4[]"}],internalType:"struct IDiamondLoupe.Facet[]",name:"facets_",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"_interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"owner_",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"bytes4",name:"method",type:"bytes4"}],name:"ExecutionAllowed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"bytes4",name:"method",type:"bytes4"}],name:"ExecutionDenied",type:"event"},{inputs:[{internalType:"bytes4",name:"_selector",type:"bytes4"},{internalType:"address",name:"_executor",type:"address"}],name:"addressCanExecuteMethod",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4[]",name:"_selector",type:"bytes4[]"},{internalType:"address[]",name:"_executor",type:"address[]"},{internalType:"bool[]",name:"_canExecute",type:"bool[]"}],name:"setBatchCanExecute",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"_selector",type:"bytes4"},{internalType:"address",name:"_executor",type:"address"},{internalType:"bool",name:"_canExecute",type:"bool"}],name:"setCanExecute",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"ContractIsNotPaused",type:"error"},{inputs:[],name:"ContractIsPaused",type:"error"},{inputs:[],name:"UnAuthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"feeValidator",type:"address"}],name:"FeeValidatorUpdated",type:"event"},{anonymous:!1,inputs:[],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"protocolFeeVault",type:"address"}],name:"ProtocolFeeVaultUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"refundVault",type:"address"}],name:"RefundVaultUpdated",type:"event"},{anonymous:!1,inputs:[],name:"Unpaused",type:"event"},{inputs:[],name:"getFeeValidator",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"getNonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPermit2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getProtocolFeeVault",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getRefundVault",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeValidator",type:"address"}],name:"setFeeValidator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_protocolFeeVault",type:"address"}],name:"setProtocolFeeVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_refundVault",type:"address"}],name:"setRefundVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"adapter",type:"address"}],name:"AdapterNotWhitelisted",type:"error"},{inputs:[{internalType:"address",name:"bridge",type:"address"}],name:"BridgeNotWhitelisted",type:"error"},{inputs:[{internalType:"address",name:"dex",type:"address"}],name:"DexNotWhitelisted",type:"error"},{inputs:[],name:"NotAContract",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"adapter",type:"address"}],name:"AdapterAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"adapter",type:"address"}],name:"AdapterRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"adapters",type:"address[]"}],name:"AdaptersAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"adapters",type:"address[]"}],name:"AdaptersRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bridge",type:"address"}],name:"BridgeAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bridge",type:"address"}],name:"BridgeRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"bridges",type:"address[]"}],name:"BridgesAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"bridges",type:"address[]"}],name:"BridgesRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"dex",type:"address"}],name:"DexAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"dex",type:"address"}],name:"DexRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"dexes",type:"address[]"}],name:"DexesAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"dexes",type:"address[]"}],name:"DexesRemoved",type:"event"},{inputs:[{internalType:"address",name:"_adapter",type:"address"}],name:"addAdapter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_adapters",type:"address[]"}],name:"addAdapters",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_bridge",type:"address"}],name:"addBridge",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_bridges",type:"address[]"}],name:"addBridges",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dex",type:"address"}],name:"addDex",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_dexs",type:"address[]"},{internalType:"address[]",name:"_bridges",type:"address[]"}],name:"addDexesAndBridges",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_dexs",type:"address[]"}],name:"addDexs",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_adapter",type:"address"}],name:"isAdapterWhitelisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_bridge",type:"address"}],name:"isBridgeWhitelisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dex",type:"address"}],name:"isDexWhitelisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_adapter",type:"address"}],name:"removeAdapter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_adapters",type:"address[]"}],name:"removeAdapters",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_bridge",type:"address"}],name:"removeBridge",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_bridges",type:"address[]"}],name:"removeBridges",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dex",type:"address"}],name:"removeDex",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_dexs",type:"address[]"},{internalType:"address[]",name:"_bridges",type:"address[]"}],name:"removeDexesAndBridges",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_dexs",type:"address[]"}],name:"removeDexs",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"NativeTransferFailed",type:"error"},{inputs:[],name:"NoTransferToNullAddress",type:"error"},{inputs:[],name:"ReentrancyError",type:"error"},{inputs:[],name:"WithdrawFailed",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"tokenAddress",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"LogWithdraw",type:"event"},{inputs:[{internalType:"address payable",name:"_callTo",type:"address"},{internalType:"bytes",name:"_callData",type:"bytes"},{internalType:"address",name:"_token",type:"address"},{internalType:"address",name:"_to",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"executeCallAndWithdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_token",type:"address"},{internalType:"address",name:"_to",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"reason",type:"string"}],name:"InvalidPermit",type:"error"},{inputs:[],name:"InvalidPermitType",type:"error"},{inputs:[],name:"NoSwapFromZeroAmount",type:"error"},{inputs:[],name:"NullAddrIsNotAValidRecipient",type:"error"},{inputs:[],name:"NullAddrIsNotAValidSpender",type:"error"},{inputs:[{internalType:"uint256",name:"minAmount",type:"uint256"},{internalType:"uint256",name:"returnAmount",type:"uint256"}],name:"SlippageTooHigh",type:"error"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes4",name:"funSig",type:"bytes4"},{internalType:"bytes",name:"reason",type:"bytes"}],name:"SwapCallFailed",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"integrator",type:"address"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"returnToAmount",type:"uint256"}],indexed:!1,internalType:"struct SwapInfo[]",name:"swapInfo",type:"tuple[]"}],name:"DZapBatchTokenSwapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"integrator",type:"address"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"returnToAmount",type:"uint256"}],indexed:!1,internalType:"struct SwapInfo",name:"swapInfo",type:"tuple"}],name:"DZapTokenSwapped",type:"event"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken[]",name:"_inputTokens",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",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:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{internalType:"bool",name:"withoutRevert",type:"bool"}],name:"swap",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"bytes",name:"_batchDepositSignature",type:"bytes"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct PermitBatchTransferFrom",name:"_tokenDepositDetails",type:"tuple"},{components:[{internalType:"address",name:"recipient",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:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{internalType:"bool",name:"withoutRevert",type:"bool"}],name:"swap",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"bytes",name:"_tokenApprovalData",type:"bytes"},{components:[{internalType:"address",name:"recipient",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:"struct SwapData",name:"_swapData",type:"tuple"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData",name:"_swapExecutionData",type:"tuple"}],name:"swap",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"res",type:"bytes"}],name:"AdapterCallFailed",type:"error"},{inputs:[],name:"SigDeadlineExpired",type:"error"},{inputs:[],name:"UnauthorizedSigner",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"bytes",name:"receiver",type:"bytes"},{indexed:!1,internalType:"string",name:"bridge",type:"string"},{indexed:!1,internalType:"address",name:"bridgeAddress",type:"address"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"bytes",name:"to",type:"bytes"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"destinationChainId",type:"uint256"},{indexed:!1,internalType:"bytes",name:"destinationCalldata",type:"bytes"}],name:"BridgeStarted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"integrator",type:"address"}],name:"DZapBridgeStarted",type:"event"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken",name:"_intputTokens",type:"tuple"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo",name:"_adapterInfo",type:"tuple"}],name:"bridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"bytes",name:"_batchDepositSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct PermitBatchTransferFrom",name:"_tokenDepositDetails",type:"tuple"},{components:[{internalType:"address",name:"recipient",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:"bool",name:"updateBridgeInAmount",type:"bool"}],internalType:"struct BridgeSwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo[]",name:"_adapterInfo",type:"tuple[]"}],name:"bridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken[]",name:"_erc20Token",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",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:"bool",name:"updateBridgeInAmount",type:"bool"}],internalType:"struct BridgeSwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo[]",name:"_adapterInfo",type:"tuple[]"}],name:"bridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken",name:"_intputTokens",type:"tuple"},{components:[{internalType:"address",name:"recipient",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:"bool",name:"updateBridgeInAmount",type:"bool"}],internalType:"struct BridgeSwapData",name:"_swapData",type:"tuple"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData",name:"_swapExecutionData",type:"tuple"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo",name:"_adapterInfo",type:"tuple"}],name:"bridge",outputs:[],stateMutability:"payable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"_transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"executor",type:"address"},{indexed:!0,internalType:"address",name:"_user",type:"address"}],name:"DZapGasLessStarted",type:"event"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_bridgeFeeData",type:"bytes"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_userIntentDeadline",type:"uint256"},{internalType:"uint256",name:"_bridgeFeeDeadline",type:"uint256"},{internalType:"address",name:"_user",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken",name:"_inputToken",type:"tuple"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo",name:"_executorFeeInfo",type:"tuple"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo",name:"_adapterInfo",type:"tuple"}],name:"executeBridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_bridgeFeeData",type:"bytes"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_userIntentDeadline",type:"uint256"},{internalType:"uint256",name:"_bridgeFeeDeadline",type:"uint256"},{internalType:"address",name:"_user",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken[]",name:"_inputTokens",type:"tuple[]"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo[]",name:"_executorFeeInfo",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",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:"bool",name:"updateBridgeInAmount",type:"bool"}],internalType:"struct BridgeSwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo[]",name:"_adapterInfo",type:"tuple[]"}],name:"executeMultiBridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_bridgeFeeData",type:"bytes"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_bridgeFeeDeadline",type:"uint256"},{internalType:"address",name:"_user",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct PermitBatchTransferFrom",name:"_tokenDepositDetails",type:"tuple"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo[]",name:"_executorFeeInfo",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",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:"bool",name:"updateBridgeInAmount",type:"bool"}],internalType:"struct BridgeSwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo[]",name:"_adapterInfo",type:"tuple[]"}],name:"executeMultiBridgeWithWitness",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"uint256",name:"_userIntentDeadline",type:"uint256"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken[]",name:"_inputTokens",type:"tuple[]"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo[]",name:"_executorFeeInfo",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",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:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"}],name:"executeMultiSwap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct PermitBatchTransferFrom",name:"_tokenDepositDetails",type:"tuple"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo[]",name:"_executorFeeInfo",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",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:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"}],name:"executeMultiSwapWithWitness",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"uint256",name:"_userIntentDeadline",type:"uint256"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"bytes",name:"_tokenApprovalData",type:"bytes"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo",name:"_executorFeeInfo",type:"tuple"},{components:[{internalType:"address",name:"recipient",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:"struct SwapData",name:"_swapData",type:"tuple"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData",name:"_swapExecutionData",type:"tuple"}],name:"executeSwap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"AmountExceedsMaximum",type:"error"},{inputs:[],name:"CannotBridgeToSameNetwork",type:"error"},{inputs:[{internalType:"bytes",name:"reason",type:"bytes"}],name:"Erc20CallFailed",type:"error"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"contractBalance",type:"uint256"}],name:"InsufficientBalance",type:"error"},{inputs:[],name:"InvalidEncodedAddress",type:"error"},{inputs:[{internalType:"bytes",name:"reason",type:"bytes"}],name:"NativeCallFailed",type:"error"},{inputs:[],name:"NoBridgeFromZeroAmount",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"bytes",name:"reciever",type:"bytes"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"bytes",name:"to",type:"bytes"},{components:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"bytes32",name:"requestId",type:"bytes32"}],indexed:!1,internalType:"struct RelayData",name:"relayData",type:"tuple"},{indexed:!1,internalType:"uint256",name:"destinationChainId",type:"uint256"},{indexed:!1,internalType:"bytes",name:"destinationCalldata",type:"bytes"}],name:"RelayBridgeTransferStarted",type:"event"},{inputs:[],name:"_RELAY_RECEIVER",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:"_user",type:"address"},{internalType:"uint256",name:"_maxAmountIn",type:"uint256"},{internalType:"address",name:"_from",type:"address"},{internalType:"uint256",name:"_destinationChainId",type:"uint256"},{internalType:"bytes",name:"_receiver",type:"bytes"},{internalType:"bytes",name:"_to",type:"bytes"},{internalType:"bytes",name:"_destinationCalldata",type:"bytes"},{components:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"bytes32",name:"requestId",type:"bytes32"}],internalType:"struct RelayData",name:"_relayData",type:"tuple"}],name:"bridgeViaRelay",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"getRelayAddress",outputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"solver",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes4",name:"funSig",type:"bytes4"},{internalType:"bytes",name:"reason",type:"bytes"}],name:"BridgeCallFailed",type:"error"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"uint256",name:"_maxAmountIn",type:"uint256"},{internalType:"address",name:"_from",type:"address"},{internalType:"address",name:"_callTo",type:"address"},{internalType:"address",name:"_approveTo",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{internalType:"uint256",name:"_offset",type:"uint256"},{internalType:"uint256",name:"_extraNative",type:"uint256"},{internalType:"uint256",name:"_destinationChainId",type:"uint256"},{internalType:"string",name:"_bridge",type:"string"},{internalType:"bytes",name:"_receiver",type:"bytes"},{internalType:"bytes",name:"_to",type:"bytes"},{internalType:"bytes",name:"_callData",type:"bytes"},{internalType:"bytes",name:"_destinationCalldata",type:"bytes"}],name:"bridgeViaGeneric",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"TransferAmountMismatch",type:"error"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"uint256",name:"_maxAmountIn",type:"uint256"},{internalType:"address",name:"_from",type:"address"},{internalType:"address",name:"_transferTo",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{internalType:"uint256",name:"_destinationChainId",type:"uint256"},{internalType:"string",name:"_bridge",type:"string"},{internalType:"bytes",name:"_receiver",type:"bytes"},{internalType:"bytes",name:"_to",type:"bytes"},{internalType:"bytes",name:"_destinationCalldata",type:"bytes"}],name:"bridgeViaTransfer",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"NativeTokenNotSupported",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"user",type:"address"},{components:[{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"uint256",name:"destChains",type:"uint256"},{internalType:"uint256",name:"depositAmount",type:"uint256"}],indexed:!1,internalType:"struct GasZipData",name:"gasZipData",type:"tuple"},{indexed:!1,internalType:"bytes",name:"destinationCalldata",type:"bytes"}],name:"GasZipBridgeTransferStarted",type:"event"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"uint256",name:"_maxAmountIn",type:"uint256"},{internalType:"address",name:"_from",type:"address"},{internalType:"bytes",name:"_destinationCalldata",type:"bytes"},{components:[{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"uint256",name:"destChains",type:"uint256"},{internalType:"uint256",name:"depositAmount",type:"uint256"}],internalType:"struct GasZipData",name:"_gasZipData",type:"tuple"}],name:"bridgeViaGasZip",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"getGasZipRouter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],Y=[{inputs:[{internalType:"address",name:"governor_",type:"address"},{internalType:"address",name:"wNative_",type:"address"},{internalType:"address",name:"feeVault_",type:"address"},{internalType:"address",name:"permit2_",type:"address"},{internalType:"uint256",name:"maxNoOfSwap_",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"HighFee",type:"error"},{inputs:[],name:"HighPlatformFeeRatio",type:"error"},{inputs:[],name:"InvalidAmount",type:"error"},{inputs:[],name:"InvalidBlankSwap",type:"error"},{inputs:[],name:"InvalidInterval",type:"error"},{inputs:[],name:"InvalidLength",type:"error"},{inputs:[],name:"InvalidMask",type:"error"},{inputs:[],name:"InvalidNativeAmount",type:"error"},{inputs:[],name:"InvalidNoOfSwaps",type:"error"},{inputs:[],name:"InvalidPermit",type:"error"},{inputs:[],name:"InvalidPermitData",type:"error"},{inputs:[],name:"InvalidPosition",type:"error"},{inputs:[],name:"InvalidRate",type:"error"},{inputs:[],name:"InvalidReturnAmount",type:"error"},{inputs:[],name:"InvalidSwapAmount",type:"error"},{inputs:[],name:"InvalidToken",type:"error"},{inputs:[],name:"NativeTransferFailed",type:"error"},{inputs:[],name:"NoAvailableSwap",type:"error"},{inputs:[],name:"NoChanges",type:"error"},{inputs:[],name:"NotWNative",type:"error"},{inputs:[],name:"SwapCallFailed",type:"error"},{inputs:[],name:"UnauthorizedCaller",type:"error"},{inputs:[],name:"UnauthorizedTokens",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"ZeroSwappedTokens",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"accounts",type:"address[]"}],name:"AdminAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"accounts",type:"address[]"}],name:"AdminRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"bytes1",name:"interval",type:"bytes1"}],name:"BlankSwapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"positionId",type:"uint256"},{indexed:!1,internalType:"bool",name:"isNative",type:"bool"}],name:"Created",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"finalIndex",type:"uint256"},{indexed:!1,internalType:"uint256",name:"noOfPositions",type:"uint256"},{indexed:!1,internalType:"bool[]",name:"isNative",type:"bool[]"}],name:"CreatedBatched",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"feeVault",type:"address"}],name:"FeeVaultUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"formerGov",type:"address"},{indexed:!0,internalType:"address",name:"newGov",type:"address"}],name:"GovernanceChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"positionId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"rate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"startingSwap",type:"uint256"},{indexed:!1,internalType:"uint256",name:"finalSwap",type:"uint256"},{indexed:!1,internalType:"bool",name:"isNative",type:"bool"}],name:"Modified",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"platformFeeRatio",type:"uint256"}],name:"PlatformFeeRatioUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"},{indexed:!1,internalType:"uint256",name:"positionId",type:"uint256"}],name:"PositionOwnerUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"accounts",type:"address[]"}],name:"SwapExecutorAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"accounts",type:"address[]"}],name:"SwapExecutorRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint32[]",name:"intervals",type:"uint32[]"},{indexed:!1,internalType:"uint256[]",name:"swapFee",type:"uint256[]"}],name:"SwapFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint32[]",name:"swapIntervals",type:"uint32[]"}],name:"SwapIntervalsAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint32[]",name:"swapIntervals",type:"uint32[]"}],name:"SwapIntervalsRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"noOfSwaps",type:"uint256"}],name:"SwapLimitUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"threshold",type:"uint256"}],name:"SwapThresholdUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"rewardRecipient",type:"address"},{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"swappedAmount",type:"uint256"},{internalType:"uint256",name:"receivedAmount",type:"uint256"},{internalType:"uint256",name:"reward",type:"uint256"},{internalType:"uint256",name:"fee",type:"uint256"},{internalType:"bytes1",name:"intervalsInSwap",type:"bytes1"}],indexed:!1,internalType:"struct SwapInfo[]",name:"swapInformation",type:"tuple[]"}],name:"Swapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint256",name:"positionId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"unswapped",type:"uint256"},{indexed:!1,internalType:"uint256",name:"swapped",type:"uint256"},{indexed:!1,internalType:"bool",name:"isNative",type:"bool"}],name:"Terminated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"tokens",type:"address[]"}],name:"TokensAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"tokens",type:"address[]"}],name:"TokensRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokensRescued",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint256",name:"positionId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"swapped",type:"uint256"},{indexed:!1,internalType:"bool",name:"isNative",type:"bool"}],name:"Withdrawn",type:"event"},{inputs:[],name:"BPS_DENOMINATOR",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_FEE",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_PLATFORM_FEE_RATIO",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"NATIVE_TOKEN",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes1",name:"",type:"bytes1"},{internalType:"uint256",name:"",type:"uint256"}],name:"accumRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"activeSwapIntervals",outputs:[{internalType:"bytes1",name:"",type:"bytes1"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"accounts_",type:"address[]"}],name:"addAdmins",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"tokens_",type:"address[]"}],name:"addAllowedTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"executor_",type:"address[]"}],name:"addSwapExecutors",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32[]",name:"swapIntervals_",type:"uint32[]"}],name:"addSwapIntervalsToAllowedList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"admins",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"allowedSwapIntervals",outputs:[{internalType:"bytes1",name:"",type:"bytes1"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"allowedTokens",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"data_",type:"bytes[]"}],name:"batchCall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from_",type:"address"},{internalType:"address",name:"to_",type:"address"},{internalType:"bytes1",name:"maskedInterval_",type:"bytes1"}],name:"blankSwap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newGov",type:"address"}],name:"changeGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint32",name:"swapInterval",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"noOfSwaps",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct CreatePositionDetails[]",name:"details_",type:"tuple[]"}],name:"createBatchPositions",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint32",name:"swapInterval",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"noOfSwaps",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct CreatePositionDetails",name:"details_",type:"tuple"}],name:"createPosition",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"feeVault",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"}],internalType:"struct Pair[]",name:"pairs_",type:"tuple[]"}],name:"getNextSwapInfo",outputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"swappedAmount",type:"uint256"},{internalType:"uint256",name:"receivedAmount",type:"uint256"},{internalType:"uint256",name:"reward",type:"uint256"},{internalType:"uint256",name:"fee",type:"uint256"},{internalType:"bytes1",name:"intervalsInSwap",type:"bytes1"}],internalType:"struct SwapInfo[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId_",type:"uint256"}],name:"getPositionDetails",outputs:[{components:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint32",name:"swapInterval",type:"uint32"},{internalType:"uint256",name:"rate",type:"uint256"},{internalType:"uint256",name:"swapsExecuted",type:"uint256"},{internalType:"uint256",name:"swapsLeft",type:"uint256"},{internalType:"uint256",name:"swapped",type:"uint256"},{internalType:"uint256",name:"unswapped",type:"uint256"}],internalType:"struct PositionInfo",name:"positionInfo",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"interval_",type:"uint32"}],name:"getSwapFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"governance",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxNoOfSwap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId_",type:"uint256"},{internalType:"uint256",name:"amount_",type:"uint256"},{internalType:"uint256",name:"noOfSwaps_",type:"uint256"},{internalType:"bool",name:"isIncrease_",type:"bool"},{internalType:"bool",name:"isNative_",type:"bool"},{internalType:"bytes",name:"permit_",type:"bytes"}],name:"modifyPosition",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"nextToNextTimeThreshold",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"platformFeeRatio",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"accounts_",type:"address[]"}],name:"removeAdmins",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"tokens_",type:"address[]"}],name:"removeAllowedTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"executor_",type:"address[]"}],name:"removeSwapExecutors",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32[]",name:"swapIntervals_",type:"uint32[]"}],name:"removeSwapIntervalsFromAllowedList",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"}],internalType:"struct Pair[]",name:"pairs_",type:"tuple[]"}],name:"secondsUntilNextSwap",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newVault_",type:"address"}],name:"setFeeVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"platformFeeRatio_",type:"uint256"}],name:"setPlatformFeeRatio",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32[]",name:"intervals_",type:"uint32[]"},{internalType:"uint256[]",name:"swapFee_",type:"uint256[]"}],name:"setSwapFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"executor",type:"address"},{internalType:"address",name:"tokenProxy",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturnAmount",type:"uint256"},{internalType:"bytes",name:"swapCallData",type:"bytes"}],internalType:"struct SwapDetails[]",name:"data_",type:"tuple[]"},{internalType:"address",name:"rewardRecipient_",type:"address"}],name:"swap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes1",name:"",type:"bytes1"},{internalType:"uint256",name:"",type:"uint256"}],name:"swapAmountDelta",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes1",name:"",type:"bytes1"}],name:"swapData",outputs:[{internalType:"uint256",name:"performedSwaps",type:"uint256"},{internalType:"uint256",name:"nextAmountToSwap",type:"uint256"},{internalType:"uint256",name:"nextToNextAmountToSwap",type:"uint256"},{internalType:"uint256",name:"lastSwappedAt",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"swapExecutors",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId_",type:"uint256"},{internalType:"address",name:"recipient_",type:"address"},{internalType:"bool",name:"isNative_",type:"bool"}],name:"terminatePosition",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"tokenMagnitude",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalCreatedPositions",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId_",type:"uint256"},{internalType:"address",name:"newOwner_",type:"address"}],name:"transferPositionOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"maxNoOfSwap_",type:"uint256"}],name:"updateMaxSwapLimit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"nextToNextTimeThreshold_",type:"uint256"}],name:"updateSwapTimeThreshold",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"userPositions",outputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes1",name:"swapIntervalMask",type:"bytes1"},{internalType:"uint256",name:"rate",type:"uint256"},{internalType:"uint256",name:"swapWhereLastUpdated",type:"uint256"},{internalType:"uint256",name:"startingSwap",type:"uint256"},{internalType:"uint256",name:"finalSwap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"wNative",outputs:[{internalType:"contract IWNative",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"positionId_",type:"uint256"},{internalType:"address",name:"recipient_",type:"address"},{internalType:"bool",name:"isNative_",type:"bool"}],name:"withdrawPosition",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Q=["0x0000000000000000000000000000000000001010","0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE","0x0000000000000000000000000000000000000000","0x000000000000000000000000000000000000800A","11111111111111111111111111111111","0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000","EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c","0x000000000000000000000000000000000000aA09","0x2::sui::SUI","0x1::aptos_coin::AptosCoin","0x471EcE3750Da237f93B8E339c536989b8978a438"],X=n({id:995,name:"5ire",nativeCurrency:{decimals:18,name:"5ire",symbol:"5ire"},rpcUrls:{default:{http:["https://rpc.5ire.network"]}},blockExplorers:{default:{name:"5ire Scan",url:"https://5irescan.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:47416}}}),J=n({id:10242,name:"Arthera",nativeCurrency:{decimals:18,name:"AA",symbol:"AA"},rpcUrls:{default:{http:["https://rpc.arthera.net"]}},blockExplorers:{default:{name:"Arthera Scan",url:"https://explorer.arthera.net"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:4502791}}}),$=[].concat(Object.values(h),[X,J]).reduce(function(e,t){var n;return t.id?q({},e,((n={})[t.id]=t,n)):e},{}),ee={batch:{wait:1e3},retryDelay:500},te=function(e){var t=e.rpcUrls,n=e.chainId,i=t&&Array.isArray(t)&&t.length>0;return a({chain:$[n],transport:r(i?t.map(function(e){return s(e,ee)}):[s()]),batch:{multicall:{wait:1e3}}})},ne=function(e,t){return void 0===t&&(t=o),i(e)?Q.includes(e)?t:p(e):e};function ae(e){var t=e.destToken,n=e.destChainId,a=e.srcChainNativeAddress,r=e.destChainNativeAddress,s=void 0===r?o:r;return e.srcChainId+"_"+ne(e.srcToken,void 0===a?o:a)+"-"+n+"_"+ne(t,s)}BigInt(15),BigInt(10);var re,se,ie,pe,oe=function(e){return e instanceof b},ue=function(e){return"0x0000000000000000000000000000000000000000"===e},de=function(e,t){switch(e){case R.trade:switch(t){case C.v1:return G;case C.v2:return K;default:throw new Error("Invalid Version for Trade")}case R.dca:return Y;default:throw new Error("Invalid Service")}},ye={EIP2612Permit:"EIP2612Permit",Permit2:"Permit2",AutoPermit:"AutoPermit"},le=q({},function(e,t){if(null==e)return{};var n={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(-1!==t.indexOf(a))continue;n[a]=e[a]}return n}(ye,["EIP2612Permit"]),{Default:"Default"}),me={name:"name",allowance:"allowance",approve:"approve",transfer:"transfer",transferFrom:"transferFrom",balanceOf:"balanceOf",decimals:"decimals",symbol:"symbol",version:"version",nonces:"nonces",domainSeparator:"DOMAIN_SEPARATOR"},ce="get",Te="post",fe=/*#__PURE__*/function(){function e(e){var t=this;this.axiosInstance=void 0,this.axiosInstance=g.create({baseURL:e}),this.axiosInstance.interceptors.response.use(function(e){return e},function(e){try{var n,a,r,s=function(t){return r?t:Promise.reject(e)},i=e.config;if(!i)return Promise.reject(e);i.retryCount=null!=(n=i.retryCount)?n:0,i.shouldRetry=null!=(a=i.shouldRetry)&&a;var p=function(){if(i.shouldRetry&&i.retryCount<2)return i.retryCount+=1,Promise.resolve(new Promise(function(e){return setTimeout(e,500)})).then(function(){var e=t.axiosInstance(i);return r=1,e})}();return Promise.resolve(p&&p.then?p.then(s):s(p))}catch(e){return Promise.reject(e)}})}return e.getInstance=function(t){return e.instances.has(t)||e.instances.set(t,new e(t)),e.instances.get(t).axiosInstance},e}();fe.instances=new Map,"undefined"!=typeof process&&process.env&&(re=process.env.REACT_APP_ENV||process.env.NEXT_PUBLIC_APP_ENV||process.env.NODE_ENV,se=process.env.REACT_APP_BASE_API_URL||process.env.NEXT_PUBLIC_BASE_API_URL||process.env.BASE_API_URL,ie=process.env.REACT_APP_ZAP_API_URL||process.env.NEXT_PUBLIC_ZAP_API_URL||process.env.ZAP_API_URL,pe=process.env.REACT_APP_DZAP_API_KEY||process.env.NEXT_PUBLIC_DZAP_API_KEY||process.env.DZAP_API_KEY);var be=function(){var e={apiKey:pe||null,rpcUrlsByChainId:{},eip2612DisabledChains:[747474],appEnv:re||P.development,baseApiUrl:se||"https://api.dzap.io",zapApiUrl:ie||"https://zap.dzap.io",versionPostfix:"v1/"};return{getApiKey:function(){return e.apiKey},setApiKey:function(t){e.apiKey=t},getRpcUrlsByChainId:function(t){return e.rpcUrlsByChainId[t]},setRpcUrlsByChainId:function(t){e.rpcUrlsByChainId=t},getEip2612DisabledChains:function(){return e.eip2612DisabledChains},setEip2612DisabledChains:function(t){e.eip2612DisabledChains=t},getAppEnv:function(){return e.appEnv},setAppEnv:function(t){e.appEnv=t},getBaseApiUrl:function(){return e.baseApiUrl},setBaseApiUrl:function(t){e.baseApiUrl=t},getZapApiUrl:function(){return e.zapApiUrl},setZapApiUrl:function(t){e.zapApiUrl=t},getVersionPostfix:function(){return e.versionPostfix},setVersionPostfix:function(t){e.versionPostfix=t},getBaseUrl:function(){return e.baseApiUrl+"/"+e.versionPostfix},getBaseZapUrl:function(){return e.zapApiUrl+"/"+e.versionPostfix}}}(),ve=fe.getInstance(be.getBaseUrl()),he=fe.getInstance(be.getBaseZapUrl()),ge=function(e){var t=e.endpoint,n=e.data,a=e.method,r=void 0===a?Te:a,s=e.cancelToken,i=e.shouldRetry,p=void 0!==i&&i;try{var o=be.getApiKey(),u={method:r,url:t,data:r===ce?void 0:n,params:r===ce?n:void 0,headers:q({"Content-Type":"application/json"},o?{"x-api-key":o}:{}),cancelToken:s,shouldRetry:p};return Promise.resolve(ve(u).then(function(e){return e.data}).catch(function(e){return Promise.reject(e)}))}catch(e){return Promise.reject(e)}},Ae=function(e){var t=e.endpoint,n=e.data,a=e.method,r=void 0===a?Te:a,s=e.cancelToken,i=e.shouldRetry,p=void 0!==i&&i;try{var o=be.getApiKey(),u={method:r,url:t,data:r===ce?void 0:n,params:r===ce?n:void 0,headers:q({"Content-Type":"application/json"},o?{"x-api-key":o}:{}),cancelToken:s,shouldRetry:p};return Promise.resolve(he(u).then(function(e){return e.data}).catch(function(e){return Promise.reject(e)}))}catch(e){return Promise.reject(e)}},we=function(e){return ge({endpoint:"/buildTx",data:e,method:Te})},Ie=function(e,t){return Ae({endpoint:"/buildTx",data:e,method:Te,cancelToken:t})},xe=function(){return ge({endpoint:"chains",data:{},method:ce,shouldRetry:!0})},_e=function(e,t,n){return ge({endpoint:"token/tokens",data:{chainId:e,source:t,account:n},method:ce,shouldRetry:!0})},Pe=function(e,t,n,a,r){var s={tokenAddress:Array.isArray(e)?void 0:e,tokenAddresses:Array.isArray(e)?e.join(","):void 0,chainId:t,account:n,includeBalance:a,includePrice:r};return ge({endpoint:"token/details",data:s,method:ce})},Se="undefined"!=typeof process&&process.versions&&process.versions.node,De=null;if(Se)try{De=require("node-cache")}catch(e){De=null}var ke=/*#__PURE__*/function(){function e(){this.cache=new Map}var t=e.prototype;return t.set=function(e,t,n){var a=n?Date.now()+1e3*n:void 0;this.cache.set(e,{value:t,expiry:a})},t.get=function(e){var t=this.cache.get(e);if(t){if(!(t.expiry&&Date.now()>t.expiry))return t.value;this.cache.delete(e)}},t.del=function(e){return this.cache.delete(e)?1:0},t.flushAll=function(){this.cache.clear()},e}(),Ce=/*#__PURE__*/function(){function e(){this.client=void 0,this.client=Se&&De?new De({checkperiod:10,deleteOnExpire:!0}):new ke}return e.set=function(e,t,n){null!=t&&this.instance.client.set(e,t,null!=n?n:0)},e.get=function(e){return this.instance.client.get(e)},e.delete=function(e){return this.instance.client.del(e)},e.flush=function(){this.instance.client.flushAll()},t=e,(n=[{key:"instance",get:function(){return e._instance||(e._instance=new e),e._instance}}])&&function(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,z(a.key),a)}}(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n}();Ce._instance=void 0;var Me="dZap",Ee="defiLlama",Fe="coingecko",Ne=function(e,t){return!!t&&Object.values(t).some(function(t){return t.isEnabled&&t.nativeToken.contract===e})},Be=function(){var e=this;this.id=Fe,this.requiresChainConfig=!0,this.fetchNativePrice=function(e,t){try{if(!t||!t[e].isEnabled)return Promise.resolve(0);var n=t[e].coingecko;return n?Promise.resolve(ge({endpoint:(a=null==n?void 0:n.nativeTokenKey,"https://api.coingecko.com/api/v3/simple/price?ids="+a+"&vs_currencies=usd&include_last_updated_at=true"),method:ce})).then(function(e){var t;return(null==(t=e[null==n?void 0:n.nativeTokenKey])?void 0:t.usd)||null}):Promise.resolve(0)}catch(e){return Promise.reject(e)}var a},this.fetchERC20Prices=function(e,t,n){try{if(!t.length||!n||!n[e].isEnabled)return Promise.resolve({});var a=n[e].coingecko;if(!a)return Promise.resolve({});var r=t.map(function(e){return ge({endpoint:(t=e,n=a.chainKey,"https://api.coingecko.com/api/v3/simple/token_price/"+n+"?contract_addresses="+t+"&vs_currencies=usd&include_last_updated_at=true"),method:ce});var t,n});return Promise.resolve(Promise.allSettled(r)).then(function(e){return e.reduce(function(e,n,a){var r=t[a];if("fulfilled"===n.status){var s,i=null==(s=n.value[r.toLowerCase()])?void 0:s.usd;e[r]=void 0===i?null:i.toString()}else e[r]=null,console.error("Error fetching data for address "+r+":",n.reason);return e},{})})}catch(e){return Promise.reject(e)}},this.fetchPrices=function(t,n,a){return Promise.resolve(function(){try{var r=(s=n.filter(function(e){return!Ne(e,a)}),Promise.resolve(Promise.all([e.fetchERC20Prices(t,s,a),s.length!==n.length?e.fetchNativePrice(t,a):void 0])).then(function(e){var n=e[0],r=e[1];return a[t].isEnabled&&r&&(n[a[t].nativeToken.contract]=r.toString()),n}))}catch(e){return{}}var s;return r&&r.then?r.then(void 0,function(){return{}}):r}())}},Re=/*#__PURE__*/function(){function e(){var e=this;this.id=Ee,this.requiresChainConfig=!0,this.postProcess=function(e,t,n,a){var r=n[e].name;return r?t.reduce(function(e,t){var n=a.coins[r+":"+t];return n?(e[t]=n.price.toString(),e):(e[t]=null,e)},{}):{}},this.fetchPrices=function(t,n,a){return Promise.resolve(function(){try{var r=(i=e.preProcess(t,n,a)).length?Promise.resolve(ge({endpoint:(s=i,"https://coins.llama.fi/prices/current/"+s.join(",")),method:ce})).then(function(r){return e.postProcess(t,n,a,r)}):{}}catch(e){return{}}var s,i;return r&&r.then?r.then(void 0,function(){return{}}):r}())}}return e.prototype.preProcess=function(e,t,n){var a=n[e];if(!a.isEnabled||null==a||!a.name)return[];var r=a.name,s=a.defiLlama;return t.map(function(e){return null!=s&&s.chainKey?Ne(e,n)?s.chainKey+":"+s.nativeTokenKey:s.chainKey+":"+e:r+":"+e})},e}(),Ue=function(){this.id=Me,this.requiresChainConfig=!1,this.fetchPrices=function(e,t){try{return Promise.resolve(function(n,a){try{var r=Promise.resolve(function(e,t){return ge({endpoint:"token/price",data:{tokenAddresses:e,chainId:t},method:ce})}(t,e))}catch(e){return a(e)}return r&&r.then?r.then(void 0,a):r}(0,function(e){return console.error("Failed to fetch token price",e),{}}))}catch(e){return Promise.reject(e)}}};const je="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function Oe(e,t,n){if(!e.s){if(n instanceof Ve){if(!n.s)return void(n.o=Oe.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(Oe.bind(null,e,t),Oe.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var Ve=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){var a=new e,r=this.s;if(r){var s=1&r?t:n;if(s){try{Oe(a,1,s(this.v))}catch(e){Oe(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?Oe(a,1,t?t(r):r):n?Oe(a,1,n(r)):Oe(a,2,r)}catch(e){Oe(a,2,e)}},a},e}();function Ze(e){return e instanceof Ve&&1&e.s}var Le=/*#__PURE__*/function(){function e(){this.providers=void 0,this.providers=this.initailizeProviders()}var t=e.prototype;return t.initailizeProviders=function(){return new Map([[Me,new Ue],[Ee,new Re],[Fe,new Be]])},t.getPrices=function(e){var t=e.chainId,n=e.tokenAddresses,a=e.chainConfig,r=e.allowedSources,s=e.notAllowSources,i=void 0===s?[]:s;try{var p,o=function(){for(var e=[],t=0,n=Object.entries(c);t<n.length;t++){var a=n[t],r=a[0],s=a[1];null===s?e.push(r):m[r]=s}return e.length>0&&console.warn("Prices not found for tokens:",e),Object.keys(m).length>0&&Ce.set(y,q({},l,m),900),q({},l,c)},u=this;if(!n||0===n.length)return console.warn("No token addresses provided"),Promise.resolve({});var d=u.getValidProviders({allowedSources:r,notAllowSources:i,chainConfig:a});if(0===d.length)return console.warn("No valid providers available based on the provided constraints"),Promise.resolve({});var y=function(e){return"tokenPrices_"+e}(t),l=Ce.get(y)||{},m={},c={};n.forEach(function(e){null!=l&&l[e]||(c[e]=null)});var T=function(e,t,n){if("function"==typeof e[je]){var a,r,s,i=function(e){try{for(;!((a=p.next()).done||n&&n());)if((e=t(a.value))&&e.then){if(!Ze(e))return void e.then(i,s||(s=Oe.bind(null,r=new Ve,2)));e=e.v}r?Oe(r,1,e):r=e}catch(e){Oe(r||(r=new Ve),2,e)}},p=e[je]();if(i(),p.return){var o=function(e){try{a.done||p.return()}catch(e){}return e};if(r&&r.then)return r.then(o,function(e){throw o(e)});o()}return r}if(!("length"in e))throw new TypeError("Object is not iterable");for(var u=[],d=0;d<e.length;d++)u.push(e[d]);return function(e,t,n){var a,r,s=-1;return function i(p){try{for(;++s<e.length&&(!n||!n());)if((p=t(s))&&p.then){if(!Ze(p))return void p.then(i,r||(r=Oe.bind(null,a=new Ve,2)));p=p.v}a?Oe(a,1,p):a=p}catch(e){Oe(a||(a=new Ve),2,e)}}(),a}(u,function(e){return t(u[e])},n)}(d,function(e){var n=Object.keys(c).filter(function(e){return null===c[e]});if(0!==n.length)return Promise.resolve(e.fetchPrices(t,n,a)).then(function(e){u.updateTokensPrice(e,c)});p=1},function(){return p});return Promise.resolve(T&&T.then?T.then(o):o())}catch(e){return Promise.reject(e)}},t.getValidProviders=function(e){var t=e.allowedSources,n=e.notAllowSources,a=e.chainConfig;return Array.from(this.providers.values()).filter(function(e){var r,s,i=null==(r=null==t?void 0:t.includes(e.id))||r,p=null!=(s=null==n?void 0:n.includes(e.id))&&s,o=t?i&&!p:!p;return e.requiresChainConfig&&!a?(console.error("Provider "+e.id+" requires chainConfig but none was provided."),!1):o})},t.updateTokensPrice=function(e,t){Object.entries(e).forEach(function(e){var n=e[1];null!==n&&(t[e[0]]=n)})},e}(),qe="BridgeCallFailed",ze=function(e){var n,a,r=e.error;if((null==r?void 0:r.code)===F.WalletRPCFailure||(null==r||null==(n=r.cause)?void 0:n.code)===F.WalletRPCFailure)return{error:r,errorMsg:"Too many requests, failure on user wallet",code:F.WalletRPCFailure,status:M.error};if((null==r?void 0:r.code)===F.UserRejectedRequest||(null==r||null==(a=r.cause)?void 0:a.code)===F.UserRejectedRequest)return{error:r,errorMsg:"Rejected by User",code:F.UserRejectedRequest,status:M.rejected};var s,i=r.shortMessage,p=(s=r.metaMessages[0].match(/Error: (\w+)/))?s[1]:null;if(p==qe){var o=r.metaMessages[1];try{o=function(e){if(e.length<68)return e;var n="0x"+e.slice(10);return y(t("string"),n)[0]}(r.metaMessages[1].match(/\((.*?)\)/)[1])}catch(e){}i=qe+" : "+o}else p&&(i=p);return{status:M.error,error:r,errorMsg:i,code:F.ContractExecutionError}},We=function(){};We.sendTransaction=function(e){var t=e.chainId,n=e.signer,a=e.from,r=e.to,s=e.data,i=e.value;try{return Promise.resolve(function(e,p){try{var o=oe(n)?(console.log("Using ethers signer."),Promise.resolve(n.sendTransaction({from:a,to:r,data:s,value:i})).then(function(e){return{status:M.success,code:F.Success,txnHash:e.hash}})):(console.log("Using viem walletClient."),Promise.resolve(n.sendTransaction({chain:$[t],account:a,to:r,data:s,value:BigInt(i)})).then(function(e){return{status:M.success,code:F.Success,txnHash:e}}))}catch(e){return p(e)}return o&&o.then?o.then(void 0,p):o}(0,function(e){return console.log({error:e}),ze({error:e})}))}catch(e){return Promise.reject(e)}};var He,Ge=[{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"}],Ke=((He={})[324]="0x0000000000225e31D15943971F47aD3022F714Fa",He[10242]="0x5Aeec43fF96b9B6c5a1dC1DAdA662ACE3c236C49",He[6001]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",He[5115]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",He[996]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",He[14]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",He[8822]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",He[42766]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",He[5165]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",He[2741]="0x0000000000225e31D15943971F47aD3022F714Fa",He[232]="0x0000000000225e31D15943971F47aD3022F714Fa",He),Ye=function(e){var t=Math.floor(Date.now()/1e3);return BigInt(t+e)},Qe=function(e){var t=e.signer,n=e.domain,a=e.message,r=e.types,s=e.account,i=e.primaryType;try{var p,o=oe(t)?Promise.resolve(t._signTypedData(n,r,a)).then(function(e){p=e}):Promise.resolve(t.signTypedData({account:s,domain:n,message:a,primaryType:i,types:r})).then(function(e){p=e});return Promise.resolve(o&&o.then?o.then(function(){return p}):p)}catch(e){return Promise.reject(e)}};function Xe(e){var t;return null!=(t=Ke[e])?t:"0x000000000022D473030F116dDEE9F6B43aC78BA3"}var Je,$e=[{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],et={Permit:[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},tt=function(e){var t=e.chainId,n=e.contracts,a=e.rpcUrls,r=e.multicallAddress,s=e.allowFailure,i=void 0!==s&&s;try{return Promise.resolve(function(e,s){try{var p=(o=te({chainId:t,rpcUrls:a}),Promise.resolve(o.multicall(q({contracts:n},r&&{multicallAddress:r},{allowFailure:i}))).then(function(e){return{status:M.success,code:F.Success,data:e}}))}catch(e){return s(e)}var o;return p&&p.then?p.then(void 0,s):p}(0,function(e){return console.error("Multicall failed:",e),{status:M.error,code:e.code||F.Error,data:[]}}))}catch(e){return Promise.reject(e)}},nt=be.getEip2612DisabledChains(),at=function(e){var t=e.address,n=e.chainId,a=e.rpcUrls,r=e.permitEIP2612DisabledTokens,s=e.owner;try{return null!=r&&r.some(function(e){return e.toLowerCase()===t.toLowerCase()})||nt.includes(n)?Promise.resolve({supportsPermit:!1}):Promise.resolve(tt({chainId:n,contracts:[{address:t,abi:$e,functionName:me.domainSeparator},{address:t,abi:$e,functionName:me.nonces,args:[s]},{address:t,abi:$e,functionName:me.version},{address:t,abi:$e,functionName:me.name}],rpcUrls:a,allowFailure:!0})).then(function(e){if(e.status!==M.success)return{supportsPermit:!1};var t=e.data,n=t[1],a=t[2],r=t[3];return t[0].status!==M.success||n.status!==M.success||r.status!==M.success?{supportsPermit:!1}:{supportsPermit:!0,data:{version:a.status===M.success?a.result:"1",name:r.result,nonce:n.result}}})}catch(e){return Promise.reject(e)}};function rt(e,t,n){if(!e.s){if(n instanceof st){if(!n.s)return void(n.o=rt.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(rt.bind(null,e,t),rt.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var st=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){var a=new e,r=this.s;if(r){var s=1&r?t:n;if(s){try{rt(a,1,s(this.v))}catch(e){rt(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?rt(a,1,t?t(r):r):n?rt(a,1,n(r)):rt(a,2,r)}catch(e){rt(a,2,e)}},a},e}();function it(e){return e instanceof st&&1&e.s}var pt=function(){};function ot(e){return c({abi:T,functionName:me.approve,args:[e.spender,e.amount]})}function ut(e,t,n){if(!e.s){if(n instanceof dt){if(!n.s)return void(n.o=ut.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(ut.bind(null,e,t),ut.bind(null,e,2));e.s=t,e.v=n;const a=e.o;a&&a(e)}}Je=pt,pt.generatePermitDataForToken=function(n){var a=n.token,r=n.isFirstToken,s=n.oneToMany,i=n.totalSrcAmount,p=n.chainId,o=n.rpcUrls,u=n.sender,d=n.spender,y=n.permitType,c=n.signer,T=n.service,f=n.permitEIP2612DisabledTokens,b=n.contractVersion;try{if(ue(a.address))return Promise.resolve({status:M.success,code:F.Success,permitData:j,permitType:ye.EIP2612Permit});var h=s&&r?i:a.amount;return Promise.resolve(at({address:a.address,chainId:p,rpcUrls:o,permitEIP2612DisabledTokens:f,owner:u})).then(function(n){if(y===ye.EIP2612Permit||y===ye.AutoPermit&&n.supportsPermit){if(!n.supportsPermit||!n.data)throw new Error("Token does not support EIP-2612 permits");return s&&!r?{status:M.success,code:F.Success,permitData:j,permitType:ye.EIP2612Permit}:Promise.resolve(function(n){var a=n.chainId,r=n.spender,s=n.account,i=n.token,p=n.signer,o=n.version,u=n.amount,d=void 0===u?l:u,y=n.sigDeadline,m=void 0===y?Ye(V):y,c=n.contractVersion,T=n.service,f=n.name,b=n.nonce;try{return Promise.resolve(function(n,u){try{var y=(l=s,h=m,Promise.resolve(Qe({signer:p,domain:{name:f,version:o,chainId:a,verifyingContract:i},message:{owner:l,spender:r,value:d,nonce:b,deadline:h},types:et,account:l,primaryType:"Permit"})).then(function(n){var a=v.utils.splitSignature(n),s=c===C.v1&&T!==R.zap?v.utils.defaultAbiCoder.encode(["address","address","uint256","uint256","uint8","bytes32","bytes32"],[l,r,d,h,a.v,a.r,a.s]):v.utils.defaultAbiCoder.encode(["uint256","uint8","bytes32","bytes32"],[h,a.v,a.r,a.s]),i=e(t("uint8, bytes"),[D.PERMIT,s]);return{status:M.success,code:F.Success,permitData:i}}))}catch(e){return u(e)}var l,h;return y&&y.then?y.then(void 0,u):y}(0,function(e){var t;return console.log("Error generating permit signature:",e),(null==e||null==(t=e.cause)?void 0:t.code)===F.UserRejectedRequest||(null==e?void 0:e.code)===F.UserRejectedRequest?{status:M.rejected,code:F.UserRejectedRequest}:{status:M.error,code:F.Error}}))}catch(e){return Promise.reject(e)}}({chainId:p,account:u,token:a.address,spender:d,amount:BigInt(h),signer:c,version:n.data.version,name:n.data.name,nonce:n.data.nonce,contractVersion:b,service:T})).then(function(e){return{status:e.status,code:e.code,permitData:e.permitData,permitType:ye.EIP2612Permit}})}return s&&!r?{status:M.success,code:F.Success,permitData:O,permitType:ye.Permit2}:Promise.resolve(function(n){var a=n.chainId,r=n.spender,s=n.service,i=n.account,p=n.token,o=n.signer,u=n.rpcUrls,d=n.amount,y=void 0===d?l:d,c=n.sigDeadline,T=void 0===c?Ye(V):c,f=n.expiration,b=void 0===f?m:f,v=n.contractVersion;try{return Promise.resolve(function(n,d){try{var l=(m=Xe(a),c=te({chainId:a,rpcUrls:u}),Promise.resolve(c.readContract({address:m,abi:Ge,functionName:"allowance",args:[i,p,r]})).then(function(n){var u={details:{token:p,amount:y,expiration:b,nonce:n[2]},spender:r,sigDeadline:T};return Promise.resolve(Qe({signer:o,domain:{chainId:a,name:"Permit2",verifyingContract:m},message:u,types:{PermitSingle:[{name:"details",type:"PermitDetails"},{name:"spender",type:"address"},{name:"sigDeadline",type:"uint256"}],PermitDetails:[{name:"token",type:"address"},{name:"amount",type:"uint160"},{name:"expiration",type:"uint48"},{name:"nonce",type:"uint48"}]},account:i,primaryType:"PermitSingle"})).then(function(n){var a=v===C.v1&&s!==R.zap?e(t("uint160 allowanceAmount, uint48 nonce, uint48 expiration, uint256 sigDeadline, bytes signature"),[BigInt(u.details.amount.toString()),Number(u.details.nonce.toString()),Number(u.details.expiration.toString()),BigInt(u.sigDeadline.toString()),n]):e(t("uint48 nonce, uint48 expiration, uint256 sigDeadline, bytes signature"),[Number(u.details.nonce.toString()),Number(u.details.expiration.toString()),BigInt(u.sigDeadline.toString()),n]),r=s!==R.zap&&v===C.v1?D.PERMIT2_APPROVE:k.PERMIT2_APPROVE,i=e(t("uint8, bytes"),[r,a]);return{status:M.success,permitData:i,code:F.Success}})}))}catch(e){return d(e)}var m,c;return l&&l.then?l.then(void 0,d):l}(0,function(e){var t;return(null==e||null==(t=e.cause)?void 0:t.code)===F.UserRejectedRequest||(null==e?void 0:e.code)===F.UserRejectedRequest?{status:M.rejected,code:F.UserRejectedRequest,permitdata:null}:{status:M.error,code:e.code,permitData:null}}))}catch(e){return Promise.reject(e)}}({chainId:p,account:u,token:a.address,spender:d,amount:BigInt(h),service:T,signer:c,rpcUrls:o,contractVersion:b})).then(function(e){return{status:e.status,code:e.code,permitData:e.permitData,permitType:ye.Permit2}})})}catch(e){return Promise.reject(e)}},pt.signPermit=function(e){var t,n,a,r,s,i,p=e.chainId,o=e.tokens,u=e.rpcUrls,d=e.sender,y=e.signer,l=e.service,m=e.signatureCallback,c=e.spender,T=e.permitType,f=e.permitEIP2612DisabledTokens,b=e.contractVersion;try{var v,h=function(e){return v?e:{status:M.success,tokens:o,code:F.Success}};if(0===o.length)return Promise.resolve({status:M.success,code:F.Success,tokens:o});var g=o.length>1&&o[0].address===o[1].address,A=o.reduce(function(e,t){return e+BigInt(t.amount)},BigInt(0)),w=(t=o,n=function(e){var t=0===e;return Promise.resolve(Je.generatePermitDataForToken({token:o[e],isFirstToken:t,oneToMany:g,totalSrcAmount:A,chainId:p,rpcUrls:u,sender:d,spender:c,permitType:T,signer:y,service:l,permitEIP2612DisabledTokens:f,contractVersion:b})).then(function(n){var a=n.status,r=n.permitData,s=n.permitType;if(a!==M.success)return v=1,{status:a,code:n.code,tokens:o};o[e].permitData=r;var i=function(){if(m&&!ue(o[e].address)){var n=g&&t?A.toString():o[e].amount;return Promise.resolve(m({permitData:r,srcToken:o[e].address,amount:n,permitType:s})).then(function(){})}}();return i&&i.then?i.then(function(){}):void 0})},a=function(){return v},i=-1,function e(p){try{for(;++i<t.length&&(!a||!a());)if((p=n(i))&&p.then){if(!it(p))return void p.then(e,s||(s=rt.bind(null,r=new st,2)));p=p.v}r?rt(r,1,p):r=p}catch(e){rt(r||(r=new st),2,e)}}(),r);return Promise.resolve(w&&w.then?w.then(h):h(w))}catch(e){return Promise.reject(e)}};var dt=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){var a=new e,r=this.s;if(r){var s=1&r?t:n;if(s){try{ut(a,1,s(this.v))}catch(e){ut(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?ut(a,1,t?t(r):r):n?ut(a,1,n(r)):ut(a,2,r)}catch(e){ut(a,2,e)}},a},e}();function yt(e){return e instanceof dt&&1&e.s}var lt,mt=function(e){var t=e.chainId,n=e.sender,a=e.tokens,r=e.rpcUrls,s=e.multicallAddress,i=e.mode,p=void 0===i?le.Default:i,o=e.spender,u=e.permitEIP2612DisabledTokens;try{var d={},y=a.filter(function(e){return ue(e.address)}),m=a.filter(function(e){return!ue(e.address)});return Promise.resolve(Promise.all(m.map(function(e){var a=e.address,s=e.amount;try{var i,d=function(e){return i?e:{token:a,spender:o,amount:s}},y=function(){if(p===le.Permit2){var e=Xe(t);return i=1,{token:a,spender:e,amount:s}}return function(){if(p===le.AutoPermit)return Promise.resolve(at({address:a,chainId:t,rpcUrls:r,permitEIP2612DisabledTokens:u,owner:n})).then(function(e){var n={token:a,spender:e.supportsPermit?o:Xe(t),amount:s,isEIP2612PermitSupported:e.supportsPermit};return i=1,n})}()}();return Promise.resolve(y&&y.then?y.then(d):d(y))}catch(e){return Promise.reject(e)}}))).then(function(e){for(var a,i=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,t){if(e){if("string"==typeof e)return L(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?L(e,t):void 0}}(e))){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(y);!(a=i()).done;)d[a.value.address]={allowance:l,approvalNeeded:!1,signatureNeeded:!1};return 0===m.length?{status:M.success,code:F.Success,data:d}:function(a,i){try{var o=Promise.resolve(function(e){var t=e.chainId,n=e.data,a=e.owner,r=e.multicallAddress,s=e.rpcUrls;try{var i=n.map(function(e){return{address:e.token,abi:T,functionName:me.allowance,args:[a,e.spender]}});return Promise.resolve(tt({chainId:t,contracts:i,rpcUrls:s,multicallAddress:r,allowFailure:!1})).then(function(e){var t=e.status,a=e.code,r=e.data;if(t!==M.success)return{status:t,code:a,data:{}};for(var s={},i=0;i<n.length;i++)s[n[i].token]=r[i];return{status:t,code:a,data:s}})}catch(e){return Promise.reject(e)}}({chainId:t,data:e,owner:n,multicallAddress:s,rpcUrls:r})).then(function(t){for(var n=t.data,a=0;a<e.length;a++){var r=e[a],s=r.token,i=r.isEIP2612PermitSupported,o=i?l:n[s],u=!i&&o<BigInt(r.amount);d[s]={allowance:o,approvalNeeded:u,signatureNeeded:p===le.Permit2||p===le.AutoPermit}}return{status:M.success,code:F.Success,data:d}})}catch(e){return i(e)}return o&&o.then?o.then(void 0,i):o}(0,function(e){return console.error("Multicall allowance check failed:",e),{status:M.error,code:F.Error,data:d}})})}catch(e){return Promise.reject(e)}},ct=function(e,t){try{return Promise.resolve(function(n,a){try{var r=Promise.resolve(x(e,A,"sendCalls")({account:e.account,calls:t.map(function(e){var t;return{to:e.to,data:e.data,value:null!=(t=e.value)?t:BigInt(0)}})}))}catch(e){return a(e)}return r&&r.then?r.then(void 0,a):r}(0,function(e){return console.warn("EIP-5792 batch calls not supported:",e),null}))}catch(e){return Promise.reject(e)}},Tt=function(e,t){try{return Promise.resolve(x(e,w,"waitForCallsStatus")({id:t,timeout:864e5})).then(function(e){var t=e.receipts,n=e.statusCode;if(e.status===M.success){if(null==t||!t.length||!t.every(function(e){return e.transactionHash})||t.some(function(e){return e.status===M.reverted}))throw new Error("Transaction was reverted.");return t[t.length-1]}if(n>=400&&n<500)throw new Error("Transaction was canceled.");throw new Error("Transaction failed.")})}catch(e){return Promise.reject(e)}},ft=function(){};lt=ft,ft.sendTransaction=function(e,t,n,a,r){try{var s,i=function(){return{status:M.success,code:F.Success,txnHash:s,additionalInfo:a,updatedQuotes:r}},p=oe(e)?Promise.resolve(e.sendTransaction({from:t.from,to:t.to,data:t.data,value:t.value,gasLimit:t.gasLimit})).then(function(e){s=e.hash}):Promise.resolve(e.sendTransaction({chain:$[n],account:t.from,to:t.to,data:t.data,value:BigInt(t.value)})).then(function(e){s=e});return Promise.resolve(p&&p.then?p.then(i):i())}catch(e){return Promise.reject(e)}},ft.sendTxnWithBatch=function(e,t,n,a,r,s,i,p){try{return Promise.resolve(function(e){var t=e.tokens,n=e.chainId,a=e.sender,r=e.spender,s=e.multicallAddress,i=e.rpcUrls;try{var p=t.filter(function(e){return!ue(e.address)});return 0===p.length?Promise.resolve([]):Promise.resolve(mt({chainId:n,sender:a,tokens:p,spender:r,multicallAddress:s,rpcUrls:i})).then(function(e){var t=e.data;return p.filter(function(e){var n;return null==(n=t[e.address])?void 0:n.approvalNeeded}).map(function(e){return{to:e.address,data:ot({spender:r,amount:BigInt(e.amount)}),value:BigInt(0)}})})}catch(e){return Promise.reject(e)}}({tokens:e.data.map(function(e){return{address:e.srcToken,amount:e.amount}}),chainId:a,multicallAddress:i,sender:n.from,spender:n.to,rpcUrls:p})).then(function(e){var i=[].concat(e,[{to:n.to,data:n.data,value:BigInt(n.value)}]);return 0===e.length?lt.sendTransaction(t,n,a,r,s):Promise.resolve(ct(t,i)).then(function(e){return e?(console.log("Waiting for batch transaction completion..."),Promise.resolve(Tt(t,e.id)).then(function(e){return console.log({receipt:e}),{status:M.success,code:F.Success,txnHash:e.transactionHash,additionalInfo:r,updatedQuotes:s}})):{status:M.error,errorMsg:"Batch call failed",code:F.Error}})})}catch(e){return Promise.reject(e)}},ft.buildAndSendTransaction=function(e){var t=e.request,n=e.signer,a=e.txnData,r=e.multicallAddress,s=e.batchTransaction,i=void 0!==s&&s,p=e.rpcUrls;try{return Promise.resolve(function(e,s){try{var o=function(){function e(){var e=s.additionalInfo,a=s.updatedQuotes,u={from:s.from,to:s.to,data:s.data,value:s.value,gasLimit:s.gasLimit};return i&&!oe(n)?lt.sendTxnWithBatch(t,n,u,o,e,a,r,p):(console.log("Using viem walletClient - sending regular transaction."),lt.sendTransaction(n,u,o,e,a))}var s,o=t.fromChain,u=function(){if(!a)return Promise.resolve(we(t)).then(function(e){s=e});s=a}();return u&&u.then?u.then(e):e()}()}catch(e){return s(e)}return o&&o.then?o.then(void 0,s):o}(0,function(e){var t,n,a,r,s,i,p,o,u;return console.log({error:e}),function(e){return Boolean(e)&&e.isAxiosError}(e)?(null==e||null==(t=e.response)?void 0:t.status)===F.SimulationFailure?{status:M.error,errorMsg:"Simulation Failed",error:(null==(p=e.response)?void 0:p.data).message,code:(null==(o=e.response)?void 0:o.data).code,action:(null==(u=e.response)?void 0:u.data).action}:{status:M.error,errorMsg:"Params Failed: "+JSON.stringify(null==e||null==(n=e.response)||null==(n=n.data)?void 0:n.message),error:null!=(a=null==e||null==(r=e.response)?void 0:r.data)?a:e,code:null!=(s=null==e||null==(i=e.response)?void 0:i.status)?s:F.Error}:ze({error:e})}))}catch(e){return Promise.reject(e)}};var bt,vt={execute:"execute"};function ht(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function gt(e,t,n){if(!e.s){if(n instanceof wt){if(!n.s)return void(n.o=gt.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(gt.bind(null,e,t),gt.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var At=function(){};const wt=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){const a=new e,r=this.s;if(r){const e=1&r?t:n;if(e){try{gt(a,1,e(this.v))}catch(e){gt(a,2,e)}return a}return this}return this.o=function(e){try{const r=e.v;1&e.s?gt(a,1,t?t(r):r):n?gt(a,1,n(r)):gt(a,2,r)}catch(e){gt(a,2,e)}},a},e}();function It(e){return e instanceof wt&&1&e.s}bt=At,At.execute=function(e){var t=e.chainId,n=e.txnData,a=e.signer;try{return Promise.resolve(ht(function(){var e,r=n.callData,s=n.callTo,i=n.value,p=n.estimatedGas;return oe(a)?(console.log("Using ethers signer."),Promise.resolve(a.getAddress()).then(function(e){return Promise.resolve(a.sendTransaction({from:e,to:s,data:r,value:BigInt(i),gasLimit:BigInt(p)?BigInt(p):void 0})).then(function(e){return{status:M.success,code:F.Success,txnHash:e.hash}})})):(console.log("Using viem walletClient."),Promise.resolve(a.sendTransaction({chain:$[t],account:null==(e=a.account)?void 0:e.address,to:n.callTo,data:n.callData,value:BigInt(n.value)})).then(function(e){return{status:M.success,code:F.Success,txnHash:e}}))},function(e){return console.log({error:e}),ze({error:e})}))}catch(e){return Promise.reject(e)}},At.approve=function(e){var t=e.chainId,n=e.data,a=e.signer;try{return Promise.resolve(ht(function(){var e=n.callData,r=n.callTo,s=n.value,i=n.estimatedGas,p=te({chainId:t,rpcUrls:void 0});return Promise.resolve(p.getBlockNumber()).then(function(p){return console.log("block Number and data"),console.dir(q({blockNumber:p},n),{depth:null}),oe(a)?(console.log("Using ethers signer."),Promise.resolve(a.getAddress()).then(function(t){return Promise.resolve(a.sendTransaction({from:t,to:r,data:e,value:BigInt(s),gasLimit:BigInt(i)?BigInt(i):void 0})).then(function(e){return{status:M.success,code:F.Success,txnHash:e.hash}})})):(console.log("Using viem walletClient."),Promise.resolve(a.sendTransaction({chain:$[t],account:null==(o=a.account)?void 0:o.address,to:n.callTo,data:n.callData,value:BigInt(n.value)})).then(function(e){return{status:M.success,code:F.Success,txnHash:e}}));var o})},function(e){return console.log({error:e}),ze({error:e})}))}catch(e){return Promise.reject(e)}},At.zap=function(e){var t=e.request,n=e.steps,a=e.signer;try{var r;return Promise.resolve(ht(function(){function e(e){var t,i;if(r)return e;function p(e){return t?e:{status:M.success,code:F.Success,txnHash:i}}var o,u,d,y,l,m,c=(o=n,u=function(e){var r=n[e];return function(){if(r.action===vt.execute)return Promise.resolve(bt.execute({chainId:s,txnData:r.data,signer:a})).then(function(e){if(e.status!==M.success)return t=1,e;i=e.txnHash})}()},d=function(){return t},m=-1,function e(t){try{for(;++m<o.length&&(!d||!d());)if((t=u(m))&&t.then){if(!It(t))return void t.then(e,l||(l=gt.bind(null,y=new wt,2)));t=t.v}y?gt(y,1,t):y=t}catch(e){gt(y||(y=new wt),2,e)}}(),y);return c&&c.then?c.then(p):p(c)}var s=t.srcChainId,i=function(){if(!n||0===n.length)return Promise.resolve(Ie(t)).then(function(e){if(!(n=e.data.steps)||0===n.length)return r=1,{status:M.error,code:F.FunctionNotFound,errorMsg:"No steps found in the zap route."}})}();return i&&i.then?i.then(e):e(i)},function(e){return console.log({error:e}),ze({error:e})}))}catch(e){return Promise.reject(e)}};var xt=function(e,t,n){return t?new _(d(BigInt(e),t)).mul(n||0).toFixed(5):"0"},_t=function(e){var t=new _(function(e){return e.fee.gasFee.reduce(function(e,t){return t.included?e:e.plus(t.amountUSD||"0")},new _(0)).toFixed(5)}(e));return e.fee.providerFee.forEach(function(e){e.included||(t=t.plus(new _(e.amountUSD||"0")))}),new _(e.destAmountUSD||"0").minus(t).toFixed(5)},Pt=function(e,t){var n=!1,a=function(e,a,r,s,i){var p,o=(null==(p=t[a])?void 0:p[r])||"0";return e.amountUSD&&0!==parseFloat(e.amountUSD)?e.amountUSD:(n=!1===e.included,xt(s,i,o))},r=function(e){return e.map(function(e){return q({},e,{amountUSD:a(e,e.chainId,e.address,e.amount,e.decimals)})})},s={gasFee:r(e.gasFee),providerFee:r(e.providerFee),protocolFee:r(e.protocolFee)};return{isUpdated:n,fee:s}},St=function(e,t){return e.path.map(function(n){return q({},n,{fee:Pt(n.fee,t).fee,srcAmountUSD:e.srcAmountUSD,destAmountUSD:e.destAmountUSD})})},Dt=/*#__PURE__*/function(){function e(){this.cancelTokenSource=null,this.priceService=void 0,this.priceService=new Le}e.getInstance=function(t,n){return e.instance||(e.instance=new e),t&&be.setApiKey(t),n&&be.setRpcUrlsByChainId(n),e.instance},e.getChainConfig=function(){try{var t=function(){return e.chainConfig},n=function(){if(!e.chainConfig)return Promise.resolve(xe()).then(function(t){var n={};t.forEach(function(e){n[e.chainId]||(n[e.chainId]=e)}),e.chainConfig=n})}();return Promise.resolve(n&&n.then?n.then(t):t())}catch(e){return Promise.reject(e)}},e.getDZapAbi=function(e,t){return de(e,t)};var t=e.prototype;return t.getTradeQuotes=function(t){try{var n=this;return Promise.resolve(function(e){return ge({endpoint:"/quotes",data:e,method:Te,shouldRetry:!0})}(t)).then(function(a){return Promise.resolve(e.getChainConfig()).then(function(e){return null===e?a:function(e,t,n,a){try{var r={};return Object.values(e).forEach(function(e){e.tokensWithoutPrice&&Object.entries(e.tokensWithoutPrice).forEach(function(e){var t=e[1],n=Number(e[0]);r[n]||(r[n]=new Set),t.forEach(function(e){return r[n].add(e)})})}),0===Object.keys(r).length?Promise.resolve(e):Promise.resolve(Promise.all(Object.entries(r).map(function(e){var t=e[0],r=e[1];try{var s=Number(t),i=Array.from(r);return Promise.resolve(n.getPrices({chainId:s,tokenAddresses:i,chainConfig:a,notAllowSources:[Me]})).then(function(e){return[s,e]})}catch(e){return Promise.reject(e)}}))).then(function(n){for(var a=Object.fromEntries(n),r=0,s=Object.values(e);r<s.length;r++){var i=s[r];if(i.quoteRates&&Object.keys(i.quoteRates).length){for(var p=!0,o=0,u=Object.values(i.quoteRates);o<u.length;o++){var d=u[o],y=d.srcToken.decimals,l=d.destToken.decimals,m=d.destToken.chainId;if(!Number(d.srcAmountUSD)){var c;p=!1;var T=(null==(c=a[t.fromChain])?void 0:c[d.srcToken.address])||"0";d.srcAmountUSD=xt(d.srcAmount,y,T)}if(!Number(d.destAmountUSD)){var f;p=!1;var b=(null==(f=a[m])?void 0:f[d.destToken.address])||"0";d.destAmountUSD=xt(d.destAmount,l,b)}if(Number(d.srcAmountUSD)&&Number(d.destAmountUSD)){var v=new _(d.destAmountUSD).minus(d.srcAmountUSD).div(d.srcAmountUSD).mul(100);d.priceImpactPercent=v.toFixed(2)}var h=Pt(d.fee,a);p=p&&!h.isUpdated,d.fee=h.fee,d.path=St(d,a)}0!==Object.keys(i.tokensWithoutPrice).length&&!1===p&&(i.quoteRates=Object.fromEntries(Object.entries(i.quoteRates).sort(function(e,t){var n=t[1],a=_t(e[1]),r=_t(n);return Number(r)-Number(a)})),i.recommendedSource=Object.keys(i.quoteRates)[0])}}return e})}catch(e){return Promise.reject(e)}}(a,t,n.priceService,e)})})}catch(e){return Promise.reject(e)}},t.buildTradeTxn=function(e){try{return Promise.resolve(we(e))}catch(e){return Promise.reject(e)}},t.getTradeTxnStatus=function(e){return function(e){return ge({endpoint:"/status",data:{txHash:e.txHash,txIds:e.txIds,chainId:e.chainId},method:ce})}({txHash:e.txHash,txIds:e.txIds,chainId:e.chainId})},t.getAllSupportedChains=function(){return xe()},t.getAllTokens=function(t,n,a){try{var r=this;return Promise.resolve(function(s,i){try{var p=Promise.resolve(Promise.allSettled([_e(t,n,a),e.getChainConfig()])).then(function(e){var n=e[0],a=e[1],s="fulfilled"===n.status?n.value:{},i="fulfilled"===a.status?a.value:null;return i?Promise.resolve(function(e,t,n,a){try{return Promise.resolve(function(r,s){try{var i=0===(p=Object.values(e).filter(function(e){var t=e.price;return(!t||"0"===t)&&"0"!==e.balance}).map(function(e){return e.contract})).length?e:Promise.resolve(a.getPrices({chainId:t,tokenAddresses:p,chainConfig:n,notAllowSources:[Me]})).then(function(t){return p.forEach(function(n){e[n].price=t[n]||e[n].price,e[n].balanceInUsd=t[n]?parseFloat(t[n])*parseFloat(d(BigInt(e[n].balance),e[n].decimals)):null}),r=(n=Object.entries(e).reduce(function(e,t){var n=t[0],a=t[1];return null!==a.balanceInUsd?e.withBalanceInUsd.push([n,a]):e.withoutBalanceInUsd.push([n,a]),e},{withBalanceInUsd:[],withoutBalanceInUsd:[]})).withoutBalanceInUsd,(a=n.withBalanceInUsd).sort(function(e,t){return t[1].balanceInUsd-e[1].balanceInUsd}),Object.fromEntries([].concat(a,r));var n,a,r})}catch(e){return s(e)}var p;return i&&i.then?i.then(void 0,s):i}(0,function(t){return console.error("Error fetching token prices:",t),e}))}catch(e){return Promise.reject(e)}}(s,t,i,r.priceService)):s})}catch(e){return i(e)}return p&&p.then?p.then(void 0,i):p}(0,function(e){return console.error("Error fetching or updating tokens:",e),{}}))}catch(e){return Promise.reject(e)}},t.getTokenDetails=function(e,t,n,a,r){try{return Promise.resolve(Pe(e,t,n,a,r))}catch(e){return Promise.reject(e)}},t.getTokensDetails=function(e,t,n,a,r){try{return Promise.resolve(Pe(e,t,n,a,r))}catch(e){return Promise.reject(e)}},t.getTokenPrices=function(t,n){try{var a=this;return Promise.resolve(e.getChainConfig()).then(function(e){return Promise.resolve(a.priceService.getPrices({chainId:n,tokenAddresses:t,chainConfig:e}))})}catch(e){return Promise.reject(e)}},t.trade=function(t){var n=t.request,a=t.signer,r=t.txnData,s=t.batchTransaction,i=void 0!==s&&s,p=t.rpcUrls;try{return Promise.resolve(e.getChainConfig()).then(function(e){var t;return Promise.resolve(ft.buildAndSendTransaction({request:n,signer:a,txnData:r,batchTransaction:i,multicallAddress:null==e||null==(t=e[n.fromChain])?void 0:t.multicallAddress,rpcUrls:p}))})}catch(e){return Promise.reject(e)}},t.sendTransaction=function(e){var t=e.signer,n=e.txnData;try{return Promise.resolve(We.sendTransaction(q({signer:t},n)))}catch(e){return Promise.reject(e)}},t.waitForBatchTransactionReceipt=function(e){var t=e.walletClient,n=e.batchHash;try{return Promise.resolve(Tt(t,n))}catch(e){return Promise.reject(e)}},t.decodeTxnData=function(t){var n=t.data,a=t.service,r=t.chainId;try{return Promise.resolve(e.getChainConfig()).then(function(e){if(null===e||null==(null==e?void 0:e[r]))throw new Error("Chains config not found");return function(e,t,n){var a,r,s=[],i=de(t,(null==n?void 0:n.version)||C.v1);try{s=u({abi:i,logs:e.logs})}catch(e){s=[]}var p=null==(r=(s=null==(a=s)?void 0:a.filter(function(e){return null!==e}))[0])?void 0:r.args,o=[],d=[];if(Array.isArray(null==p?void 0:p.swapInfo))d=p.swapInfo.map(function(e){var t,a,r,s;return BigInt(e.returnToAmount)!==BigInt(0)&&BigInt(e.fromAmount)!==BigInt(0)||o.push(ae({srcToken:e.fromToken,destToken:e.toToken,srcChainId:n.chainId,destChainId:n.chainId,srcChainNativeAddress:null==n||null==(r=n.nativeToken)?void 0:r.contract,destChainNativeAddress:null==n||null==(s=n.nativeToken)?void 0:s.contract})),q({},e,{fromToken:ne(e.fromToken,null==n||null==(t=n.nativeToken)?void 0:t.contract),toToken:ne(e.toToken,null==n||null==(a=n.nativeToken)?void 0:a.contract)})});else if("object"==typeof(null==p?void 0:p.swapInfo)&&Object.keys(null==p?void 0:p.swapInfo).length>0){var y,l,m,c,T=p.swapInfo,f=T.fromAmount,b=T.fromToken,v=T.toToken;BigInt(T.returnToAmount)!==BigInt(0)&&BigInt(f)!==BigInt(0)||o.push(ae({srcToken:b,destToken:v,srcChainId:n.chainId,destChainId:n.chainId,srcChainNativeAddress:null==n||null==(m=n.nativeToken)?void 0:m.contract,destChainNativeAddress:null==n||null==(c=n.nativeToken)?void 0:c.contract})),d=q({},p.swapInfo,{fromToken:ne(p.swapInfo.fromToken,null==n||null==(y=n.nativeToken)?void 0:y.contract),toToken:ne(p.swapInfo.toToken,null==n||null==(l=n.nativeToken)?void 0:l.contract)})}return{swapInfo:d,swapFailPairs:o}}(n,a,e[r])})}catch(e){return Promise.reject(e)}},t.calculatePoints=function(e){try{return Promise.resolve(function(e){return ge({endpoint:"user/calculatePoints",data:e,method:Te})}(e))}catch(e){return Promise.reject(e)}},t.getDZapContractAddress=function(t){var n=t.chainId,a=t.service;try{return Promise.resolve(e.getChainConfig()).then(function(e){var t;if(!e[n].isEnabled||!e)throw new Error("Chains config not found");var r=e[n];if(null==r||!r.contracts)throw new Error("No contracts found for chain: "+n);var s=((t={})[R.trade]=r.contracts.router,t[R.dca]=r.contracts.dca,t[R.zap]=r.contracts.zap,t)[a];if(!s)throw new Error('Contract not found for service "'+a+'" on chain: '+n);return s})}catch(e){return Promise.reject(e)}},t.getAllowance=function(t){var n=t.chainId,a=t.sender,r=t.tokens,s=t.service,i=t.rpcUrls,p=t.spender,o=t.mode,u=void 0===o?le.AutoPermit:o;try{var d=this;return Promise.resolve(e.getChainConfig()).then(function(e){function t(t){var s,p,o=null==e||null==(s=e[n])?void 0:s.multicallAddress;return Promise.resolve(mt({chainId:n,sender:a,tokens:r,rpcUrls:i||be.getRpcUrlsByChainId(n),mode:u,spender:t,multicallAddress:o,permitEIP2612DisabledTokens:null==(p=e[n].permitDisabledTokens)?void 0:p.eip2612}))}return p?t(p):Promise.resolve(d.getDZapContractAddress({chainId:n,service:s})).then(t)})}catch(e){return Promise.reject(e)}},t.approve=function(e){var t=e.chainId,n=e.signer,a=e.tokens,r=e.approvalTxnCallback,s=e.service,i=e.mode,p=void 0===i?le.AutoPermit:i,o=e.rpcUrls,u=e.spender;try{var d=function(e){return Promise.resolve(function(e){var t,n,a,r,s,i,p=e.chainId,o=e.signer,u=e.rpcUrls,d=e.mode,y=e.tokens,l=e.approvalTxnCallback,m=e.spender;try{var f,b=function(e){return f?e:{status:M.success,code:F.Success}};d!==le.AutoPermit&&d!==le.Permit2||(m=Xe(p));var v=(t=y,n=function(e){function t(t){if(f)return t;if(n.code!==F.Success){var a,r={status:n.status,code:(null==(a=n)?void 0:a.code)||F.FunctionNotFound};return f=1,r}return function(){if(l)return Promise.resolve(l({txnDetails:n,address:y[e].address})).then(function(e){if(e&&e!==M.success){var t,a={status:n.status,code:(null==(t=n)?void 0:t.code)||F.Error};return f=1,a}})}()}var n={status:M.success,code:F.Success,txnHash:""},a=oe(o)?Promise.resolve(o.getAddress()).then(function(t){var n=c({abi:T,functionName:me.approve,args:[m,BigInt(y[e].amount)]});return Promise.resolve(o.sendTransaction({from:t,chainId:p,to:y[e].address,data:n})).then(function(){return f=1,{status:M.success,code:F.Success}})}):Promise.resolve(function(e){var t=e.chainId,n=e.contractAddress,a=e.abi,r=e.functionName,s=e.args,i=void 0===s?[]:s,p=e.value,o=void 0===p?"0":p,u=e.rpcUrls,d=void 0===u?[""]:u,y=e.signer;try{var l=te({chainId:t,rpcUrls:d});return Promise.resolve(function(e,t){try{var s=Promise.resolve(l.simulateContract({address:n,abi:a,functionName:r,args:i,account:y.account,value:BigInt(o)})).then(function(e){return Promise.resolve(y.writeContract(e.request)).then(function(e){return{txnHash:e,status:M.success,code:F.Success}})})}catch(e){return t(e)}return s&&s.then?s.then(void 0,t):s}(0,function(e){return console.log({e:e}),(null==e?void 0:e.code)===F.UserRejectedRequest?{status:M.rejected,code:null==e?void 0:e.code,txnHash:""}:{status:M.error,code:null==e?void 0:e.code,txnHash:""}}))}catch(e){return Promise.reject(e)}}({chainId:p,contractAddress:y[e].address,abi:T,functionName:me.approve,args:[m,y[e].amount],rpcUrls:u,signer:o})).then(function(e){n=e});return a&&a.then?a.then(t):t(a)},a=function(){return f},i=-1,function e(p){try{for(;++i<t.length&&(!a||!a());)if((p=n(i))&&p.then){if(!yt(p))return void p.then(e,s||(s=ut.bind(null,r=new dt,2)));p=p.v}r?ut(r,1,p):r=p}catch(e){ut(r||(r=new dt),2,e)}}(),r);return Promise.resolve(v&&v.then?v.then(b):b(v))}catch(e){return Promise.reject(e)}}({chainId:t,signer:n,rpcUrls:o||be.getRpcUrlsByChainId(t),tokens:a,approvalTxnCallback:r,mode:p,spender:e}))};return Promise.resolve(u?d(u):Promise.resolve(this.getDZapContractAddress({chainId:t,service:s})).then(d))}catch(e){return Promise.reject(e)}},t.sign=function(t){var n=t.chainId,a=t.sender,r=t.tokens,s=t.service,i=t.spender,p=t.rpcUrls,o=t.signer,u=t.permitType,d=void 0===u?ye.AutoPermit:u,y=t.signatureCallback;try{var l=function(t){return Promise.resolve(e.getChainConfig()).then(function(e){var i,u;return Promise.resolve(pt.signPermit({chainId:n,sender:a,tokens:r,rpcUrls:p||be.getRpcUrlsByChainId(n),service:s,signer:o,spender:t,permitType:d,signatureCallback:y,permitEIP2612DisabledTokens:null==(i=e[n])||null==(i=i.permitDisabledTokens)?void 0:i.eip2612,contractVersion:(null==(u=e[n])?void 0:u.version)||C.v1}))})};return Promise.resolve(i?l(i):Promise.resolve(this.getDZapContractAddress({chainId:n,service:s})).then(l))}catch(e){return Promise.reject(e)}},t.zap=function(e){var t=e.request,n=e.steps,a=e.signer;try{return Promise.resolve(At.zap({request:t,steps:n,signer:a}))}catch(e){return Promise.reject(e)}},t.buildZapTxn=function(e){try{var t=this;return t.cancelTokenSource&&t.cancelTokenSource.cancel("Cancelled due to new request"),t.cancelTokenSource=g.CancelToken.source(),Promise.resolve(Ie(e,t.cancelTokenSource.token)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},t.getZapQuote=function(e){try{var t=this;return t.cancelTokenSource&&t.cancelTokenSource.cancel("Cancelled due to new request"),t.cancelTokenSource=g.CancelToken.source(),Promise.resolve(function(e,t){return Ae({endpoint:"/quote",data:e,method:Te,cancelToken:t})}(e,t.cancelTokenSource.token)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},t.getZapTxnStatus=function(e){try{return Promise.resolve(function(e){return Ae({endpoint:"/status",data:e,method:ce})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},t.getBalances=function(e,t){try{return Promise.resolve(function(e,t){return ge({endpoint:"token/balance-of",data:{chainId:e,account:t},method:ce})}(e,t)).then(function(e){return e.result})}catch(e){return Promise.reject(e)}},t.sendBatchCalls=function(e){var t=e.walletClient,n=e.calls;try{return Promise.resolve(ct(t,n))}catch(e){return Promise.reject(e)}},t.getZapPositions=function(e){try{return Promise.resolve(function(e){return Ae({endpoint:"/user/positions",data:e,method:ce})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},t.getZapPools=function(e){try{return Promise.resolve(function(e){return Ae({endpoint:"/pools",data:e,method:ce})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},t.getZapPoolDetails=function(e){try{return Promise.resolve(function(e){return Ae({endpoint:"/pool/details",data:e,method:ce})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},t.getZapChains=function(){try{return Promise.resolve(Ae({endpoint:"/config/chains",method:ce})).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},t.getZapProviders=function(){try{return Promise.resolve(Ae({endpoint:"/config/providers",method:ce})).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},e}();Dt.instance=void 0,Dt.chainConfig=null,Dt.getOtherAbi=function(e){return function(e){switch(e){case B.permit2:return W;case B.erc20:return H;default:throw new Error("Invalid Abi")}}(e)};var kt=function(e){var t=e.client,n=e.chainId,a=e.skipReady,r=void 0!==a&&a;return Promise.resolve(function(){try{var e=Promise.resolve(f(function(){try{return Promise.resolve(x(t,I,"getCapabilities")({chainId:n}))}catch(e){return Promise.reject(e)}},{timeout:2e3,errorInstance:new Error("Timeout")})).then(function(e){var t,n,a;return(null==e||null==(t=e.atomicBatch)?void 0:t.supported)||"supported"===(null==e||null==(n=e.atomic)?void 0:n.status)||!r&&"ready"===(null==e||null==(a=e.atomic)?void 0:a.status)||!1})}catch(e){return!1}return e&&e.then?e.then(void 0,function(){return!1}):e}())},Ct={swap:"swap",bridge:"bridge",deposit:"deposit",withdraw:"withdraw",stake:"stake",unstake:"unstake"};export{le as ApprovalModes,Dt as DZapClient,B as OtherAbis,D as PermitType,ye as PermitTypes,U as QuoteFilters,N as STATUS,R as Services,V as SignatureExpiryInSecs,F as StatusCodes,M as TxnStatus,at as checkEIP2612PermitSupport,Z as contractErrorActions,me as erc20Functions,ne as formatToken,ae as getTokensPairKey,kt as isBatchTxnSupportedByWallet,Ct as zapPathAction,vt as zapStepAction};
|
|
2
2
|
//# sourceMappingURL=index.m.js.map
|