@dzapio/sdk 1.0.1

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.
Files changed (79) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/LICENSE +21 -0
  3. package/README.md +355 -0
  4. package/dist/api/index.d.ts +19 -0
  5. package/dist/artifacts/ERC20Permit.d.ts +336 -0
  6. package/dist/artifacts/Permit2.d.ts +700 -0
  7. package/dist/artifacts/default/DZapCoreAbi.d.ts +2 -0
  8. package/dist/artifacts/default/DZapDcaAbi.d.ts +2 -0
  9. package/dist/artifacts/default/Permit2Abi.d.ts +70 -0
  10. package/dist/artifacts/default/erc20Abi.d.ts +165 -0
  11. package/dist/artifacts/default/index.d.ts +5 -0
  12. package/dist/artifacts/index.d.ts +2 -0
  13. package/dist/artifacts/staging/DZapCoreSwapAbi.d.ts +2 -0
  14. package/dist/artifacts/staging/index.d.ts +2 -0
  15. package/dist/axios/baseClient.d.ts +2 -0
  16. package/dist/axios/index.d.ts +8 -0
  17. package/dist/config.d.ts +16 -0
  18. package/dist/constants/address.d.ts +13 -0
  19. package/dist/constants/approval.d.ts +5 -0
  20. package/dist/constants/axios.d.ts +2 -0
  21. package/dist/constants/chains.d.ts +16 -0
  22. package/dist/constants/contract.d.ts +6 -0
  23. package/dist/constants/erc20.d.ts +22 -0
  24. package/dist/constants/httpMethods.d.ts +2 -0
  25. package/dist/constants/index.d.ts +43 -0
  26. package/dist/constants/permit.d.ts +5 -0
  27. package/dist/constants/permit2.d.ts +2 -0
  28. package/dist/constants/rpc.d.ts +2 -0
  29. package/dist/constants/urlConstants.d.ts +13 -0
  30. package/dist/dZapClient/index.d.ts +383 -0
  31. package/dist/enums/index.d.ts +36 -0
  32. package/dist/index.d.ts +15 -0
  33. package/dist/index.js +2 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/index.m.js +2 -0
  36. package/dist/index.m.js.map +1 -0
  37. package/dist/index.umd.js +2 -0
  38. package/dist/index.umd.js.map +1 -0
  39. package/dist/service/cache/cacheProvider.d.ts +10 -0
  40. package/dist/service/cache/constant.d.ts +2 -0
  41. package/dist/service/price/index.d.ts +16 -0
  42. package/dist/service/price/provider/coingecko/config.d.ts +6 -0
  43. package/dist/service/price/provider/coingecko/index.d.ts +9 -0
  44. package/dist/service/price/provider/defiLlama/config.d.ts +3 -0
  45. package/dist/service/price/provider/defiLlama/index.d.ts +9 -0
  46. package/dist/service/price/provider/defiLlama/types.d.ts +11 -0
  47. package/dist/service/price/provider/dzap/index.d.ts +6 -0
  48. package/dist/service/price/types/IPriceProvider.d.ts +14 -0
  49. package/dist/transactionHandlers/generic.d.ts +24 -0
  50. package/dist/transactionHandlers/permit.d.ts +58 -0
  51. package/dist/transactionHandlers/trade.d.ts +11 -0
  52. package/dist/transactionHandlers/zap.d.ts +37 -0
  53. package/dist/types/axiosClient.d.ts +6 -0
  54. package/dist/types/btc.d.ts +45 -0
  55. package/dist/types/chains.d.ts +2 -0
  56. package/dist/types/contract.d.ts +14 -0
  57. package/dist/types/eip-2612.d.ts +6 -0
  58. package/dist/types/index.d.ts +317 -0
  59. package/dist/types/zap/index.d.ts +65 -0
  60. package/dist/types/zap/path.d.ts +36 -0
  61. package/dist/types/zap/step.d.ts +15 -0
  62. package/dist/utils/amount.d.ts +82 -0
  63. package/dist/utils/axios.d.ts +13 -0
  64. package/dist/utils/chains.d.ts +2 -0
  65. package/dist/utils/date.d.ts +1 -0
  66. package/dist/utils/erc20.d.ts +61 -0
  67. package/dist/utils/errors.d.ts +16 -0
  68. package/dist/utils/index.d.ts +3940 -0
  69. package/dist/utils/multicall.d.ts +12 -0
  70. package/dist/utils/permit/permit2Methods.d.ts +32 -0
  71. package/dist/utils/permit/permitMethods.d.ts +29 -0
  72. package/dist/utils/signTypedData.d.ts +11 -0
  73. package/dist/utils/tokens.d.ts +7 -0
  74. package/dist/utils/updateQuotes.d.ts +3 -0
  75. package/dist/zap/constants/index.d.ts +2 -0
  76. package/dist/zap/constants/path.d.ts +8 -0
  77. package/dist/zap/constants/step.d.ts +3 -0
  78. package/dist/zap/constants/urls.d.ts +3 -0
  79. package/package.json +115 -0
