UNPKG

@dzapio/sdk

Version:

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

1 lines 187 kB
var e=require("viem"),t=require("ethers"),n=require("viem/chains"),a=require("axios"),r=require("viem/actions"),s=require("viem/utils"),i=require("decimal.js");function p(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,t}var u,d,y,m,l,c,T,f,b=/*#__PURE__*/o(n),v=/*#__PURE__*/p(a),h=/*#__PURE__*/p(i);!function(e){e.production="production",e.development="development"}(u||(u={})),function(e){e[e.PERMIT=0]="PERMIT",e[e.PERMIT2=1]="PERMIT2"}(d||(d={})),exports.DZapPermitMode=void 0,(y=exports.DZapPermitMode||(exports.DZapPermitMode={}))[y.PERMIT=0]="PERMIT",y[y.PERMIT2_APPROVE=1]="PERMIT2_APPROVE",y[y.PERMIT2_WITNESS_TRANSFER=2]="PERMIT2_WITNESS_TRANSFER",y[y.BATCH_PERMIT2_WITNESS_TRANSFER=3]="BATCH_PERMIT2_WITNESS_TRANSFER",function(e){e[e.PERMIT=0]="PERMIT",e[e.PERMIT2_TRANSFER_FROM=1]="PERMIT2_TRANSFER_FROM",e[e.PERMIT2_APPROVE=2]="PERMIT2_APPROVE"}(m||(m={})),function(e){e.v1="v1",e.v2="v2"}(l||(l={})),exports.TxnStatus=void 0,(c=exports.TxnStatus||(exports.TxnStatus={})).mining="mining",c.success="success",c.rejected="rejected",c.error="error",c.reverted="reverted",c.pendingWalletConfirmation="pendingWalletConfirmation",c.partialSuccess="partialSuccess",function(e){e.V1="v1",e.V1_2="v1.2",e.V2="v2"}(T||(T={})),exports.StatusCodes=void 0,(f=exports.StatusCodes||(exports.StatusCodes={}))[f.UserRejectedRequest=4001]="UserRejectedRequest",f[f.Success=200]="Success",f[f.FunctionNotFound=32771]="FunctionNotFound",f[f.Error=500]="Error",f[f.WalletRPCFailure=429]="WalletRPCFailure",f[f.SimulationFailure=417]="SimulationFailure",f[f.ContractExecutionError=-500]="ContractExecutionError";var x={permit2:"permit2",erc20:"erc20"},g={trade:"trade",dca:"dca",zap:"zap"},I="swap",w=e.encodeAbiParameters(e.parseAbiParameters("uint8, bytes"),[exports.DZapPermitMode.PERMIT,"0x"]),P=e.encodeAbiParameters(e.parseAbiParameters("uint8, bytes"),[exports.DZapPermitMode.PERMIT2_APPROVE,"0x"]),A=1800;function _(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 S(){return S=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},S.apply(null,arguments)}function D(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 k=[{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"}],C=[{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"}],E=[{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:"OnlyContractOwner",inputs:[]},{type:"event",anonymous:!1,name:"DiamondCut",inputs:[{type:"tuple[]",name:"_diamondCut",components:[{type:"address",name:"facetAddress"},{type:"uint8",name:"action"},{type:"bytes4[]",name:"functionSelectors"}]},{type:"address",name:"_init",indexed:!1},{type:"bytes",name:"_calldata",indexed:!1}]},{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:"error",name:"AlreadyInitialized",inputs:[]},{type:"error",name:"CannotAuthorizeSelf",inputs:[]},{type:"function",name:"initialize",constant:!1,payable:!1,inputs:[{type:"address",name:"_protocolFeeVault"},{type:"address",name:"_feeValidator"},{type:"address",name:"_refundVault"},{type:"address",name:"_permit2"}],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",name:""}]},{type:"event",anonymous:!1,name:"OwnershipTransferred",inputs:[{type:"address",name:"previousOwner",indexed:!0},{type:"address",name:"newOwner",indexed:!0}]},{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:"event",anonymous:!1,name:"ExecutionAllowed",inputs:[{type:"address",name:"account",indexed:!0},{type:"bytes4",name:"method",indexed:!0}]},{type:"event",anonymous:!1,name:"ExecutionDenied",inputs:[{type:"address",name:"account",indexed:!0},{type:"bytes4",name:"method",indexed:!0}]},{type:"function",name:"addressCanExecuteMethod",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"bytes4",name:"_selector"},{type:"address",name:"_executor"}],outputs:[{type:"bool",name:""}]},{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:"error",name:"UnAuthorized",inputs:[]},{type:"event",anonymous:!1,name:"ProtocolFeeVaultUpdated",inputs:[{type:"address",name:"protocolFeeVault",indexed:!0}]},{type:"event",anonymous:!1,name:"RefundVaultUpdated",inputs:[{type:"address",name:"refundVault",indexed:!0}]},{type:"function",name:"getProtocolFeeVault",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"address",name:""}]},{type:"function",name:"getRefundVault",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"address",name:""}]},{type:"function",name:"setProtocolFeeVault",constant:!1,payable:!1,inputs:[{type:"address",name:"_protocolFeeVault"}],outputs:[]},{type:"function",name:"setRefundVault",constant:!1,payable:!1,inputs:[{type:"address",name:"_refundVault"}],outputs:[]},{type:"event",anonymous:!1,name:"FeeValidatorUpdated",inputs:[{type:"address",name:"feeValidator",indexed:!0}]},{type:"function",name:"getFeeValidator",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"address",name:""}]},{type:"function",name:"getNonce",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_user"}],outputs:[{type:"uint256",name:""}]},{type:"function",name:"setFeeValidator",constant:!1,payable:!1,inputs:[{type:"address",name:"_feeValidator"}],outputs:[]},{type:"error",name:"AdapterNotWhitelisted",inputs:[{type:"address",name:"adapter"}]},{type:"error",name:"BridgeNotWhitelisted",inputs:[{type:"address",name:"bridge"}]},{type:"error",name:"DexNotWhitelised",inputs:[{type:"address",name:"dex"}]},{type:"error",name:"NotAContract",inputs:[]},{type:"event",anonymous:!1,name:"AdapterAdded",inputs:[{type:"address",name:"adapter",indexed:!0}]},{type:"event",anonymous:!1,name:"AdapterRemoved",inputs:[{type:"address",name:"adapter",indexed:!0}]},{type:"event",anonymous:!1,name:"AdaptersAdded",inputs:[{type:"address[]",name:"adapters"}]},{type:"event",anonymous:!1,name:"AdaptersRemoved",inputs:[{type:"address[]",name:"adapters"}]},{type:"event",anonymous:!1,name:"BridgeAdded",inputs:[{type:"address",name:"bridge",indexed:!0}]},{type:"event",anonymous:!1,name:"BridgeRemoved",inputs:[{type:"address",name:"bridge",indexed:!0}]},{type:"event",anonymous:!1,name:"BridgesAdded",inputs:[{type:"address[]",name:"bridges"}]},{type:"event",anonymous:!1,name:"BridgesRemoved",inputs:[{type:"address[]",name:"bridges"}]},{type:"event",anonymous:!1,name:"DexAdded",inputs:[{type:"address",name:"dex",indexed:!0}]},{type:"event",anonymous:!1,name:"DexRemoved",inputs:[{type:"address",name:"dex",indexed:!0}]},{type:"event",anonymous:!1,name:"DexesAdded",inputs:[{type:"address[]",name:"dexes"}]},{type:"event",anonymous:!1,name:"DexesRemoved",inputs:[{type:"address[]",name:"dexes"}]},{type:"function",name:"addAdapter",constant:!1,payable:!1,inputs:[{type:"address",name:"_adapter"}],outputs:[]},{type:"function",name:"addAdapters",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_adapters"}],outputs:[]},{type:"function",name:"addBridge",constant:!1,payable:!1,inputs:[{type:"address",name:"_bridge"}],outputs:[]},{type:"function",name:"addBridges",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_bridges"}],outputs:[]},{type:"function",name:"addDex",constant:!1,payable:!1,inputs:[{type:"address",name:"_dex"}],outputs:[]},{type:"function",name:"addDexesAndBridges",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_dexs"},{type:"address[]",name:"_bridges"}],outputs:[]},{type:"function",name:"addDexs",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_dexs"}],outputs:[]},{type:"function",name:"isAdapterWhitelisted",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_adapter"}],outputs:[{type:"bool",name:""}]},{type:"function",name:"isBridgeWhitelisted",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_bridge"}],outputs:[{type:"bool",name:""}]},{type:"function",name:"isDexWhitelisted",constant:!0,stateMutability:"view",payable:!1,inputs:[{type:"address",name:"_dex"}],outputs:[{type:"bool",name:""}]},{type:"function",name:"removeAdapter",constant:!1,payable:!1,inputs:[{type:"address",name:"_adapter"}],outputs:[]},{type:"function",name:"removeAdapters",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_adapters"}],outputs:[]},{type:"function",name:"removeBridge",constant:!1,payable:!1,inputs:[{type:"address",name:"_bridge"}],outputs:[]},{type:"function",name:"removeBridges",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_bridges"}],outputs:[]},{type:"function",name:"removeDex",constant:!1,payable:!1,inputs:[{type:"address",name:"_dex"}],outputs:[]},{type:"function",name:"removeDexesAndBridges",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_dexs"},{type:"address[]",name:"_bridges"}],outputs:[]},{type:"function",name:"removeDexs",constant:!1,payable:!1,inputs:[{type:"address[]",name:"_dexs"}],outputs:[]},{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:"ReentrancyError",inputs:[]},{type:"error",name:"WithdrawFailed",inputs:[]},{type:"event",anonymous:!1,name:"LogWithdraw",inputs:[{type:"address",name:"tokenAddress",indexed:!0},{type:"address",name:"to",indexed:!1},{type:"uint256",name:"amount",indexed:!1}]},{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:"error",name:"InvalidPermit",inputs:[{type:"string",name:""}]},{type:"error",name:"InvalidPermitType",inputs:[]},{type:"error",name:"NoSwapFromZeroAmount",inputs:[]},{type:"error",name:"NullAddrIsNotAValidRecipient",inputs:[]},{type:"error",name:"NullAddrIsNotAValidSpender",inputs:[]},{type:"error",name:"SlippageTooHigh",inputs:[{type:"uint256",name:"minAmount"},{type:"uint256",name:"returnAmount"}]},{type:"error",name:"SwapCallFailed",inputs:[{type:"address",name:"target"},{type:"bytes4",name:"funSig"},{type:"bytes",name:"reason"}]},{type:"event",anonymous:!1,name:"DZapBatchTokenSwapped",inputs:[{type:"bytes",name:"transactionId",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"tuple[]",name:"swapInfo",components:[{type:"string",name:"dex"},{type:"address",name:"callTo"},{type:"address",name:"recipient"},{type:"address",name:"fromToken"},{type:"address",name:"toToken"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"returnToAmount"}]}]},{type:"event",anonymous:!1,name:"DZapTokenSwapped",inputs:[{type:"bytes",name:"transactionId",indexed:!0},{type:"address",name:"sender",indexed:!0},{type:"tuple",name:"swapInfo",indexed:!1,components:[{type:"string",name:"dex"},{type:"address",name:"callTo"},{type:"address",name:"recipient"},{type:"address",name:"fromToken"},{type:"address",name:"toToken"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"returnToAmount"}]}]},{type:"function",name:"swap",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes",name:"_transactionId"},{type:"bytes",name:"_batchDepositSignature"},{type:"tuple",name:"_tokenDepositDetails",components:[{type:"tuple[]",name:"permitted",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"}]},{type:"uint256",name:"nonce"},{type:"uint256",name:"deadline"}]},{type:"tuple[]",name:"_swapData",components:[{type:"address",name:"recipient"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"}]},{type:"tuple[]",name:"_swapExecutionData",components:[{type:"string",name:"dex"},{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"bytes",name:"swapCallData"},{type:"bool",name:"isDirectTransfer"}]},{type:"bool",name:"withoutRevert"}],outputs:[]},{type:"function",name:"swap",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes",name:"_transactionId"},{type:"tuple[]",name:"_inputTokens",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"},{type:"bytes",name:"permit"}]},{type:"tuple[]",name:"_swapData",components:[{type:"address",name:"recipient"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"}]},{type:"tuple[]",name:"_swapExecutionData",components:[{type:"string",name:"dex"},{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"bytes",name:"swapCallData"},{type:"bool",name:"isDirectTransfer"}]},{type:"bool",name:"withoutRevert"}],outputs:[]},{type:"function",name:"swap",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes",name:"_transactionId"},{type:"bytes",name:"_tokenApprovalData"},{type:"tuple",name:"_swapData",components:[{type:"address",name:"recipient"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"}]},{type:"tuple",name:"_swapExecutionData",components:[{type:"string",name:"dex"},{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"bytes",name:"swapCallData"},{type:"bool",name:"isDirectTransfer"}]}],outputs:[]},{type:"error",name:"AdapterCallFailed",inputs:[{type:"address",name:"adapter"},{type:"bytes",name:"res"}]},{type:"error",name:"SigDeadlineExpired",inputs:[]},{type:"error",name:"UnauthorizedSigner",inputs:[]},{type:"event",anonymous:!1,name:"BridgeStarted",inputs:[{type:"bytes",name:"transactionId",indexed:!0},{type:"address",name:"user",indexed:!0},{type:"bytes",name:"receiver",indexed:!1},{type:"string",name:"bridge",indexed:!1},{type:"address",name:"bridgeAddress",indexed:!1},{type:"address",name:"from",indexed:!1},{type:"bytes",name:"to",indexed:!1},{type:"uint256",name:"amount",indexed:!1},{type:"uint256",name:"destinationChainId",indexed:!1},{type:"bool",name:"hasDestinationCall",indexed:!1}]},{type:"event",anonymous:!1,name:"DZapBridgeStarted",inputs:[{type:"bytes",name:"transactionId",indexed:!0},{type:"address",name:"user",indexed:!0},{type:"address",name:"integrator",indexed:!0}]},{type:"function",name:"bridge",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes",name:"_transactionId"},{type:"bytes",name:"_feeData"},{type:"bytes",name:"_feeVerificationSignature"},{type:"uint256",name:"_deadline"},{type:"tuple[]",name:"_erc20Token",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"},{type:"bytes",name:"permit"}]},{type:"tuple[]",name:"_swapData",components:[{type:"address",name:"recipient"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bool",name:"updateBridgeInAmount"}]},{type:"tuple[]",name:"_swapExecutionData",components:[{type:"string",name:"dex"},{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"bytes",name:"swapCallData"},{type:"bool",name:"isDirectTransfer"}]},{type:"tuple[]",name:"_adapterInfo",components:[{type:"address",name:"adapter"},{type:"bytes",name:"adapterData"}]}],outputs:[]},{type:"function",name:"bridge",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes",name:"_transactionId"},{type:"bytes",name:"_feeData"},{type:"bytes",name:"_feeVerificationSignature"},{type:"bytes",name:"_batchDepositSignature"},{type:"uint256",name:"_deadline"},{type:"tuple",name:"_tokenDepositDetails",components:[{type:"tuple[]",name:"permitted",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"}]},{type:"uint256",name:"nonce"},{type:"uint256",name:"deadline"}]},{type:"tuple[]",name:"_swapData",components:[{type:"address",name:"recipient"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bool",name:"updateBridgeInAmount"}]},{type:"tuple[]",name:"_swapExecutionData",components:[{type:"string",name:"dex"},{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"bytes",name:"swapCallData"},{type:"bool",name:"isDirectTransfer"}]},{type:"tuple[]",name:"_adapterInfo",components:[{type:"address",name:"adapter"},{type:"bytes",name:"adapterData"}]}],outputs:[]},{type:"function",name:"bridge",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes",name:"_transactionId"},{type:"bytes",name:"_feeData"},{type:"bytes",name:"_feeVerificationSignature"},{type:"uint256",name:"_deadline"},{type:"tuple",name:"_intputTokens",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"},{type:"bytes",name:"permit"}]},{type:"tuple",name:"_swapData",components:[{type:"address",name:"recipient"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bool",name:"updateBridgeInAmount"}]},{type:"tuple",name:"_swapExecutionData",components:[{type:"string",name:"dex"},{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"bytes",name:"swapCallData"},{type:"bool",name:"isDirectTransfer"}]},{type:"tuple",name:"_adapterInfo",components:[{type:"address",name:"adapter"},{type:"bytes",name:"adapterData"}]}],outputs:[]},{type:"function",name:"bridge",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes",name:"_transactionId"},{type:"bytes",name:"_feeData"},{type:"bytes",name:"_feeVerificationSignature"},{type:"uint256",name:"_deadline"},{type:"tuple",name:"_intputTokens",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"},{type:"bytes",name:"permit"}]},{type:"tuple",name:"_adapterInfo",components:[{type:"address",name:"adapter"},{type:"bytes",name:"adapterData"}]}],outputs:[]},{type:"event",anonymous:!1,name:"DZapGasLessStarted",inputs:[{type:"bytes",name:"_transactionId",indexed:!0},{type:"address",name:"executor",indexed:!0},{type:"address",name:"_user",indexed:!0}]},{type:"function",name:"executeBridge",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes",name:"_transactionId"},{type:"bytes",name:"_bridgeFeeData"},{type:"bytes",name:"_userIntentSignature"},{type:"bytes",name:"_feeVerificationSignature"},{type:"uint256",name:"_userIntentDeadline"},{type:"uint256",name:"_bridgeFeeDeadline"},{type:"address",name:"_user"},{type:"tuple",name:"_inputToken",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"},{type:"bytes",name:"permit"}]},{type:"tuple",name:"_executorFeeInfo",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"}]},{type:"tuple",name:"_adapterInfo",components:[{type:"address",name:"adapter"},{type:"bytes",name:"adapterData"}]}],outputs:[]},{type:"function",name:"executeMultiBridge",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes",name:"_transactionId"},{type:"bytes",name:"_bridgeFeeData"},{type:"bytes",name:"_userIntentSignature"},{type:"bytes",name:"_feeVerificationSignature"},{type:"uint256",name:"_userIntentDeadline"},{type:"uint256",name:"_bridgeFeeDeadline"},{type:"address",name:"_user"},{type:"tuple[]",name:"_inputTokens",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"},{type:"bytes",name:"permit"}]},{type:"tuple[]",name:"_executorFeeInfo",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"}]},{type:"tuple[]",name:"_swapData",components:[{type:"address",name:"recipient"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bool",name:"updateBridgeInAmount"}]},{type:"tuple[]",name:"_swapExecutionData",components:[{type:"string",name:"dex"},{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"bytes",name:"swapCallData"},{type:"bool",name:"isDirectTransfer"}]},{type:"tuple[]",name:"_adapterInfo",components:[{type:"address",name:"adapter"},{type:"bytes",name:"adapterData"}]}],outputs:[]},{type:"function",name:"executeMultiBridgeBatchWithPermit2Witness",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bytes",name:"_transactionId"},{type:"bytes",name:"_bridgeFeeData"},{type:"bytes",name:"_userIntentSignature"},{type:"bytes",name:"_feeVerificationSignature"},{type:"uint256",name:"_bridgeFeeDeadline"},{type:"address",name:"_user"},{type:"tuple",name:"_tokenDepositDetails",components:[{type:"tuple[]",name:"permitted",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"}]},{type:"uint256",name:"nonce"},{type:"uint256",name:"deadline"}]},{type:"tuple[]",name:"_executorFeeInfo",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"}]},{type:"tuple[]",name:"_swapData",components:[{type:"address",name:"recipient"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"},{type:"bool",name:"updateBridgeInAmount"}]},{type:"tuple[]",name:"_swapExecutionData",components:[{type:"string",name:"dex"},{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"bytes",name:"swapCallData"},{type:"bool",name:"isDirectTransfer"}]},{type:"tuple[]",name:"_adapterInfo",components:[{type:"address",name:"adapter"},{type:"bytes",name:"adapterData"}]}],outputs:[]},{type:"function",name:"executeMultiSwap",constant:!1,payable:!1,inputs:[{type:"bytes",name:"_transactionId"},{type:"bytes",name:"_userIntentSignature"},{type:"uint256",name:"_userIntentDeadline"},{type:"address",name:"_user"},{type:"tuple[]",name:"_inputTokens",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"},{type:"bytes",name:"permit"}]},{type:"tuple[]",name:"_executorFeeInfo",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"}]},{type:"tuple[]",name:"_swapData",components:[{type:"address",name:"recipient"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"}]},{type:"tuple[]",name:"_swapExecutionData",components:[{type:"string",name:"dex"},{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"bytes",name:"swapCallData"},{type:"bool",name:"isDirectTransfer"}]}],outputs:[]},{type:"function",name:"executeMultiSwapWithPermit2Witness",constant:!1,payable:!1,inputs:[{type:"bytes",name:"_transactionId"},{type:"bytes",name:"_userIntentSignature"},{type:"address",name:"_user"},{type:"tuple",name:"_tokenDepositDetails",components:[{type:"tuple[]",name:"permitted",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"}]},{type:"uint256",name:"nonce"},{type:"uint256",name:"deadline"}]},{type:"tuple[]",name:"_executorFeeInfo",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"}]},{type:"tuple[]",name:"_swapData",components:[{type:"address",name:"recipient"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"}]},{type:"tuple[]",name:"_swapExecutionData",components:[{type:"string",name:"dex"},{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"bytes",name:"swapCallData"},{type:"bool",name:"isDirectTransfer"}]}],outputs:[]},{type:"function",name:"executeSwap",constant:!1,payable:!1,inputs:[{type:"bytes",name:"_transactionId"},{type:"bytes",name:"_userIntentSignature"},{type:"bytes",name:"_tokenApprovalData"},{type:"uint256",name:"_userIntentDeadline"},{type:"address",name:"_user"},{type:"tuple",name:"_executorFeeInfo",components:[{type:"address",name:"token"},{type:"uint256",name:"amount"}]},{type:"tuple",name:"_swapData",components:[{type:"address",name:"recipient"},{type:"address",name:"from"},{type:"address",name:"to"},{type:"uint256",name:"fromAmount"},{type:"uint256",name:"minToAmount"}]},{type:"tuple",name:"_swapExecutionData",components:[{type:"string",name:"dex"},{type:"address",name:"callTo"},{type:"address",name:"approveTo"},{type:"bytes",name:"swapCallData"},{type:"bool",name:"isDirectTransfer"}]}],outputs:[]},{type:"error",name:"CannotBridgeToSameNetwork",inputs:[]},{type:"error",name:"Erc20CallFailed",inputs:[{type:"bytes",name:"reason"}]},{type:"error",name:"InvalidEncodedAddress",inputs:[]},{type:"error",name:"NativeCallFailed",inputs:[{type:"bytes",name:"reason"}]},{type:"error",name:"NoBridgeFromZeroAmount",inputs:[]},{type:"event",anonymous:!1,name:"RelayBridgeTransferStarted",inputs:[{type:"bytes",name:"transactionId",indexed:!0},{type:"address",name:"user",indexed:!0},{type:"bytes",name:"reciever",indexed:!1},{type:"address",name:"from",indexed:!1},{type:"bytes",name:"to",indexed:!1},{type:"tuple",name:"relayData",indexed:!1,components:[{type:"uint256",name:"amountIn"},{type:"bytes32",name:"requestId"}]},{type:"uint256",name:"destinationChainId",indexed:!1},{type:"bool",name:"hasDestinationCall",indexed:!1}]},{type:"function",name:"_RELAY_RECEIVER",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"address",name:""}]},{type:"function",name:"_RELAY_SOLVER",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"address",name:""}]},{type:"function",name:"bridgeViaRelay",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bool",name:"_updateAmountIn"},{type:"address",name:"_from"},{type:"bytes",name:"_transactionId"},{type:"bytes",name:"_receiver"},{type:"bytes",name:"_to"},{type:"tuple",name:"_relayData",components:[{type:"uint256",name:"amountIn"},{type:"bytes32",name:"requestId"}]},{type:"uint256",name:"_destinationChainId"},{type:"address",name:"_user"},{type:"bool",name:"_hasDestinationCall"}],outputs:[]},{type:"function",name:"getRelayAddress",constant:!0,stateMutability:"view",payable:!1,inputs:[],outputs:[{type:"address",name:"receiver"},{type:"address",name:"solver"}]},{type:"error",name:"BridgeCallFailed",inputs:[{type:"address",name:"target"},{type:"bytes4",name:"funSig"},{type:"bytes",name:"reason"}]},{type:"function",name:"bridgeViaGeneric",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bool",name:"_updateAmountIn"},{type:"address",name:"_from"},{type:"bytes",name:"_transactionId"},{type:"bytes",name:"_callData"},{type:"bytes",name:"_receiver"},{type:"bytes",name:"_to"},{type:"string",name:"_bridge"},{type:"uint256",name:"_amountIn"},{type:"uint256",name:"_offset"},{type:"uint256",name:"_extraNative"},{type:"uint256",name:"_destinationChainId"},{type:"address",name:"_user"},{type:"address",name:"_callTo"},{type:"address",name:"_approveTo"},{type:"bool",name:"_hasDestinationCall"}],outputs:[]},{type:"error",name:"TransferAmountMismatch",inputs:[]},{type:"function",name:"bridgeViaTransfer",constant:!1,stateMutability:"payable",payable:!0,inputs:[{type:"bool",name:"_updateAmountIn"},{type:"address",name:"_from"},{type:"bytes",name:"_transactionId"},{type:"bytes",name:"_receiver"},{type:"bytes",name:"_to"},{type:"string",name:"_bridge"},{type:"uint256",name:"_amountIn"},{type:"uint256",name:"_destinationChainId"},{type:"address",name:"_user"},{type:"address",name:"_transferTo"},{type:"bool",name:"_hasDestinationCall"}],outputs:[]}],M=[{inputs:[],name:"CalldataEmptyButInitNotZero",type:"error"},{inputs:[],name:"FacetAddressIsNotZero",type:"error"},{inputs:[],name:"FacetAddressIsZero",type:"error"},{inputs:[],name:"FacetContainsNoCode",type:"error"},{inputs:[],name:"FunctionAlreadyExists",type:"error"},{inputs:[],name:"FunctionDoesNotExist",type:"error"},{inputs:[],name:"FunctionIsImmutable",type:"error"},{inputs:[],name:"IncorrectFacetCutAction",type:"error"},{inputs:[{internalType:"bytes",name:"reason",type:"bytes"}],name:"InitReverted",type:"error"},{inputs:[],name:"InitZeroButCalldataNotEmpty",type:"error"},{inputs:[],name:"NoSelectorsInFace",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"OnlyContractOwner",type:"error"},{anonymous:!1,inputs:[{components:[{internalType:"address",name:"facetAddress",type:"address"},{internalType:"enum IDiamondCut.FacetCutAction",name:"action",type:"uint8"},{internalType:"bytes4[]",name:"functionSelectors",type:"bytes4[]"}],indexed:!1,internalType:"struct IDiamondCut.FacetCut[]",name:"_diamondCut",type:"tuple[]"},{indexed:!1,internalType:"address",name:"_init",type:"address"},{indexed:!1,internalType:"bytes",name:"_calldata",type:"bytes"}],name:"DiamondCut",type:"event"},{inputs:[{components:[{internalType:"address",name:"facetAddress",type:"address"},{internalType:"enum IDiamondCut.FacetCutAction",name:"action",type:"uint8"},{internalType:"bytes4[]",name:"functionSelectors",type:"bytes4[]"}],internalType:"struct IDiamondCut.FacetCut[]",name:"_diamondCut",type:"tuple[]"},{internalType:"address",name:"_init",type:"address"},{internalType:"bytes",name:"_calldata",type:"bytes"}],name:"diamondCut",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"CannotAuthorizeSelf",type:"error"},{inputs:[{internalType:"address",name:"_protocolFeeVault",type:"address"},{internalType:"address",name:"_feeValidator",type:"address"},{internalType:"address",name:"_refundVault",type:"address"},{internalType:"address",name:"_permit2",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"_functionSelector",type:"bytes4"}],name:"facetAddress",outputs:[{internalType:"address",name:"facetAddress_",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"facetAddresses",outputs:[{internalType:"address[]",name:"facetAddresses_",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_facet",type:"address"}],name:"facetFunctionSelectors",outputs:[{internalType:"bytes4[]",name:"facetFunctionSelectors_",type:"bytes4[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"facets",outputs:[{components:[{internalType:"address",name:"facetAddress",type:"address"},{internalType:"bytes4[]",name:"functionSelectors",type:"bytes4[]"}],internalType:"struct IDiamondLoupe.Facet[]",name:"facets_",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"_interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"owner_",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"bytes4",name:"method",type:"bytes4"}],name:"ExecutionAllowed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"bytes4",name:"method",type:"bytes4"}],name:"ExecutionDenied",type:"event"},{inputs:[{internalType:"bytes4",name:"_selector",type:"bytes4"},{internalType:"address",name:"_executor",type:"address"}],name:"addressCanExecuteMethod",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4[]",name:"_selector",type:"bytes4[]"},{internalType:"address[]",name:"_executor",type:"address[]"},{internalType:"bool[]",name:"_canExecute",type:"bool[]"}],name:"setBatchCanExecute",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"_selector",type:"bytes4"},{internalType:"address",name:"_executor",type:"address"},{internalType:"bool",name:"_canExecute",type:"bool"}],name:"setCanExecute",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"ContractIsNotPaused",type:"error"},{inputs:[],name:"ContractIsPaused",type:"error"},{inputs:[],name:"UnAuthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"feeValidator",type:"address"}],name:"FeeValidatorUpdated",type:"event"},{anonymous:!1,inputs:[],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"protocolFeeVault",type:"address"}],name:"ProtocolFeeVaultUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"refundVault",type:"address"}],name:"RefundVaultUpdated",type:"event"},{anonymous:!1,inputs:[],name:"Unpaused",type:"event"},{inputs:[],name:"getFeeValidator",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"getNonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPermit2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getProtocolFeeVault",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getRefundVault",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeValidator",type:"address"}],name:"setFeeValidator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_protocolFeeVault",type:"address"}],name:"setProtocolFeeVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_refundVault",type:"address"}],name:"setRefundVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"adapter",type:"address"}],name:"AdapterNotWhitelisted",type:"error"},{inputs:[{internalType:"address",name:"bridge",type:"address"}],name:"BridgeNotWhitelisted",type:"error"},{inputs:[{internalType:"address",name:"dex",type:"address"}],name:"DexNotWhitelisted",type:"error"},{inputs:[],name:"NotAContract",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"adapter",type:"address"}],name:"AdapterAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"adapter",type:"address"}],name:"AdapterRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"adapters",type:"address[]"}],name:"AdaptersAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"adapters",type:"address[]"}],name:"AdaptersRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bridge",type:"address"}],name:"BridgeAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bridge",type:"address"}],name:"BridgeRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"bridges",type:"address[]"}],name:"BridgesAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"bridges",type:"address[]"}],name:"Bridg