@@ -0,0 +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,O,q=[{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"}],name:"AllowanceExpired",type:"error"},{inputs:[],name:"ExcessiveInvalidation",type:"error"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"InsufficientAllowance",type:"error"},{inputs:[{internalType:"uint256",name:"maxAmount",type:"uint256"}],name:"InvalidAmount",type:"error"},{inputs:[],name:"InvalidContractSignature",type:"error"},{inputs:[],name:"InvalidNonce",type:"error"},{inputs:[],name:"InvalidSignature",type:"error"},{inputs:[],name:"InvalidSignatureLength",type:"error"},{inputs:[],name:"InvalidSigner",type:"error"},{inputs:[],name:"LengthMismatch",type:"error"},{inputs:[{internalType:"uint256",name:"signatureDeadline",type:"uint256"}],name:"SignatureExpired",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"spender",type:"address"}],name:"Lockdown",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint48",name:"newNonce",type:"uint48"},{indexed:!1,internalType:"uint48",name:"oldNonce",type:"uint48"}],name:"NonceInvalidation",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"},{indexed:!1,internalType:"uint48",name:"nonce",type:"uint48"}],name:"Permit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"uint256",name:"word",type:"uint256"},{indexed:!1,internalType:"uint256",name:"mask",type:"uint256"}],name:"UnorderedNonceInvalidation",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint48",name:"newNonce",type:"uint48"}],name:"invalidateNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"wordPos",type:"uint256"},{internalType:"uint256",name:"mask",type:"uint256"}],name:"invalidateUnorderedNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"}],internalType:"struct IAllowanceTransfer.TokenSpenderPair[]",name:"approvals",type:"tuple[]"}],name:"lockdown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"nonceBitmap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails[]",name:"details",type:"tuple[]"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitBatch",name:"permitBatch",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails",name:"details",type:"tuple"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitSingle",name:"permitSingle",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],internalType:"struct IAllowanceTransfer.AllowanceTransferDetails[]",name:"transferDetails",type:"tuple[]"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"}],L=[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"}],Z=[{inputs:[{internalType:"address",name:"_relayReceiver",type:"address"},{internalType:"address",name:"_relaySolver",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{type:"error",name:"CannotAuthorizeSelf",inputs:[]},{type:"error",name:"OnlyContractOwner",inputs:[]},{type:"error",name:"BridgeCallFailed",inputs:[{type:"bytes",name:"reason"}]},{type:"error",name:"CannotBridgeToSameNetwork",inputs:[]},{type:"error",name:"InformationMismatch",inputs:[]},{type:"error",name:"InsufficientBalance",inputs:[{type:"uint256",name:"amount"},{type:"uint256",name:"contractBalance"}]},{type:"error",name:"IntegratorNotAllowed",inputs:[]},{type:"error",name:"InvalidAmount",inputs:[]},{type:"error",name:"InvalidLength",inputs:[]},{type:"error",name:"InvalidPermit",inputs:[]},{type:"error",name:"InvalidPermitData",inputs:[]},{type:"error",name:"NativeTransferFailed",inputs:[]},{type:"error",name:"NoTransferToNullAddress",inputs:[]},{type:"error",name:"NotAContract",inputs:[]},{type:"error",name:"NullAddrIsNotAValidSpender",inputs:[]},{type:"error",name:"NullAddrIsNotAnERC20Token",inputs:[]},{type:"error",name:"UnAuthorizedCall",inputs:[{type:"address"}]},{type:"error",name:"CannotBridgeToSameNetwork",inputs:[]},{type:"error",name:"InformationMismatch",inputs:[]},{type:"error",name:"InsufficientBalance",inputs:[{type:"uint256",name:"amount"},{type:"uint256",name:"contractBalance"}]},{type:"error",name:"IntegratorNotAllowed",inputs:[]},{type:"error",name:"InvalidAmount",inputs:[]},{type:"error",name:"InvalidLength",inputs:[]},{type:"error",name:"InvalidPermit",inputs:[]},{type:"error",name:"InvalidPermitData",inputs:[]},{type:"error",name:"NativeTransferFailed",inputs:[]},{type:"error",name:"NoTransferToNullAddress",inputs:[]},{type:"error",name:"NullAddrIsNotAnERC20Token",inputs:[]},{type:"error",name:"BridgeNotAdded",inputs:[{type:"address"}]},{type:"error",name:"CannotAuthorizeSelf",inputs:[]},{type:"error",name:"UnAuthorized",inputs:[]},{type:"error",name:"BridgeCallFailed",inputs:[{type:"bytes",name:"reason"}]},{type:"error",name:"CannotBridgeToSameNetwork",inputs:[]},{type:"error",name:"ContractCallNotAllowed",inputs:[]},{type:"error",name:"InformationMismatch",inputs:[]},{type:"error",name:"InsufficientBalance",inputs:[{type:"uint256",name:"amount"},{type:"uint256",name:"contractBalance"}]},{type:"error",name:"IntegratorNotAllowed",inputs:[]},{type:"error",name:"InvalidAmount",inputs:[]},{type:"error",name:"InvalidContract",inputs:[]},{type:"error",name:"InvalidLength",inputs:[]},{type:"error",name:"InvalidPermit",inputs:[]},{type:"error",name:"InvalidPermitData",inputs:[]},{type:"error",name:"InvalidSwapDetails",inputs:[]},{type:"error",name:"NativeTransferFailed",inputs:[]},{type:"error",name:"NoSwapFromZeroBalance",inputs:[]},{type:"error",name:"NoTransferToNullAddress",inputs:[]},{type:"error",name:"NotAContract",inputs:[]},{type:"error",name:"NullAddrIsNotAValidSpender",inputs:[]},{type:"error",name:"NullAddrIsNotAnERC20Token",inputs:[]},{type:"error",name:"SlippageTooLow",inputs:[{type:"uint256",name:"minAmount"},{type:"uint256",name:"returnAmount"}]},{type:"error",name:"SwapCallFailed",inputs:[{type:"bytes",name:"reason"}]},{type:"error",name:"UnAuthorizedCall",inputs:[{type:"address"}]},{type:"error",name:"CannotAuthorizeSelf",inputs:[]},{type:"error",name:"InvalidContract",inputs:[]},{type:"error",name:"UnAuthorized",inputs:[]},{type:"error",name:"CalldataEmptyButInitNotZero",inputs:[]},{type:"error",name:"FacetAddressIsNotZero",inputs:[]},{type:"error",name:"FacetAddressIsZero",inputs:[]},{type:"error",name:"FacetContainsNoCode",inputs:[]},{type:"error",name:"FunctionAlreadyExists",inputs:[]},{type:"error",name:"FunctionDoesNotExist",inputs:[]},{type:"error",name:"FunctionIsImmutable",inputs:[]},{type:"error",name:"IncorrectFacetCutAction",inputs:[]},{type:"error",name:"InitReverted",inputs:[{type:"bytes",name:"reason"}]},{type:"error",name:"InitZeroButCalldataNotEmpty",inputs:[]},{type:"error",name:"NoSelectorsInFace",inputs:[]},{type:"error",name:"OnlyContractOwner",inputs:[]},{type:"error",name:"AlreadyInitialized",inputs:[]},{type:"error",name:"FeeTooHigh",inputs:[]},{type:"error",name:"InvalidFee",inputs:[]},{type:"error",name:"OnlyContractOwner",inputs:[]},{type:"error",name:"ZeroAddress",inputs:[]},{type:"error",name:"CalldataEmptyButInitNotZero",inputs:[]},{type:"error",name:"FacetAddressIsNotZero",inputs:[]},{type:"error",name:"FacetAddressIsZero",inputs:[]},{type:"error",name:"FacetContainsNoCode",inputs:[]},{type:"error",name:"FunctionAlreadyExists",inputs:[]},{type:"error",name:"FunctionDoesNotExist",inputs:[]},{type:"error",name:"FunctionIsImmutable",inputs:[]},{type:"error",name:"IncorrectFacetCutAction",inputs:[]},{type:"error",name:"InitReverted",inputs:[{type:"bytes",name:"reason"}]},{type:"error",name:"InitZeroButCalldataNotEmpty",inputs:[]},{type:"error",name:"NoSelectorsInFace",inputs:[]},{type:"error",name:"ZeroAddress",inputs:[]},{type:"error",name:"FeeTooHigh",inputs:[]},{type:"error",name:"IntegratorNotActive",inputs:[]},{type:"error",name:"IntegratorNotAllowed",inputs:[]},{type:"error",name:"ShareTooHigh",inputs:[]},{type:"error",name:"UnAuthorized",inputs:[]},{type:"error",name:"ZeroAddress",inputs:[]},{type:"error",name:"OnlyContractOwner",inputs:[]},{type:"error",name:"AllSwapsFailed",inputs:[]},{type:"error",name:"ContractCallNotAllowed",inputs:[]},{type:"error",name:"InsufficientBalance",inputs:[{type:"uint256",name:"amount"},{type:"uint256",name:"contractBalance"}]},{type:"error",name:"IntegratorNotAllowed",inputs:[]},{type:"error",name:"InvalidAmount",inputs:[]},{type:"error",name:"InvalidContract",inputs:[]},{type:"error",name:"InvalidPermit",inputs:[]},{type:"error",name:"InvalidPermitData",inputs:[]},{type:"error",name:"NativeTransferFailed",inputs:[]},{type:"error",name:"NoSwapFromZeroBalance",inputs:[]},{type:"error",name:"NoTransferToNullAddress",inputs:[]},{type:"error",name:"NullAddrIsNotAValidSpender",inputs:[]},{type:"error",name:"NullAddrIsNotAnERC20Token",inputs:[]},{type:"error",name:"SlippageTooLow",inputs:[{type:"uint256",name:"minAmount"},{type:"uint256",name:"returnAmount"}]},{type:"error",name:"SwapCallFailed",inputs:[{type:"bytes",name:"reason"}]},{type:"error",name:"ZeroAddress",inputs:[]},{type:"error",name:"InsufficientBalance",inputs:[{type:"uint256",name:"amount"},{type:"uint256",name:"contractBalance"}]},{type:"error",name:"NativeTransferFailed",inputs:[]},{type:"error",name:"NoTransferToNullAddress",inputs:[]},{type:"error",name:"NotAContract",inputs:[]},{type:"error",name:"NullAddrIsNotAnERC20Token",inputs:[]},{type:"error",name:"ReentrancyError",inputs:[]},{type:"error",name:"UnAuthorized",inputs:[]},{type:"error",name:"WithdrawFailed",inputs:[]},{type:"event",anonymous:!1,name:"DexAdded",inputs:[{type:"address",name:"dexAddress",indexed:!0}]},{type:"event",anonymous:!1,name:"DexRemoved",inputs:[{type:"address",name:"dexAddress",indexed:!0}]},{type:"event",anonymous:!1,name:"FunctionSignatureApprovalChanged",inputs:[{type:"address",name:"dex",indexed:!0},{type:"bytes4",name:"functionSignature",indexed:!0},{type:"bool",name:"approved",indexed:!0}]},{type:"event",anonymous:!1,name:"AdaptersAdded",inputs:[{type:"address[]",name:"adapters",indexed:!1}]},{type:"event",anonymous:!1,name:"AdaptersRemoved",inputs:[{type:"address[]",name:"adapters",indexed:!1}]},{type:"event",anonymous:!1,name:"BridgeAdded",inputs:[{type:"address[]",name:"bridges",indexed:!1}]},{type:"event",anonymous:!1,name:"BridgeRemoved",inputs:[{type:"address[]",name:"bridges",indexed:!1}]},{type:"event",anonymous:!1,name:"SelectorToInfoUpdated",inputs:[{type:"address[]",name:"bridges",indexed:!1},{type:"bytes4[]",name:"selectors",indexed:!1},{type:"uint256[]",name:"info",indexed:!1}]},{type:"event",anonymous:!1,name:"SetDzapFixedNativeFeeAmount",inputs:[{type:"uint256",name:"fee",indexed:!1}]},{type:"event",anonymous:!1,name:"SetDzapTokenFee",inputs:[{type:"uint256",name:"fee",indexed:!1}]},{type:"event",anonymous:!1,name:"SetFixedNativeFee",inputs:[{type:"uint256",name:"fee",indexed:!1}]},{type:"event",anonymous:!1,name:"SetIntegrator",inputs:[{type:"address",name:"integrator",indexed:!1},{type:"uint8[]",name:"feeType",indexed:!1},{type:"tuple[]",name:"info",indexed:!1,components:[{type:"uint256",name:"tokenFee"},{type:"uint256",name:"fixedNativeFeeAmount"},{type:"uint256",name:"dzapTokenShare"},{type:"uint256",name:"dzapFixedNativeShare"}]}]},{type:"event",anonymous:!1,name:"SetMaxPlatformFee",inputs:[{type:"uint256",name:"fee",indexed:!1}]},{type:"event",anonymous:!1,name:"SetPlatformFee",inputs:[{type:"uint256",name:"fee",indexed:!1}]},{type:"event",anonymous:!1,name:"MultiSwapped",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"address",name:"recipient",indexed:!1},{type:"tuple[]",name:"swapInfo",indexed:!1,components:[{type:"address",name:"dex"},{type:"address",name:"fromToken"},{type:"address",name:"toToken"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"leftOverFromAmount"},{type:"uint256",name:"returnToAmount"}]}]},{type:"event",anonymous:!1,name:"Swapped",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"address",name:"recipient",indexed:!1},{type:"tuple",name:"swapInfo",indexed:!1,components:[{type:"address",name:"dex"},{type:"address",name:"fromToken"},{type:"address",name:"toToken"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"leftOverFromAmount"},{type:"uint256",name:"returnToAmount"}]}]},{type:"event",anonymous:!1,name:"SwappedSingleToken",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"address",name:"recipient",indexed:!1},{type:"tuple",name:"swapInfo",indexed:!1,components:[{type:"address",name:"dex"},{type:"address",name:"fromToken"},{type:"address",name:"toToken"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"leftOverFromAmount"},{type:"uint256",name:"returnToAmount"}]}]},{type:"event",anonymous:!1,name:"BridgeTransferStarted",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"tuple",name:"bridgeData",indexed:!1,components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]}]},{type:"event",anonymous:!1,name:"MultiTokenBridgeTransferStarted",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"tuple[]",name:"bridgeData",indexed:!1,components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]}]},{type:"event",anonymous:!1,name:"SwapBridgeTransferStarted",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"tuple[]",name:"bridgeData",indexed:!1,components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]},{type:"tuple[]",name:"swapInfo",indexed:!1,components:[{type:"address",name:"dex"},{type:"address",name:"fromToken"},{type:"address",name:"toToken"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"leftOverFromAmount"},{type:"uint256",name:"returnToAmount"}]}]},{type:"event",anonymous:!1,name:"BatchBridgeTransferStart",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"tuple[]",name:"bridgeData",indexed:!1,components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]}]},{type:"event",anonymous:!1,name:"BatchSwapAndBridgeTransferStart",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"tuple[]",name:"bridgeData",indexed:!1,components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]},{type:"tuple[]",name:"swapInfo",indexed:!1,components:[{type:"address",name:"dex"},{type:"address",name:"fromToken"},{type:"address",name:"toToken"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"leftOverFromAmount"},{type:"uint256",name:"returnToAmount"}]}]},{type:"event",anonymous:!1,name:"GasZipBridgeTransferStarted",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"tuple",name:"gasZipData",indexed:!1,components:[{type:"bytes32",name:"recipient"},{type:"uint256",name:"destChains"},{type:"uint256",name:"depositAmount"}]}]},{type:"event",anonymous:!1,name:"GasZipSwapBridgeTransferStarted",inputs:[{type:"bytes32",name:"transactionId",indexed:!0},{type:"address",name:"integrator",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"tuple",name:"gasZipData",indexed:!1,components:[{type:"bytes32",name:"recipient"},{type:"uint256",name:"destChains"},{type:"uint256",name:"depositAmount"}]},{type:"tuple[]",name:"swapInfo",indexed:!1,components:[{type:"address",name:"dex"},{type:"address",name:"fromToken"},{type:"address",name:"toToken"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"leftOverFromAmount"},{type:"uint256",name:"returnToAmount"}]}]},{type:"function",name:"addressCanExecuteMethod",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"bytes4",name:"_selector"},{type:"address",name:"_executor"}],outputs:[{type:"bool"}]},{type:"function",name:"setBatchCanExecute",constant:!1,payable:!1,inputs:[{type:"bytes4[]",name:"_selector"},{type:"address[]",name:"_executor"},{type:"bool[]",name:"_canExecute"}],outputs:[]},{type:"function",name:"setCanExecute",constant:!1,payable:!1,inputs:[{type:"bytes4",name:"_selector"},{type:"address",name:"_executor"},{type:"bool",name:"_canExecute"}],outputs:[]},{type:"function",name:"addAggregatorsAndBridges",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_bridgeAddresses"}],outputs:[]},{type:"function",name:"getSelectorInfo",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_bridge"},{type:"bytes4",name:"_selector"}],outputs:[{type:"bool"},{type:"uint256"}]},{type:"function",name:"isBridgeWhitelisted",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_bridge"}],outputs:[{type:"bool"}]},{type:"function",name:"removeAggregatorsAndBridges",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_bridgeAddresses"}],outputs:[]},{type:"function",name:"updateSelectorInfo",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_bridgeAddresses"},{type:"bytes4[]",name:"_selectors"},{type:"uint256[]",name:"_offset"}],outputs:[]},{type:"function",name:"bridge",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_integrator"},{type:"tuple",name:"_bridgeData",components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]},{type:"tuple",name:"_genericData",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"uint256",name:"extraNative"},{type:"bytes",name:"permit"},{type:"bytes",name:"callData"}]}],outputs:[]},{type:"function",name:"bridgeMultipleTokens",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_integrator"},{type:"tuple[]",name:"_bridgeData",components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]},{type:"tuple[]",name:"_genericData",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"uint256",name:"extraNative"},{type:"bytes",name:"permit"},{type:"bytes",name:"callData"}]}],outputs:[]},{type:"function",name:"swapAndBridge",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_integrator"},{type:"tuple[]",name:"_bridgeData",components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]},{type:"tuple[]",name:"_swapData",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bytes",name:"swapCallData"},{type:"bytes",name:"permit"}]},{type:"tuple[]",name:"_genericData",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"uint256",name:"extraNative"},{type:"bytes",name:"permit"},{type:"bytes",name:"callData"}]}],outputs:[]},{type:"function",name:"addDex",constant:!1,payable:!1,inputs:[{type:"address",name:"_dex"}],outputs:[]},{type:"function",name:"batchAddDex",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_dexs"}],outputs:[]},{type:"function",name:"batchRemoveDex",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_dexs"}],outputs:[]},{type:"function",name:"batchSetFunctionApprovalBySignature",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_dexs"},{type:"bytes4[]",name:"_signatures"},{type:"bool[]",name:"_approval"}],outputs:[]},{type:"function",name:"isContractApproved",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_dex"}],outputs:[{type:"bool",name:"approved"}]},{type:"function",name:"isFunctionApproved",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_dex"},{type:"bytes4",name:"_signature"}],outputs:[{type:"bool",name:"approved"}]},{type:"function",name:"removeDex",constant:!1,payable:!1,inputs:[{type:"address",name:"_dex"}],outputs:[]},{type:"function",name:"setFunctionApprovalBySignature",constant:!1,payable:!1,inputs:[{type:"address",name:"_dex"},{type:"bytes4",name:"_signature"},{type:"bool",name:"_approval"}],outputs:[]},{type:"function",name:"diamondCut",constant:!1,payable:!1,inputs:[{type:"tuple[]",name:"_diamondCut",components:[{type:"address",name:"facetAddress"},{type:"uint8",name:"action"},{type:"bytes4[]",name:"functionSelectors"}]},{type:"address",name:"_init"},{type:"bytes",name:"_calldata"}],outputs:[]},{type:"function",name:"initialize",constant:!1,payable:!1,inputs:[{type:"address",name:"_permit2"},{type:"address",name:"_protocolFeeVault"},{type:"uint256",name:"_maxTokenFee"},{type:"uint256",name:"_maxFixedNativeFeeAmount"}],outputs:[]},{type:"function",name:"facetAddress",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"bytes4",name:"_functionSelector"}],outputs:[{type:"address",name:"facetAddress_"}]},{type:"function",name:"facetAddresses",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"address[]",name:"facetAddresses_"}]},{type:"function",name:"facetFunctionSelectors",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_facet"}],outputs:[{type:"bytes4[]",name:"facetFunctionSelectors_"}]},{type:"function",name:"facets",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"tuple[]",name:"facets_",components:[{type:"address",name:"facetAddress"},{type:"bytes4[]",name:"functionSelectors"}]}]},{type:"function",name:"supportsInterface",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"bytes4",name:"_interfaceId"}],outputs:[{type:"bool"}]},{type:"constructor",stateMutability:"payable",payable:!0,inputs:[{type:"address",name:"_contractOwner"},{type:"address",name:"_diamondCutFacet"}]},{type:"function",name:"calcFixedNativeFees",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_integrator"},{type:"uint8",name:"_feeType"}],outputs:[{type:"uint256",name:"fixedNativeFeeAmount"},{type:"uint256",name:"dzapShare"}]},{type:"function",name:"calcTokenFees",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_integrator"},{type:"uint8",name:"_feeType"},{type:"uint256",name:"_amount"}],outputs:[{type:"uint256",name:"totalFee"},{type:"uint256",name:"dzapShare"}]},{type:"function",name:"integratorFeeInfo",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_integrator"},{type:"uint8",name:"_feeType"}],outputs:[{type:"tuple",components:[{type:"uint256",name:"tokenFee"},{type:"uint256",name:"fixedNativeFeeAmount"},{type:"uint256",name:"dzapTokenShare"},{type:"uint256",name:"dzapFixedNativeShare"}]}]},{type:"function",name:"isIntegratorAllowed",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_integrator"}],outputs:[{type:"bool"}]},{type:"function",name:"maxFixedNativeFeeAmount",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"uint256",name:"_maxFixedNativeFee"}]},{type:"function",name:"maxTokenFee",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"uint256"}]},{type:"function",name:"protocolFeeVault",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"address"}]},{type:"function",name:"removeIntegrator",constant:!1,payable:!1,inputs:[{type:"address",name:"_integrator"}],outputs:[]},{type:"function",name:"setIntegratorInfo",constant:!1,payable:!1,inputs:[{type:"address",name:"_integrator"},{type:"uint8[]",name:"_feeTypes"},{type:"tuple[]",name:"_feeInfo",components:[{type:"uint256",name:"tokenFee"},{type:"uint256",name:"fixedNativeFeeAmount"},{type:"uint256",name:"dzapTokenShare"},{type:"uint256",name:"dzapFixedNativeShare"}]}],outputs:[]},{type:"function",name:"setProtocolFeeVault",constant:!1,payable:!1,inputs:[{type:"address",name:"_protocolFeeVault"}],outputs:[]},{type:"function",name:"owner",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"address",name:"owner_"}]},{type:"function",name:"transferOwnership",constant:!1,payable:!1,inputs:[{type:"address",name:"_newOwner"}],outputs:[]},{type:"function",name:"multiSwap",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_integrator"},{type:"address",name:"_recipient"},{type:"tuple[]",name:"_data",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bytes",name:"swapCallData"},{type:"bytes",name:"permit"}]}],outputs:[]},{type:"function",name:"multiSwapWithoutRevert",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_integrator"},{type:"address",name:"_recipient"},{type:"tuple[]",name:"_data",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bytes",name:"swapCallData"},{type:"bytes",name:"permit"}]}],outputs:[]},{type:"function",name:"swap",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_integrator"},{type:"address",name:"_recipient"},{type:"tuple",name:"_data",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bytes",name:"swapCallData"},{type:"bytes",name:"permit"}]}],outputs:[]},{type:"function",name:"swapErc20ToErc20",constant:!1,payable:!1,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_recipient"},{type:"tuple",name:"_data",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bytes",name:"swapCallData"},{type:"bytes",name:"permit"}]}],outputs:[]},{type:"function",name:"swapErc20ToNative",constant:!1,payable:!1,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_recipient"},{type:"tuple",name:"_data",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bytes",name:"swapCallData"},{type:"bytes",name:"permit"}]}],outputs:[]},{type:"function",name:"swapNativeToErc20",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_recipient"},{type:"tuple",name:"_data",components:[{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bytes",name:"swapCallData"},{type:"bytes",name:"permit"}]}],outputs:[]},{type:"function",name:"executeCallAndWithdraw",constant:!1,payable:!1,inputs:[{type:"address",name:"_callTo"},{type:"bytes",name:"_callData"},{type:"address",name:"_token"},{type:"address",name:"_to"},{type:"uint256",name:"_amount"}],outputs:[]},{type:"function",name:"withdraw",constant:!1,payable:!1,inputs:[{type:"address",name:"_token"},{type:"address",name:"_to"},{type:"uint256",name:"_amount"}],outputs:[]},{type:"function",name:"bridgeMultipleTokensViaTransfer",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_integrator"},{type:"tuple[]",name:"_bridgeData",components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]},{type:"tuple[]",name:"_transferData",components:[{type:"address",name:"transferTo"},{type:"bytes",name:"permit"}]}],outputs:[]},{type:"function",name:"bridgeViaTransfer",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes32",name:"_transactionId"},{type:"address",name:"_integrator"},{type:"tuple",name:"_bridgeData",components:[{type:"string",name:"bridge"},{type:"bytes",name:"to"},{type:"bytes",name:"receiver"},{type:"address",name:"from"},{type:"bool",name:"hasSourceSwaps"},{type:"bool",name:"hasDestinationCall"},{type:"uint256",name:"minAmountIn"},{type:"uint256",name:"destinationChainId"}]},{type:"tuple",name:"_transferData",components:[{type:"address",name:"transferTo"},{type:"bytes",name:"permit"}]}],outputs:[]},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"address",name:"_recipient",type:"address"},{components:[{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct SwapData[]",name:"_data",type:"tuple[]"}],name:"multiSwapAndTransfer",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"address",name:"_recipient",type:"address"},{components:[{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct SwapData[]",name:"_data",type:"tuple[]"}],name:"multiSwapAndTransferWithoutRevert",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"address",name:"_recipient",type:"address"},{components:[{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct SwapData",name:"_data",type:"tuple"}],name:"swapAndTransfer",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"address",name:"_recipient",type:"address"},{components:[{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct SwapData[]",name:"_data",type:"tuple[]"},{internalType:"bool[]",name:"_isDirectTransfer",type:"bool[]"}],name:"batchSwap",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{components:[{internalType:"string",name:"bridge",type:"string"},{internalType:"bytes",name:"to",type:"bytes"},{internalType:"bytes",name:"receiver",type:"bytes"},{internalType:"address",name:"from",type:"address"},{internalType:"bool",name:"hasSourceSwaps",type:"bool"},{internalType:"bool",name:"hasDestinationCall",type:"bool"},{internalType:"uint256",name:"minAmountIn",type:"uint256"},{internalType:"uint256",name:"destinationChainId",type:"uint256"}],internalType:"struct GenericBridgeData[]",name:"_bridgeData",type:"tuple[]"},{components:[{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"address",name:"transferTo",type:"address"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct TransferData[]",name:"_transferData",type:"tuple[]"}],name:"swapAndBridgeViaTransfer",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{components:[{internalType:"bytes32",name:"recipeint",type:"bytes32"},{internalType:"uint256",name:"destChains",type:"uint256"},{internalType:"uint256",name:"depositAmount",type:"uint256"}],internalType:"struct GasZipData",name:"_gasZipData",type:"tuple"}],name:"bridgeTokensViaGasZip",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"getGasZipRouter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getGasZipRouter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{components:[{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"bytes32",name:"recipeint",type:"bytes32"},{internalType:"uint256",name:"destChains",type:"uint256"},{internalType:"uint256",name:"depositAmount",type:"uint256"}],internalType:"struct GasZipData",name:"_gasZipData",type:"tuple"}],name:"swapAndBridgeTokensViaGasZip",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"RELAY_RECIEVER",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"RELAY_SOLVER",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{components:[{internalType:"string",name:"bridge",type:"string"},{internalType:"bytes",name:"to",type:"bytes"},{internalType:"bytes",name:"receiver",type:"bytes"},{internalType:"address",name:"from",type:"address"},{internalType:"bool",name:"hasSourceSwaps",type:"bool"},{internalType:"bool",name:"hasDestinationCall",type:"bool"},{internalType:"uint256",name:"minAmountIn",type:"uint256"},{internalType:"uint256",name:"destinationChainId",type:"uint256"}],internalType:"struct GenericBridgeData[]",name:"_bridgeData",type:"tuple[]"},{components:[{internalType:"bytes32",name:"requestId",type:"bytes32"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct RelayData[]",name:"_relayData",type:"tuple[]"}],name:"bridgeMultipleTokensViaRelay",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{components:[{internalType:"string",name:"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"}];"undefined"!=typeof process&&process.env&&(process.env.REACT_APP_ENV||process,j=process.env.REACT_APP_BASE_API_URL||process.env.NEXT_PUBLIC_BASE_API_URL,O=process.env.REACT_APP_ZAP_API_URL||process.env.NEXT_PUBLIC_ZAP_API_URL);var V=j||"https://api.dzap.io",H=O||"https://zap.dzap.io",W="0x0000000000000000000000000000000000000000",G=["0x0000000000000000000000000000000000001010","0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",W,"0x000000000000000000000000000000000000800A","11111111111111111111111111111111","0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000","EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c","0x000000000000000000000000000000000000aA09","0x2::sui::SUI","0x1::aptos_coin::AptosCoin","0x471EcE3750Da237f93B8E339c536989b8978a438"],K=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}}}),Q=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}}}),Y=[].concat(Object.values(v),[K,Q]).reduce(function(e,t){var n;return t.id?B({},e,((n={})[t.id]=t,n)):e},{}),X={batch:{wait:100},retryDelay:500},J=function(e){var t=e.rpcUrls,n=e.chainId,s=t&&Array.isArray(t)&&t.length>0;return a({chain:Y[n],transport:r(s?t.map(function(e){return i(e,X)}):[i()])})},$=function(e,t){return void 0===t&&(t=W),s(e)?G.includes(e)?t:o(e):e};function ee(e){var t=e.destToken,n=e.destChainId,a=e.srcChainNativeAddress,r=e.destChainNativeAddress,i=void 0===r?W:r;return e.srcChainId+"_"+$(e.srcToken,void 0===a?W:a)+"-"+n+"_"+$(t,i)}BigInt(15),BigInt(10);var te=function(e){return e instanceof f},ne=function(e){return"0x0000000000000000000000000000000000000000"===e},ae=function(e){switch(e){case D.trade:return Z;case D.dca:return z;default:throw new Error("Invalid Service")}},re={EIP2612Permit:"EIP2612Permit",Permit2:"Permit2",AutoPermit:"AutoPermit"},ie=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}(re,["EIP2612Permit"]),{Default:"Default"}),se={name:"name",allowance:"allowance",approve:"approve",transfer:"transfer",transferFrom:"transferFrom",balanceOf:"balanceOf",decimals:"decimals",symbol:"symbol"},oe="get",pe="post",ue=/*#__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}();ue.instances=new Map;var de=ue.getInstance(V+"/v1/"),ye=ue.getInstance(H+"/v1/"),me=function(e){var t=e.endpoint,n=e.data,a=e.method,r=void 0===a?pe:a,i=e.cancelToken,s=e.shouldRetry,o=void 0!==s&&s;try{return Promise.resolve(de({method:r,url:t,data:r===oe?void 0:n,params:r===oe?n:void 0,cancelToken:i,shouldRetry:o}).then(function(e){return e.data}).catch(function(e){return Promise.reject(e)}))}catch(e){return Promise.reject(e)}},le=function(e){var t=e.endpoint,n=e.data,a=e.method,r=void 0===a?pe:a,i=e.cancelToken,s=e.shouldRetry,o=void 0!==s&&s;try{return Promise.resolve(ye({method:r,url:t,data:r===oe?void 0:n,params:r===oe?n:void 0,cancelToken:i,shouldRetry:o}).then(function(e){return e.data}).catch(function(e){return Promise.reject(e)}))}catch(e){return Promise.reject(e)}},ce="dZap",fe="defiLlama",Te="coingecko",ve=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=Te,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(me({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:oe})).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 me({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:oe});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!ve(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}())}},he=/*#__PURE__*/function(){function e(){var e=this;this.id=fe,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(me({endpoint:(i=s,"https://coins.llama.fi/prices/current/"+i.join(",")),method:oe})).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?ve(e,n)?i.chainKey+":"+i.nativeTokenKey:i.chainKey+":"+e:r+":"+e})},e}(),ge=function(e){return me({endpoint:"/buildTx",data:e,method:pe})},Ae=function(e,t){return le({endpoint:"buildTx",data:e,method:pe,cancelToken:t})},we=function(){return me({endpoint:"chains",data:{},method:oe,shouldRetry:!0})},Ie=function(e,t,n){return me({endpoint:"token/tokens",data:{chainId:e,source:t,account:n},method:oe,shouldRetry:!0})},Pe=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 me({endpoint:"token/details",data:i,method:oe})},xe=function(){this.id=ce,this.requiresChainConfig=!1,this.fetchPrices=function(e,t){try{return Promise.resolve(function(n,a){try{var r=Promise.resolve(function(e,t){return me({endpoint:"token/price",data:{tokenAddresses:e,chainId:t},method:oe})}(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)}}},Se=/*#__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}();Se._instance=void 0;const _e="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function ke(e,t,n){if(!e.s){if(n instanceof De){if(!n.s)return void(n.o=ke.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(ke.bind(null,e,t),ke.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var De=/*#__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{ke(a,1,i(this.v))}catch(e){ke(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?ke(a,1,t?t(r):r):n?ke(a,1,n(r)):ke(a,2,r)}catch(e){ke(a,2,e)}},a},e}();function Ce(e){return e instanceof De&&1&e.s}var Me=/*#__PURE__*/function(){function e(){this.providers=void 0,this.providers=this.initailizeProviders()}var t=e.prototype;return t.initailizeProviders=function(){return new Map([[ce,new xe],[fe,new he],[Te,new be]])},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&&Se.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=Se.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[_e]){var a,r,i,s=function(e){try{for(;!((a=o.next()).done||n&&n());)if((e=t(a.value))&&e.then){if(!Ce(e))return void e.then(s,i||(i=ke.bind(null,r=new De,2)));e=e.v}r?ke(r,1,e):r=e}catch(e){ke(r||(r=new De),2,e)}},o=e[_e]();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(!Ce(o))return void o.then(s,r||(r=ke.bind(null,a=new De,2)));o=o.v}a?ke(a,1,o):a=o}catch(e){ke(a||(a=new De),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}(),Ee="BridgeCallFailed",Fe=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==Ee){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=Ee+" : "+p}else o&&(s=o);return{status:P.error,error:r,errorMsg:s,code:S.ContractExecutionError}},Ne=function(){};Ne.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=te(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:Y[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}),Fe({error:e})}))}catch(e){return Promise.reject(e)}};var Re,Be=((Re={})[324]="0x0000000000225e31D15943971F47aD3022F714Fa",Re[10242]="0x5Aeec43fF96b9B6c5a1dC1DAdA662ACE3c236C49",Re[100]="0x5Aeec43fF96b9B6c5a1dC1DAdA662ACE3c236C49",Re[8217]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Re[6001]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Re[996]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Re[14]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Re[8822]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Re[204]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Re[42766]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Re[5165]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Re[13371]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Re[2741]="0x0000000000225e31D15943971F47aD3022F714Fa",Re[232]="0x0000000000225e31D15943971F47aD3022F714Fa",Re),Ue=[{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"}],je=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=te(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)}},Oe=function(e){var t=Math.floor(Date.now()/1e3);return BigInt(t+e)};function qe(e){var t;return null!=(t=Be[e])?t:"0x000000000022D473030F116dDEE9F6B43aC78BA3"}var Le,Ze=[{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"}],ze={Permit:[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},Ve=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:Ze,address:t,client:J({chainId:n,rpcUrls:a})});return Promise.resolve(Promise.allSettled([i.read.DOMAIN_SEPARATOR(),i.read.nonces([W]),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 He(e,t,n){if(!e.s){if(n instanceof We){if(!n.s)return void(n.o=He.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(He.bind(null,e,t),He.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var We=/*#__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{He(a,1,i(this.v))}catch(e){He(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?He(a,1,t?t(r):r):n?He(a,1,n(r)):He(a,2,r)}catch(e){He(a,2,e)}},a},e}();function Ge(e){return e instanceof We&&1&e.s}var Ke=function(){};Le=Ke,Ke.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(ne(a.address))return Promise.resolve({status:P.success,code:S.Success,permitData:M,permitType:re.EIP2612Permit});var h=i&&r?s:BigInt(a.amount);return Promise.resolve(Ve({address:a.address,chainId:o,rpcUrls:p,permitEIP2612DisabledTokens:b})).then(function(n){if(c===re.EIP2612Permit||c===re.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:re.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?Oe(F):c;try{return Promise.resolve(function(n,d){try{var y=(v=i,b=f,h=l({abi:Ze,address:c=s,client:J({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(je({signer:o,domain:{name:u,version:p,chainId:a,verifyingContract:c},message:{owner:v,spender:r,value:m,nonce:d,deadline:b},types:ze,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:re.EIP2612Permit}})}return i&&!r?{status:P.success,code:S.Success,permitData:E,permitType:re.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?Oe(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=J({chainId:a,rpcUrls:u}),Promise.resolve(c.readContract({address:m,abi:Ue,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(je({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:re.Permit2}})})}catch(e){return Promise.reject(e)}},Ke.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(Le.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&&!ne(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(!Ge(o))return void o.then(e,i||(i=He.bind(null,r=new We,2)));o=o.v}r?He(r,1,o):r=o}catch(e){He(r||(r=new We),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 te(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:Y[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(ge(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}:Fe({error:e})}))}catch(e){return Promise.reject(e)}};var Ye,Xe={execute:"execute"};function Je(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function $e(e,t,n){if(!e.s){if(n instanceof tt){if(!n.s)return void(n.o=$e.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then($e.bind(null,e,t),$e.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var et=function(){};const tt=/*#__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{$e(a,1,e(this.v))}catch(e){$e(a,2,e)}return a}return this}return this.o=function(e){try{const r=e.v;1&e.s?$e(a,1,t?t(r):r):n?$e(a,1,n(r)):$e(a,2,r)}catch(e){$e(a,2,e)}},a},e}();function nt(e){return e instanceof tt&&1&e.s}function at(e,t,n){if(!e.s){if(n instanceof rt){if(!n.s)return void(n.o=at.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(at.bind(null,e,t),at.bind(null,e,2));e.s=t,e.v=n;const a=e.o;a&&a(e)}}Ye=et,et.execute=function(e){var t=e.chainId,n=e.txnData,a=e.signer;try{return Promise.resolve(Je(function(){var e,r=n.callData,i=n.callTo,s=n.value,o=n.estimatedGas;return te(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:Y[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}),Fe({error:e})}))}catch(e){return Promise.reject(e)}},et.approve=function(e){var t=e.chainId,n=e.data,a=e.signer;try{return Promise.resolve(Je(function(){var e=n.callData,r=n.callTo,i=n.value,s=n.estimatedGas,o=J({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}),te(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:Y[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}),Fe({error:e})}))}catch(e){return Promise.reject(e)}},et.zap=function(e){var t=e.request,n=e.steps,a=e.signer;try{var r;return Promise.resolve(Je(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===Xe.execute)return Promise.resolve(Ye.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(!nt(t))return void t.then(e,m||(m=$e.bind(null,y=new tt,2)));t=t.v}y?$e(y,1,t):y=t}catch(e){$e(y||(y=new tt),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(Ae(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}),Fe({error:e})}))}catch(e){return Promise.reject(e)}};var rt=/*#__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{at(a,1,i(this.v))}catch(e){at(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?at(a,1,t?t(r):r):n?at(a,1,n(r)):at(a,2,r)}catch(e){at(a,2,e)}},a},e}();function it(e){return e instanceof rt&&1&e.s}var st=function(e,t,n){return t?new g(u(BigInt(e),t)).mul(n||0).toFixed(5):"0"},ot=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)},pt=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,st(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}},ut=function(e,t){return e.path.map(function(n){return B({},n,{fee:pt(n.fee,t).fee,srcAmountUSD:e.srcAmountUSD,destAmountUSD:e.destAmountUSD})})},dt=/*#__PURE__*/function(){function e(e){this.cancelTokenSource=null,this.priceService=void 0,this.rpcUrlsByChainId={},this.priceService=new Me,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(we()).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 ae(e)};var t=e.prototype;return t.getTradeQuotes=function(t){try{var n=this;return Promise.resolve(function(e){return me({endpoint:"/quotes",data:e,method:pe,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:[ce]})).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=st(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=st(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=pt(e.fee,a);o=o&&!f.isUpdated,e.fee=f.fee,e.path=ut(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=ot(e[1]),r=ot(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(ge(e))}catch(e){return Promise.reject(e)}},t.getTradeTxnStatus=function(e){return function(e){return me({endpoint:"/status",data:{txHash:e.txHash,txIds:e.txIds,chainId:e.chainId},method:oe})}({txHash:e.txHash,txIds:e.txIds,chainId:e.chainId})},t.getAllSupportedChains=function(){return we()},t.getAllTokens=function(t,n,a){try{var r=this;return Promise.resolve(function(i,s){try{var o=Promise.resolve(Promise.allSettled([Ie(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:[ce]})).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(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(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(Ne.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=ae(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(ee({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:$(e.fromToken,null==n||null==(t=n.nativeToken)?void 0:t.contract),toToken:$(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(ee({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:$(o.swapInfo.fromToken,null==n||null==(y=n.nativeToken)?void 0:y.contract),toToken:$(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 me({endpoint:"user/calculatePoints",data:e,method:pe})}(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?ie.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?ie.Default:i,o=e.spender,p=e.permitEIP2612DisabledTokens;try{var u={},d=a.filter(function(e){return ne(e.address)}),m=a.filter(function(e){return!ne(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===ie.Permit2){var e=qe(t);return i=1,{token:n,spender:e,amount:a}}return function(){if(s===ie.AutoPermit)return Promise.resolve(Ve({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:L,functionName:se.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=J({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===ie.Permit2||s===ie.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?ie.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!==ie.AutoPermit&&d!==ie.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=te(p)?Promise.resolve(p.getAddress()).then(function(t){var n=c({abi:L,functionName:se.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=J({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:L,functionName:se.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(!it(o))return void o.then(e,i||(i=at.bind(null,r=new rt,2)));o=o.v}r?at(r,1,o):r=o}catch(e){at(r||(r=new rt),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?re.AutoPermit:u,y=t.signatureCallback;try{var m=function(t){return Promise.resolve(e.getChainConfig()).then(function(e){var s;return Promise.resolve(Ke.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(et.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(Ae(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 le({endpoint:"quote",data:e,method:pe,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 le({endpoint:"status",data:e,method:oe})}(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 me({endpoint:"token/balance-of",data:{chainId:e,account:t},method:oe})}(e,t)).then(function(e){return e.result})}catch(e){return Promise.reject(e)}},e}();dt.instance=void 0,dt.chainConfig=null,dt.getOtherAbi=function(e){return function(e){switch(e){case k.permit2:return q;case k.erc20:return L;default:throw new Error("Invalid Abi")}}(e)};var yt={swap:"swap",bridge:"bridge",deposit:"deposit",withdraw:"withdraw",stake:"stake",unstake:"unstake"};export{ie as ApprovalModes,dt as DZapClient,k as OtherAbis,I as PermitType,re as PermitTypes,C as QuoteFilters,_ as STATUS,D as Services,F as SignatureExpiryInSecs,S as StatusCodes,P as TxnStatus,Ve as checkEIP2612PermitSupport,N as contractErrorActions,se as erc20Functions,$ as formatToken,ee as getTokensPairKey,yt as zapPathAction,Xe as zapStepAction};
2
+ //# sourceMappingURL=index.m.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.m.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}