@dzapio/sdk 2.0.12 → 2.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("viem"),require("axios"),require("ethers"),require("viem/chains"),require("viem/utils"),require("viem/actions"),require("decimal.js")):"function"==typeof define&&define.amd?define(["exports","viem","axios","ethers","viem/chains","viem/utils","viem/actions","decimal.js"],t):t((e||self).sdk={},e.viem,e.axios,e.ethers,e.viemChains,e.utils,e.actions,e.Decimal)}(this,function(e,t,n,a,r,s,i,p){function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(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 d,y,l,m,c,T,f,b,v=/*#__PURE__*/o(n),h=/*#__PURE__*/u(r),g=/*#__PURE__*/o(p);!function(e){e.production="production",e.development="development"}(d||(d={})),function(e){e[e.PERMIT=0]="PERMIT",e[e.PERMIT2=1]="PERMIT2"}(y||(y={})),e.DZapPermitMode=void 0,(l=e.DZapPermitMode||(e.DZapPermitMode={}))[l.PERMIT=0]="PERMIT",l[l.PERMIT2_APPROVE=1]="PERMIT2_APPROVE",l[l.PERMIT2_WITNESS_TRANSFER=2]="PERMIT2_WITNESS_TRANSFER",l[l.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"}(c||(c={})),e.TxnStatus=void 0,(T=e.TxnStatus||(e.TxnStatus={})).mining="mining",T.success="success",T.rejected="rejected",T.error="error",T.reverted="reverted",T.pendingWalletConfirmation="pendingWalletConfirmation",T.partialSuccess="partialSuccess",T.waitingForExecution="waitingForExecution",function(e){e.V1="v1",e.V1_2="v1.2",e.V2="v2"}(f||(f={})),e.StatusCodes=void 0,(b=e.StatusCodes||(e.StatusCodes={}))[b.UserRejectedRequest=4001]="UserRejectedRequest",b[b.Success=200]="Success",b[b.FunctionNotFound=32771]="FunctionNotFound",b[b.Error=500]="Error",b[b.WalletRPCFailure=429]="WalletRPCFailure",b[b.SimulationFailure=417]="SimulationFailure",b[b.ContractExecutionError=-500]="ContractExecutionError";var x,w={permit2:"permit2",erc20:"erc20"},I={trade:"trade",dca:"dca",zap:"zap"},A="swap",S=t.encodeAbiParameters(t.parseAbiParameters("uint8, bytes"),[e.DZapPermitMode.PERMIT,"0x"]),_=t.encodeAbiParameters(t.parseAbiParameters("uint8, bytes"),[e.DZapPermitMode.PERMIT2_APPROVE,"0x"]);function P(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 D(){return D=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},D.apply(null,arguments)}function k(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 C,E,M,F,B={name:"DZapVerifier",version:"1",salt:t.keccak256(t.encodePacked(["string"],["DZap-v0.1"]))},R="PermitWitnessTransferFrom",N="PermitBatchWitnessTransferFrom",U={PermitSingle:"PermitSingle",PermitWitnessTransferFrom:"PermitWitnessTransferFrom",PermitBatchWitnessTransferFrom:"PermitBatchWitnessTransferFrom",EIP2612Permit:"EIP2612Permit",AutoPermit:"AutoPermit"},j=((x={})[U.EIP2612Permit]=e.DZapPermitMode.PERMIT,x[U.PermitSingle]=e.DZapPermitMode.PERMIT2_APPROVE,x[U.PermitWitnessTransferFrom]=e.DZapPermitMode.PERMIT2_WITNESS_TRANSFER,x[U.PermitBatchWitnessTransferFrom]=e.DZapPermitMode.BATCH_PERMIT2_WITNESS_TRANSFER,x),O=D({},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}(U,["EIP2612Permit"]),{Default:"Default"}),V={name:"name",allowance:"allowance",approve:"approve",transfer:"transfer",transferFrom:"transferFrom",balanceOf:"balanceOf",decimals:"decimals",symbol:"symbol",version:"version",nonces:"nonces",domainSeparator:"DOMAIN_SEPARATOR"},W=1800,H="get",Z="post",q=/*#__PURE__*/function(){function e(e){var t=this;this.axiosInstance=void 0,this.axiosInstance=v.default.create({baseURL:e}),this.axiosInstance.interceptors.response.use(function(e){return e},function(e){try{var n,a,r,s=function(t){return r?t:Promise.reject(e)},i=e.config;if(!i)return Promise.reject(e);i.retryCount=null!=(n=i.retryCount)?n:0,i.shouldRetry=null!=(a=i.shouldRetry)&&a;var p=function(){if(i.shouldRetry&&i.retryCount<2)return i.retryCount+=1,Promise.resolve(new Promise(function(e){return setTimeout(e,500)})).then(function(){var e=t.axiosInstance(i);return r=1,e})}();return Promise.resolve(p&&p.then?p.then(s):s(p))}catch(e){return Promise.reject(e)}})}return e.getInstance=function(t){return e.instances.has(t)||e.instances.set(t,new e(t)),e.instances.get(t).axiosInstance},e}();q.instances=new Map,"undefined"!=typeof process&&process.env&&(C=process.env.REACT_APP_ENV||process.env.NEXT_PUBLIC_APP_ENV||process.env.NODE_ENV,E=process.env.REACT_APP_BASE_API_URL||process.env.NEXT_PUBLIC_BASE_API_URL||process.env.BASE_API_URL,M=process.env.REACT_APP_ZAP_API_URL||process.env.NEXT_PUBLIC_ZAP_API_URL||process.env.ZAP_API_URL,F=process.env.REACT_APP_DZAP_API_KEY||process.env.NEXT_PUBLIC_DZAP_API_KEY||process.env.DZAP_API_KEY);var L=function(){var e={apiKey:F||null,rpcUrlsByChainId:{},eip2612DisabledChains:[747474],appEnv:C||d.development,baseApiUrl:E||"https://api.dzap.io",zapApiUrl:M||"https://zap.dzap.io",versionPostfix:"v1/"};return{getApiKey:function(){return e.apiKey},setApiKey:function(t){e.apiKey=t},getRpcUrlsByChainId:function(t){return e.rpcUrlsByChainId[t]},setRpcUrlsByChainId:function(t){e.rpcUrlsByChainId=t},getEip2612DisabledChains:function(){return e.eip2612DisabledChains},setEip2612DisabledChains:function(t){e.eip2612DisabledChains=t},getAppEnv:function(){return e.appEnv},setAppEnv:function(t){e.appEnv=t},getBaseApiUrl:function(){return e.baseApiUrl},setBaseApiUrl:function(t){e.baseApiUrl=t},getZapApiUrl:function(){return e.zapApiUrl},setZapApiUrl:function(t){e.zapApiUrl=t},getVersionPostfix:function(){return e.versionPostfix},setVersionPostfix:function(t){e.versionPostfix=t},getBaseUrl:function(){return e.baseApiUrl+"/"+e.versionPostfix},getBaseZapUrl:function(){return e.zapApiUrl+"/"+e.versionPostfix}}}(),z=q.getInstance(L.getBaseUrl()),G=q.getInstance(L.getBaseZapUrl()),K=function(e){var t=e.endpoint,n=e.data,a=e.method,r=void 0===a?Z:a,s=e.cancelToken,i=e.shouldRetry,p=void 0!==i&&i;try{var o=L.getApiKey(),u={method:r,url:t,data:r===H?void 0:n,params:r===H?n:void 0,headers:D({"Content-Type":"application/json"},o?{"x-api-key":o}:{}),cancelToken:s,shouldRetry:p};return Promise.resolve(z(u).then(function(e){return e.data}).catch(function(e){return Promise.reject(e)}))}catch(e){return Promise.reject(e)}},Y=function(e){var t=e.endpoint,n=e.data,a=e.method,r=void 0===a?Z:a,s=e.cancelToken,i=e.shouldRetry,p=void 0!==i&&i;try{var o=L.getApiKey(),u={method:r,url:t,data:r===H?void 0:n,params:r===H?n:void 0,headers:D({"Content-Type":"application/json"},o?{"x-api-key":o}:{}),cancelToken:s,shouldRetry:p};return Promise.resolve(G(u).then(function(e){return e.data}).catch(function(e){return Promise.reject(e)}))}catch(e){return Promise.reject(e)}},X=function(e){return K({endpoint:"/buildTx",data:e,method:Z})},Q=function(e){return K({endpoint:"/broadcast",data:e,method:Z})},J=function(e,t){return Y({endpoint:"/buildTx",data:e,method:Z,cancelToken:t})},$=function(){return K({endpoint:"chains",data:{},method:H,shouldRetry:!0})},ee=function(e,t,n){return K({endpoint:"token/tokens",data:{chainId:e,source:t,account:n},method:H,shouldRetry:!0})},te=function(e,t,n,a,r){var s={tokenAddress:Array.isArray(e)?void 0:e,tokenAddresses:Array.isArray(e)?e.join(","):void 0,chainId:t,account:n,includeBalance:a,includePrice:r};return K({endpoint:"token/details",data:s,method:H})},ne="undefined"!=typeof process&&process.versions&&process.versions.node,ae=null;if(ne)try{ae=require("node-cache")}catch(e){ae=null}var re=/*#__PURE__*/function(){function e(){this.cache=new Map}var t=e.prototype;return t.set=function(e,t,n){var a=n?Date.now()+1e3*n:void 0;this.cache.set(e,{value:t,expiry:a})},t.get=function(e){var t=this.cache.get(e);if(t){if(!(t.expiry&&Date.now()>t.expiry))return t.value;this.cache.delete(e)}},t.del=function(e){return this.cache.delete(e)?1:0},t.flushAll=function(){this.cache.clear()},e}(),se=/*#__PURE__*/function(){function e(){this.client=void 0,this.client=ne&&ae?new ae({checkperiod:10,deleteOnExpire:!0}):new re}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,k(a.key),a)}}(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n}();se._instance=void 0;var ie=["0x0000000000000000000000000000000000001010","0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE","0x0000000000000000000000000000000000000000","0x000000000000000000000000000000000000800A","11111111111111111111111111111111","0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000","EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c","0x000000000000000000000000000000000000aA09","0x2::sui::SUI","0x1::aptos_coin::AptosCoin","0x0000000000000000000000000000000000001000"],pe="dZap",oe="defiLlama",ue="coingecko",de=function(e,t){return!!t&&Object.values(t).some(function(t){return t.isEnabled&&t.nativeToken.contract===e})},ye=function(e,n){return void 0===n&&(n=t.zeroAddress),t.isAddress(e)?ie.includes(e)?n:t.getAddress(e):e},le=function(){var e=this;this.id=ue,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(K({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:H})).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 K({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:H});var t,n});return Promise.resolve(Promise.allSettled(r)).then(function(e){return e.reduce(function(e,n,a){var r=t[a];if("fulfilled"===n.status){var s,i=null==(s=n.value[r.toLowerCase()])?void 0:s.usd;e[r]=void 0===i?null:i.toString()}else e[r]=null,console.error("Error fetching data for address "+r+":",n.reason);return e},{})})}catch(e){return Promise.reject(e)}},this.fetchPrices=function(t,n,a){return Promise.resolve(function(){try{var r=(s=n.filter(function(e){return!de(e,a)}),Promise.resolve(Promise.all([e.fetchERC20Prices(t,s,a),s.length!==n.length?e.fetchNativePrice(t,a):void 0])).then(function(e){var n=e[0],r=e[1];return a[t].isEnabled&&r&&(n[a[t].nativeToken.contract]=r.toString()),n}))}catch(e){return{}}var s;return r&&r.then?r.then(void 0,function(){return{}}):r}())}},me=/*#__PURE__*/function(){function e(){var e=this;this.id=oe,this.requiresChainConfig=!0,this.postProcess=function(e,t,n,a){var r=n[e].name;return r?t.reduce(function(e,t){var n=a.coins[r+":"+t];return n?(e[t]=n.price.toString(),e):(e[t]=null,e)},{}):{}},this.fetchPrices=function(t,n,a){return Promise.resolve(function(){try{var r=(i=e.preProcess(t,n,a)).length?Promise.resolve(K({endpoint:(s=i,"https://coins.llama.fi/prices/current/"+s.join(",")),method:H})).then(function(r){return e.postProcess(t,n,a,r)}):{}}catch(e){return{}}var s,i;return r&&r.then?r.then(void 0,function(){return{}}):r}())}}return e.prototype.preProcess=function(e,t,n){var a=n[e];if(!a.isEnabled||null==a||!a.name)return[];var r=a.name,s=a.defiLlama;return t.map(function(e){return null!=s&&s.chainKey?de(e,n)?s.chainKey+":"+s.nativeTokenKey:s.chainKey+":"+e:r+":"+e})},e}(),ce=function(){this.id=pe,this.requiresChainConfig=!1,this.fetchPrices=function(e,t){try{return Promise.resolve(function(n,a){try{var r=Promise.resolve(function(e,t){return K({endpoint:"token/price",data:{tokenAddresses:e,chainId:t},method:H})}(t,e))}catch(e){return a(e)}return r&&r.then?r.then(void 0,a):r}(0,function(e){return console.error("Failed to fetch token price",e),{}}))}catch(e){return Promise.reject(e)}}};const Te="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function fe(e,t,n){if(!e.s){if(n instanceof be){if(!n.s)return void(n.o=fe.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(fe.bind(null,e,t),fe.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var be=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){var a=new e,r=this.s;if(r){var s=1&r?t:n;if(s){try{fe(a,1,s(this.v))}catch(e){fe(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?fe(a,1,t?t(r):r):n?fe(a,1,n(r)):fe(a,2,r)}catch(e){fe(a,2,e)}},a},e}();function ve(e){return e instanceof be&&1&e.s}var he=/*#__PURE__*/function(){function e(){this.providers=void 0,this.providers=this.initailizeProviders()}var t=e.prototype;return t.initailizeProviders=function(){return new Map([[pe,new ce],[oe,new me],[ue,new le]])},t.getPrices=function(e){var t=e.chainId,n=e.tokenAddresses,a=e.chainConfig,r=e.allowedSources,s=e.notAllowSources,i=void 0===s?[]:s;try{var p,o=function(){for(var e=[],t=0,n=Object.entries(c);t<n.length;t++){var a=n[t],r=a[0],s=a[1];null===s?e.push(r):m[r]=s}return Object.keys(m).length>0&&se.set(y,D({},l,m),900),D({},l,c)},u=this;if(!n||0===n.length)return Promise.resolve({});var d=u.getValidProviders({allowedSources:r,notAllowSources:i,chainConfig:a});if(0===d.length)return Promise.resolve({});var y=function(e){return"tokenPrices_"+e}(t),l=se.get(y)||{},m={},c={};n.forEach(function(e){null!=l&&l[e]||(c[e]=null)});var T=function(e,t,n){if("function"==typeof e[Te]){var a,r,s,i=function(e){try{for(;!((a=p.next()).done||n&&n());)if((e=t(a.value))&&e.then){if(!ve(e))return void e.then(i,s||(s=fe.bind(null,r=new be,2)));e=e.v}r?fe(r,1,e):r=e}catch(e){fe(r||(r=new be),2,e)}},p=e[Te]();if(i(),p.return){var o=function(e){try{a.done||p.return()}catch(e){}return e};if(r&&r.then)return r.then(o,function(e){throw o(e)});o()}return r}if(!("length"in e))throw new TypeError("Object is not iterable");for(var u=[],d=0;d<e.length;d++)u.push(e[d]);return function(e,t,n){var a,r,s=-1;return function i(p){try{for(;++s<e.length&&(!n||!n());)if((p=t(s))&&p.then){if(!ve(p))return void p.then(i,r||(r=fe.bind(null,a=new be,2)));p=p.v}a?fe(a,1,p):a=p}catch(e){fe(a||(a=new be),2,e)}}(),a}(u,function(e){return t(u[e])},n)}(d,function(e){var n=Object.keys(c).filter(function(e){return null===c[e]});if(0!==n.length)return Promise.resolve(e.fetchPrices(t,n,a)).then(function(e){u.updateTokensPrice(e,c)});p=1},function(){return p});return Promise.resolve(T&&T.then?T.then(o):o())}catch(e){return Promise.reject(e)}},t.getValidProviders=function(e){var t=e.allowedSources,n=e.notAllowSources,a=e.chainConfig;return Array.from(this.providers.values()).filter(function(e){var r,s,i=null==(r=null==t?void 0:t.includes(e.id))||r,p=null!=(s=null==n?void 0:n.includes(e.id))&&s,o=t?i&&!p:!p;return e.requiresChainConfig&&!a?(console.error("Provider "+e.id+" requires chainConfig but none was provided."),!1):o})},t.updateTokensPrice=function(e,t){Object.entries(e).forEach(function(e){var n=e[1];null!==n&&(t[e[0]]=n)})},e}(),ge=[{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"}],name:"AllowanceExpired",type:"error"},{inputs:[],name:"ExcessiveInvalidation",type:"error"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"InsufficientAllowance",type:"error"},{inputs:[{internalType:"uint256",name:"maxAmount",type:"uint256"}],name:"InvalidAmount",type:"error"},{inputs:[],name:"InvalidContractSignature",type:"error"},{inputs:[],name:"InvalidNonce",type:"error"},{inputs:[],name:"InvalidSignature",type:"error"},{inputs:[],name:"InvalidSignatureLength",type:"error"},{inputs:[],name:"InvalidSigner",type:"error"},{inputs:[],name:"LengthMismatch",type:"error"},{inputs:[{internalType:"uint256",name:"signatureDeadline",type:"uint256"}],name:"SignatureExpired",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"spender",type:"address"}],name:"Lockdown",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint48",name:"newNonce",type:"uint48"},{indexed:!1,internalType:"uint48",name:"oldNonce",type:"uint48"}],name:"NonceInvalidation",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"},{indexed:!1,internalType:"uint48",name:"nonce",type:"uint48"}],name:"Permit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"uint256",name:"word",type:"uint256"},{indexed:!1,internalType:"uint256",name:"mask",type:"uint256"}],name:"UnorderedNonceInvalidation",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint48",name:"newNonce",type:"uint48"}],name:"invalidateNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"wordPos",type:"uint256"},{internalType:"uint256",name:"mask",type:"uint256"}],name:"invalidateUnorderedNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"}],internalType:"struct IAllowanceTransfer.TokenSpenderPair[]",name:"approvals",type:"tuple[]"}],name:"lockdown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"nonceBitmap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails[]",name:"details",type:"tuple[]"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitBatch",name:"permitBatch",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails",name:"details",type:"tuple"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitSingle",name:"permitSingle",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],internalType:"struct IAllowanceTransfer.AllowanceTransferDetails[]",name:"transferDetails",type:"tuple[]"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"}],xe=[{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"}],we=[{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:[]}],Ie=[{inputs:[],name:"CalldataEmptyButInitNotZero",type:"error"},{inputs:[],name:"FacetAddressIsNotZero",type:"error"},{inputs:[],name:"FacetAddressIsZero",type:"error"},{inputs:[],name:"FacetContainsNoCode",type:"error"},{inputs:[],name:"FunctionAlreadyExists",type:"error"},{inputs:[],name:"FunctionDoesNotExist",type:"error"},{inputs:[],name:"FunctionIsImmutable",type:"error"},{inputs:[],name:"IncorrectFacetCutAction",type:"error"},{inputs:[{internalType:"bytes",name:"reason",type:"bytes"}],name:"InitReverted",type:"error"},{inputs:[],name:"InitZeroButCalldataNotEmpty",type:"error"},{inputs:[],name:"NoSelectorsInFace",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"OnlyContractOwner",type:"error"},{anonymous:!1,inputs:[{components:[{internalType:"address",name:"facetAddress",type:"address"},{internalType:"enum IDiamondCut.FacetCutAction",name:"action",type:"uint8"},{internalType:"bytes4[]",name:"functionSelectors",type:"bytes4[]"}],indexed:!1,internalType:"struct IDiamondCut.FacetCut[]",name:"_diamondCut",type:"tuple[]"},{indexed:!1,internalType:"address",name:"_init",type:"address"},{indexed:!1,internalType:"bytes",name:"_calldata",type:"bytes"}],name:"DiamondCut",type:"event"},{inputs:[{components:[{internalType:"address",name:"facetAddress",type:"address"},{internalType:"enum IDiamondCut.FacetCutAction",name:"action",type:"uint8"},{internalType:"bytes4[]",name:"functionSelectors",type:"bytes4[]"}],internalType:"struct IDiamondCut.FacetCut[]",name:"_diamondCut",type:"tuple[]"},{internalType:"address",name:"_init",type:"address"},{internalType:"bytes",name:"_calldata",type:"bytes"}],name:"diamondCut",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"CannotAuthorizeSelf",type:"error"},{inputs:[{internalType:"address",name:"_protocolFeeVault",type:"address"},{internalType:"address",name:"_feeValidator",type:"address"},{internalType:"address",name:"_refundVault",type:"address"},{internalType:"address",name:"_permit2",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"_functionSelector",type:"bytes4"}],name:"facetAddress",outputs:[{internalType:"address",name:"facetAddress_",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"facetAddresses",outputs:[{internalType:"address[]",name:"facetAddresses_",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_facet",type:"address"}],name:"facetFunctionSelectors",outputs:[{internalType:"bytes4[]",name:"facetFunctionSelectors_",type:"bytes4[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"facets",outputs:[{components:[{internalType:"address",name:"facetAddress",type:"address"},{internalType:"bytes4[]",name:"functionSelectors",type:"bytes4[]"}],internalType:"struct IDiamondLoupe.Facet[]",name:"facets_",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"_interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"owner_",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"bytes4",name:"method",type:"bytes4"}],name:"ExecutionAllowed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"bytes4",name:"method",type:"bytes4"}],name:"ExecutionDenied",type:"event"},{inputs:[{internalType:"bytes4",name:"_selector",type:"bytes4"},{internalType:"address",name:"_executor",type:"address"}],name:"addressCanExecuteMethod",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4[]",name:"_selector",type:"bytes4[]"},{internalType:"address[]",name:"_executor",type:"address[]"},{internalType:"bool[]",name:"_canExecute",type:"bool[]"}],name:"setBatchCanExecute",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"_selector",type:"bytes4"},{internalType:"address",name:"_executor",type:"address"},{internalType:"bool",name:"_canExecute",type:"bool"}],name:"setCanExecute",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"ContractIsNotPaused",type:"error"},{inputs:[],name:"ContractIsPaused",type:"error"},{inputs:[],name:"UnAuthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"feeValidator",type:"address"}],name:"FeeValidatorUpdated",type:"event"},{anonymous:!1,inputs:[],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"protocolFeeVault",type:"address"}],name:"ProtocolFeeVaultUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"refundVault",type:"address"}],name:"RefundVaultUpdated",type:"event"},{anonymous:!1,inputs:[],name:"Unpaused",type:"event"},{inputs:[],name:"getFeeValidator",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"getNonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPermit2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getProtocolFeeVault",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getRefundVault",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeValidator",type:"address"}],name:"setFeeValidator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_protocolFeeVault",type:"address"}],name:"setProtocolFeeVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_refundVault",type:"address"}],name:"setRefundVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"adapter",type:"address"}],name:"AdapterNotWhitelisted",type:"error"},{inputs:[{internalType:"address",name:"bridge",type:"address"}],name:"BridgeNotWhitelisted",type:"error"},{inputs:[{internalType:"address",name:"dex",type:"address"}],name:"DexNotWhitelisted",type:"error"},{inputs:[],name:"NotAContract",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"adapter",type:"address"}],name:"AdapterAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"adapter",type:"address"}],name:"AdapterRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"adapters",type:"address[]"}],name:"AdaptersAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"adapters",type:"address[]"}],name:"AdaptersRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bridge",type:"address"}],name:"BridgeAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bridge",type:"address"}],name:"BridgeRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"bridges",type:"address[]"}],name:"BridgesAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"bridges",type:"address[]"}],name:"BridgesRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"dex",type:"address"}],name:"DexAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"dex",type:"address"}],name:"DexRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"dexes",type:"address[]"}],name:"DexesAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"dexes",type:"address[]"}],name:"DexesRemoved",type:"event"},{inputs:[{internalType:"address",name:"_adapter",type:"address"}],name:"addAdapter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_adapters",type:"address[]"}],name:"addAdapters",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_bridge",type:"address"}],name:"addBridge",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_bridges",type:"address[]"}],name:"addBridges",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dex",type:"address"}],name:"addDex",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_dexs",type:"address[]"},{internalType:"address[]",name:"_bridges",type:"address[]"}],name:"addDexesAndBridges",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_dexs",type:"address[]"}],name:"addDexs",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_adapter",type:"address"}],name:"isAdapterWhitelisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_bridge",type:"address"}],name:"isBridgeWhitelisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dex",type:"address"}],name:"isDexWhitelisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_adapter",type:"address"}],name:"removeAdapter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_adapters",type:"address[]"}],name:"removeAdapters",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_bridge",type:"address"}],name:"removeBridge",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_bridges",type:"address[]"}],name:"removeBridges",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dex",type:"address"}],name:"removeDex",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_dexs",type:"address[]"},{internalType:"address[]",name:"_bridges",type:"address[]"}],name:"removeDexesAndBridges",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_dexs",type:"address[]"}],name:"removeDexs",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"NativeTransferFailed",type:"error"},{inputs:[],name:"NoTransferToNullAddress",type:"error"},{inputs:[],name:"ReentrancyError",type:"error"},{inputs:[],name:"WithdrawFailed",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"tokenAddress",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"LogWithdraw",type:"event"},{inputs:[{internalType:"address payable",name:"_callTo",type:"address"},{internalType:"bytes",name:"_callData",type:"bytes"},{internalType:"address",name:"_token",type:"address"},{internalType:"address",name:"_to",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"executeCallAndWithdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_token",type:"address"},{internalType:"address",name:"_to",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"reason",type:"string"}],name:"InvalidPermit",type:"error"},{inputs:[],name:"InvalidPermitType",type:"error"},{inputs:[],name:"NoSwapFromZeroAmount",type:"error"},{inputs:[],name:"NullAddrIsNotAValidRecipient",type:"error"},{inputs:[],name:"NullAddrIsNotAValidSpender",type:"error"},{inputs:[{internalType:"uint256",name:"minAmount",type:"uint256"},{internalType:"uint256",name:"returnAmount",type:"uint256"}],name:"SlippageTooHigh",type:"error"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes4",name:"funSig",type:"bytes4"},{internalType:"bytes",name:"reason",type:"bytes"}],name:"SwapCallFailed",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"integrator",type:"address"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"returnToAmount",type:"uint256"}],indexed:!1,internalType:"struct SwapInfo[]",name:"swapInfo",type:"tuple[]"}],name:"DZapBatchTokenSwapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"integrator",type:"address"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"returnToAmount",type:"uint256"}],indexed:!1,internalType:"struct SwapInfo",name:"swapInfo",type:"tuple"}],name:"DZapTokenSwapped",type:"event"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken[]",name:"_inputTokens",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{internalType:"bool",name:"withoutRevert",type:"bool"}],name:"swap",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"bytes",name:"_batchDepositSignature",type:"bytes"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct PermitBatchTransferFrom",name:"_tokenDepositDetails",type:"tuple"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{internalType:"bool",name:"withoutRevert",type:"bool"}],name:"swap",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"bytes",name:"_tokenApprovalData",type:"bytes"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData",name:"_swapData",type:"tuple"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData",name:"_swapExecutionData",type:"tuple"}],name:"swap",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"res",type:"bytes"}],name:"AdapterCallFailed",type:"error"},{inputs:[],name:"SigDeadlineExpired",type:"error"},{inputs:[],name:"UnauthorizedSigner",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"bytes",name:"receiver",type:"bytes"},{indexed:!1,internalType:"string",name:"bridge",type:"string"},{indexed:!1,internalType:"address",name:"bridgeAddress",type:"address"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"bytes",name:"to",type:"bytes"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"destinationChainId",type:"uint256"},{indexed:!1,internalType:"bytes",name:"destinationCalldata",type:"bytes"}],name:"BridgeStarted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"integrator",type:"address"}],name:"DZapBridgeStarted",type:"event"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken",name:"_intputTokens",type:"tuple"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo",name:"_adapterInfo",type:"tuple"}],name:"bridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"bytes",name:"_batchDepositSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct PermitBatchTransferFrom",name:"_tokenDepositDetails",type:"tuple"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bool",name:"updateBridgeInAmount",type:"bool"}],internalType:"struct BridgeSwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo[]",name:"_adapterInfo",type:"tuple[]"}],name:"bridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken[]",name:"_erc20Token",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bool",name:"updateBridgeInAmount",type:"bool"}],internalType:"struct BridgeSwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo[]",name:"_adapterInfo",type:"tuple[]"}],name:"bridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken",name:"_intputTokens",type:"tuple"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bool",name:"updateBridgeInAmount",type:"bool"}],internalType:"struct BridgeSwapData",name:"_swapData",type:"tuple"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData",name:"_swapExecutionData",type:"tuple"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo",name:"_adapterInfo",type:"tuple"}],name:"bridge",outputs:[],stateMutability:"payable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"_transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"executor",type:"address"},{indexed:!0,internalType:"address",name:"_user",type:"address"}],name:"DZapGasLessStarted",type:"event"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_bridgeFeeData",type:"bytes"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_userIntentDeadline",type:"uint256"},{internalType:"uint256",name:"_bridgeFeeDeadline",type:"uint256"},{internalType:"address",name:"_user",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken",name:"_inputToken",type:"tuple"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo",name:"_executorFeeInfo",type:"tuple"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo",name:"_adapterInfo",type:"tuple"}],name:"executeBridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_bridgeFeeData",type:"bytes"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_userIntentDeadline",type:"uint256"},{internalType:"uint256",name:"_bridgeFeeDeadline",type:"uint256"},{internalType:"address",name:"_user",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken[]",name:"_inputTokens",type:"tuple[]"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo[]",name:"_executorFeeInfo",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bool",name:"updateBridgeInAmount",type:"bool"}],internalType:"struct BridgeSwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo[]",name:"_adapterInfo",type:"tuple[]"}],name:"executeMultiBridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_bridgeFeeData",type:"bytes"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_bridgeFeeDeadline",type:"uint256"},{internalType:"address",name:"_user",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct PermitBatchTransferFrom",name:"_tokenDepositDetails",type:"tuple"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo[]",name:"_executorFeeInfo",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bool",name:"updateBridgeInAmount",type:"bool"}],internalType:"struct BridgeSwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo[]",name:"_adapterInfo",type:"tuple[]"}],name:"executeMultiBridgeWithWitness",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"uint256",name:"_userIntentDeadline",type:"uint256"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken[]",name:"_inputTokens",type:"tuple[]"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo[]",name:"_executorFeeInfo",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"}],name:"executeMultiSwap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct PermitBatchTransferFrom",name:"_tokenDepositDetails",type:"tuple"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo[]",name:"_executorFeeInfo",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"}],name:"executeMultiSwapWithWitness",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"uint256",name:"_userIntentDeadline",type:"uint256"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"bytes",name:"_tokenApprovalData",type:"bytes"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo",name:"_executorFeeInfo",type:"tuple"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData",name:"_swapData",type:"tuple"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData",name:"_swapExecutionData",type:"tuple"}],name:"executeSwap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"AmountExceedsMaximum",type:"error"},{inputs:[],name:"CannotBridgeToSameNetwork",type:"error"},{inputs:[{internalType:"bytes",name:"reason",type:"bytes"}],name:"Erc20CallFailed",type:"error"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"contractBalance",type:"uint256"}],name:"InsufficientBalance",type:"error"},{inputs:[],name:"InvalidEncodedAddress",type:"error"},{inputs:[{internalType:"bytes",name:"reason",type:"bytes"}],name:"NativeCallFailed",type:"error"},{inputs:[],name:"NoBridgeFromZeroAmount",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"bytes",name:"reciever",type:"bytes"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"bytes",name:"to",type:"bytes"},{components:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"bytes32",name:"requestId",type:"bytes32"}],indexed:!1,internalType:"struct RelayData",name:"relayData",type:"tuple"},{indexed:!1,internalType:"uint256",name:"destinationChainId",type:"uint256"},{indexed:!1,internalType:"bytes",name:"destinationCalldata",type:"bytes"}],name:"RelayBridgeTransferStarted",type:"event"},{inputs:[],name:"_RELAY_RECEIVER",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"_RELAY_SOLVER",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"uint256",name:"_maxAmountIn",type:"uint256"},{internalType:"address",name:"_from",type:"address"},{internalType:"uint256",name:"_destinationChainId",type:"uint256"},{internalType:"bytes",name:"_receiver",type:"bytes"},{internalType:"bytes",name:"_to",type:"bytes"},{internalType:"bytes",name:"_destinationCalldata",type:"bytes"},{components:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"bytes32",name:"requestId",type:"bytes32"}],internalType:"struct RelayData",name:"_relayData",type:"tuple"}],name:"bridgeViaRelay",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"getRelayAddress",outputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"solver",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes4",name:"funSig",type:"bytes4"},{internalType:"bytes",name:"reason",type:"bytes"}],name:"BridgeCallFailed",type:"error"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"uint256",name:"_maxAmountIn",type:"uint256"},{internalType:"address",name:"_from",type:"address"},{internalType:"address",name:"_callTo",type:"address"},{internalType:"address",name:"_approveTo",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{internalType:"uint256",name:"_offset",type:"uint256"},{internalType:"uint256",name:"_extraNative",type:"uint256"},{internalType:"uint256",name:"_destinationChainId",type:"uint256"},{internalType:"string",name:"_bridge",type:"string"},{internalType:"bytes",name:"_receiver",type:"bytes"},{internalType:"bytes",name:"_to",type:"bytes"},{internalType:"bytes",name:"_callData",type:"bytes"},{internalType:"bytes",name:"_destinationCalldata",type:"bytes"}],name:"bridgeViaGeneric",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"TransferAmountMismatch",type:"error"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"uint256",name:"_maxAmountIn",type:"uint256"},{internalType:"address",name:"_from",type:"address"},{internalType:"address",name:"_transferTo",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{internalType:"uint256",name:"_destinationChainId",type:"uint256"},{internalType:"string",name:"_bridge",type:"string"},{internalType:"bytes",name:"_receiver",type:"bytes"},{internalType:"bytes",name:"_to",type:"bytes"},{internalType:"bytes",name:"_destinationCalldata",type:"bytes"}],name:"bridgeViaTransfer",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"NativeTokenNotSupported",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"user",type:"address"},{components:[{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"uint256",name:"destChains",type:"uint256"},{internalType:"uint256",name:"depositAmount",type:"uint256"}],indexed:!1,internalType:"struct GasZipData",name:"gasZipData",type:"tuple"},{indexed:!1,internalType:"bytes",name:"destinationCalldata",type:"bytes"}],name:"GasZipBridgeTransferStarted",type:"event"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"uint256",name:"_maxAmountIn",type:"uint256"},{internalType:"address",name:"_from",type:"address"},{internalType:"bytes",name:"_destinationCalldata",type:"bytes"},{components:[{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"uint256",name:"destChains",type:"uint256"},{internalType:"uint256",name:"depositAmount",type:"uint256"}],internalType:"struct GasZipData",name:"_gasZipData",type:"tuple"}],name:"bridgeViaGasZip",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"getGasZipRouter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],Ae=[{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"}],Se=t.defineChain({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}}}),_e=[t.defineChain({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}}}),Se,t.defineChain({id:999,name:"HyperEVM",nativeCurrency:{name:"HYPE",symbol:"HYPE",decimals:18},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:13051}},blockExplorers:{default:{name:"HyperEVMScan",url:"https://hyperevmscan.io/"}},rpcUrls:{default:{http:["https://rpc.hyperliquid.xyz/evm","https://rpc.hypurrscan.io","https://hyperliquid-json-rpc.stakely.io"]}}}),t.defineChain({id:998,name:"Hyperliquid",nativeCurrency:{name:"HYPE",symbol:"HYPE",decimals:18},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:13051}},blockExplorers:{default:{name:"Hyperliquid Scan",url:"https://app.hyperliquid.xyz/explorer"}},rpcUrls:{default:{http:["https://li.quest/v1/rpc/1337"]}}}),t.defineChain({id:988,name:"Stable",nativeCurrency:{name:"GUSDT",symbol:"gUSDT",decimals:18},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2423647}},blockExplorers:{default:{name:"Stablescan",url:"https://stablescan.xyz"}},rpcUrls:{default:{http:["https://rpc.stable.xyz"],webSocket:["wss://rpc.stable.xyz"]}}})],Pe=[].concat(Object.values(h),_e).reduce(function(e,t){var n;return t.id?D({},e,((n={})[t.id]=t,n)):e},{}),De={SingleSwap:[{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken",name:"_inputTokens",type:"tuple"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData",name:"_swapData",type:"tuple"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData",name:"_swapExecutionData",type:"tuple"}],name:"swap",outputs:[],stateMutability:"payable",type:"function"}],BatchPermitSwapAbi:[{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{internalType:"bytes",name:"_batchDepositSignature",type:"bytes"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct PermitBatchTransferFrom",name:"_tokenDepositDetails",type:"tuple"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{internalType:"bool",name:"withoutRevert",type:"bool"}],name:"swap",outputs:[],stateMutability:"payable",type:"function"}],MultiSwapAbi:[{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken[]",name:"_inputTokens",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{internalType:"bool",name:"withoutRevert",type:"bool"}],name:"swap",outputs:[],stateMutability:"payable",type:"function"}],GaslessExecuteMultiSwapAbi:[{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"uint256",name:"_userIntentDeadline",type:"uint256"},{internalType:"uint256",name:"_feeDeadline",type:"uint256"},{internalType:"address",name:"_user",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken[]",name:"_inputTokens",type:"tuple[]"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo[]",name:"_executorFeeInfo",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"}],name:"executeMultiSwap",outputs:[],stateMutability:"payable",type:"function"}],GaslessExecuteMultiSwapWithWitnessAbi:[{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"uint256",name:"_feeDeadline",type:"uint256"},{internalType:"address",name:"_user",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct PermitBatchTransferFrom",name:"_tokenDepositDetails",type:"tuple"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo[]",name:"_executorFeeInfo",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"}],name:"executeMultiSwapWithWitness",outputs:[],stateMutability:"payable",type:"function"}],GaslessExecuteSwapAbi:[{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"uint256",name:"_userIntentDeadline",type:"uint256"},{internalType:"uint256",name:"_feeDeadline",type:"uint256"},{internalType:"address",name:"_user",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken",name:"_inputToken",type:"tuple"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo",name:"_executorFeeInfo",type:"tuple"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData",name:"_swapData",type:"tuple"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData",name:"_swapExecutionData",type:"tuple"}],name:"executeSwap",outputs:[],stateMutability:"payable",type:"function"}]},ke=function(){var e=this;this.decodeSingleSwapData=function(e){var t,n=s.decodeFunctionData({data:e,abi:De.SingleSwap});return[null==n||null==(t=n.args)?void 0:t[4]]},this.decodeMultiSwapData=function(e){var t,n=s.decodeFunctionData({data:e,abi:De.MultiSwapAbi});return null==n||null==(t=n.args)?void 0:t[4]},this.decodeBatchPermitSwapData=function(e){var t,n=s.decodeFunctionData({data:e,abi:De.BatchPermitSwapAbi});return null==n||null==(t=n.args)||null==(t=t[5])?void 0:t.permitted},this.decodeGaslessExecuteMultiSwapData=function(e){var t,n=s.decodeFunctionData({data:e,abi:De.GaslessExecuteMultiSwapAbi});return null==n||null==(t=n.args)?void 0:t[7]},this.decodeGaslessExecuteMultiSwapWithWitnessData=function(e){var t,n=s.decodeFunctionData({data:e,abi:De.GaslessExecuteMultiSwapWithWitnessAbi});return null==n||null==(t=n.args)?void 0:t[7]},this.decodeGaslessExecuteSwapData=function(e){var t,n=s.decodeFunctionData({data:e,abi:De.GaslessExecuteSwapAbi});return[null==n||null==(t=n.args)?void 0:t[7]]},this.swapFunctionSignatureWithInputTokenIndex={"0x50d52584":{name:"singleSwap",decoder:this.decodeSingleSwapData},"0x8de34776":{name:"multiSwap",decoder:this.decodeMultiSwapData},"0x8d44ea24":{name:"batchPermitSwap",decoder:this.decodeBatchPermitSwapData},"0xd367ada5":{name:"gaslessExecuteMultiSwap",decoder:this.decodeGaslessExecuteMultiSwapData},"0xdcdc6089":{name:"gaslessExecuteMultiSwapWithWitness",decoder:this.decodeGaslessExecuteMultiSwapWithWitnessData},"0x0d2eedd4":{name:"gaslessExecuteSwap",decoder:this.decodeGaslessExecuteSwapData}},this.updateSwapInfo=function(t){var n=t.data,a=t.eventSwapInfo;try{var r;if(!n||!a||"0x"===n)return a;var s=n.slice(0,10),i=null==(r=e.swapFunctionSignatureWithInputTokenIndex[s])?void 0:r.decoder;if(!i)return a;var p=i(n);if(!p||0===p.length)return a;var o=p.filter(function(e){return e.token&&e.amount}).reduce(function(e,t){return e[ye(t.token)]=t.amount,e},{});if(Array.isArray(a))return a.map(function(e){var t=ye(e.fromToken);return D({},e,{fromAmount:o[t]||e.fromAmount})});var u=ye(a.fromToken);return D({},a,{fromAmount:o[u]||a.fromAmount})}catch(e){return a}}},Ce={batch:{wait:1e3},retryDelay:500},Ee=function(e){var n=e.rpcUrls,a=e.chainId,r=n&&Array.isArray(n)&&n.length>0;return t.createPublicClient({chain:Pe[a],transport:t.fallback(r?n.map(function(e){return t.http(e,Ce)}):[t.http()]),batch:{multicall:{wait:1e3}}})};function Me(e){var n=e.destToken,a=e.destChainId,r=e.srcChainNativeAddress,s=e.destChainNativeAddress,i=void 0===s?t.zeroAddress:s;return e.srcChainId+"_"+ye(e.srcToken,void 0===r?t.zeroAddress:r)+"-"+a+"_"+ye(n,i)}BigInt(15),BigInt(10);var Fe=function(e){return e instanceof a.Signer},Be=function(e){return"0x0000000000000000000000000000000000000000"===e},Re=function(e,t){switch(e){case I.trade:switch(t){case c.v1:return we;case c.v2:return Ie;default:throw new Error("Invalid Version for Trade")}case I.dca:return Ae;default:throw new Error("Invalid Service")}},Ne="BridgeCallFailed",Ue=function(e){return Boolean(e)&&e.isAxiosError},je=function(n){var a,r,s=n.error;if((null==s?void 0:s.code)===e.StatusCodes.WalletRPCFailure||(null==s||null==(a=s.cause)?void 0:a.code)===e.StatusCodes.WalletRPCFailure)return{error:s,errorMsg:"Too many requests, failure on user wallet",code:e.StatusCodes.WalletRPCFailure,status:e.TxnStatus.error};if((null==s?void 0:s.code)===e.StatusCodes.UserRejectedRequest||(null==s||null==(r=s.cause)?void 0:r.code)===e.StatusCodes.UserRejectedRequest)return{error:s,errorMsg:"Rejected by User",code:e.StatusCodes.UserRejectedRequest,status:e.TxnStatus.rejected};var i,p=s.shortMessage,o=(i=s.metaMessages[0].match(/Error: (\w+)/))?i[1]:null;if(o==Ne){var u=s.metaMessages[1];try{u=function(e){if(e.length<68)return e;var n="0x"+e.slice(10);return t.decodeAbiParameters(t.parseAbiParameters("string"),n)[0]}(s.metaMessages[1].match(/\((.*?)\)/)[1])}catch(e){}p=Ne+" : "+u}else o&&(p=o);return{status:e.TxnStatus.error,error:s,errorMsg:p,code:e.StatusCodes.ContractExecutionError}},Oe=function(){};Oe.sendTransaction=function(t){var n=t.chainId,a=t.signer,r=t.from,s=t.to,i=t.data,p=t.value;try{return Promise.resolve(function(t,o){try{var u=Fe(a)?(console.log("Using ethers signer."),Promise.resolve(a.sendTransaction({from:r,to:s,data:i,value:p})).then(function(t){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t.hash}})):(console.log("Using viem walletClient."),Promise.resolve(a.sendTransaction({chain:Pe[n],account:r,to:s,data:i,value:BigInt(p)})).then(function(t){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t}}))}catch(e){return o(e)}return u&&u.then?u.then(void 0,o):u}(0,function(e){return console.log({error:e}),je({error:e})}))}catch(e){return Promise.reject(e)}};var Ve,We={Permit:[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},He={SignedGasLessSwapData:[{name:"txId",type:"bytes32"},{name:"user",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"executorFeesHash",type:"bytes32"},{name:"swapDataHash",type:"bytes32"}]},Ze={SignedGasLessBridgeData:[{name:"txId",type:"bytes32"},{name:"user",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"executorFeesHash",type:"bytes32"},{name:"adapterDataHash",type:"bytes32"}]},qe={SignedGasLessSwapBridgeData:[{name:"txId",type:"bytes32"},{name:"user",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"executorFeesHash",type:"bytes32"},{name:"swapDataHash",type:"bytes32"},{name:"adapterDataHash",type:"bytes32"}]},Le=function(e){var t=Math.floor(Date.now()/1e3);return BigInt(t+e)},ze=function(e){var t=e.signer,n=e.domain,a=e.message,r=e.types,s=e.account,i=e.primaryType;try{var p,o=Fe(t)?Promise.resolve(t._signTypedData(n,r,a)).then(function(e){p=e}):Promise.resolve(t.signTypedData({account:s,domain:n,message:a,primaryType:i,types:r})).then(function(e){p=e});return Promise.resolve(o&&o.then?o.then(function(){return p}):p)}catch(e){return Promise.reject(e)}},Ge=[{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:"holder",type:"address",internalType:"address"},{name:"spender",type:"address",internalType:"address"},{name:"nonce",type:"uint256",internalType:"uint256"},{name:"expiry",type:"uint256",internalType:"uint256"},{name:"allowed",type:"bool",internalType:"bool"},{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"}],Ke=function(t){var n=t.chainId,a=t.contracts,r=t.rpcUrls,s=t.multicallAddress,i=t.allowFailure,p=void 0!==i&&i;try{return Promise.resolve(function(t,i){try{var o=(u=Ee({chainId:n,rpcUrls:r}),Promise.resolve(u.multicall(D({contracts:a},s&&{multicallAddress:s},{allowFailure:p}))).then(function(t){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,data:t}}))}catch(e){return i(e)}var u;return o&&o.then?o.then(void 0,i):o}(0,function(t){return console.error("Multicall failed:",t),{status:e.TxnStatus.error,code:t.code||e.StatusCodes.Error,data:[]}}))}catch(e){return Promise.reject(e)}},Ye=L.getEip2612DisabledChains(),Xe=function(t){var n=t.address,a=t.chainId,r=t.rpcUrls,s=t.owner,i=t.permit;try{var p;return!1===(null==i||null==(p=i.eip2612)?void 0:p.supported)||Ye.includes(a)?Promise.resolve({supportsPermit:!1}):Promise.resolve(Ke({chainId:a,contracts:[{address:n,abi:Ge,functionName:V.domainSeparator},{address:n,abi:Ge,functionName:V.nonces,args:[s]},{address:n,abi:Ge,functionName:V.version},{address:n,abi:Ge,functionName:V.name}],rpcUrls:r,allowFailure:!0})).then(function(t){if(t.status!==e.TxnStatus.success)return{supportsPermit:!1};var n=t.data,a=n[1],r=n[2],s=n[3];return n[0].status!==e.TxnStatus.success||a.status!==e.TxnStatus.success||s.status!==e.TxnStatus.success?{supportsPermit:!1}:{supportsPermit:!0,data:{version:r.status===e.TxnStatus.success?r.result:"1",name:s.result,nonce:a.result}}})}catch(e){return Promise.reject(e)}},Qe=((Ve={})[324]="0x0000000000225e31D15943971F47aD3022F714Fa",Ve[10242]="0x5Aeec43fF96b9B6c5a1dC1DAdA662ACE3c236C49",Ve[6001]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ve[5115]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ve[996]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ve[14]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ve[8822]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ve[42766]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ve[5165]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ve[2741]="0x0000000000225e31D15943971F47aD3022F714Fa",Ve[232]="0x0000000000225e31D15943971F47aD3022F714Fa",Ve),Je={typeName:"DZapTransferWitness",type:{DZapTransferWitness:[{name:"owner",type:"address"},{name:"recipient",type:"address"}]}},$e={typeName:"DZapSwapWitness",type:{DZapSwapWitness:[{name:"txId",type:"bytes32"},{name:"user",type:"address"},{name:"executorFeesHash",type:"bytes32"},{name:"swapDataHash",type:"bytes32"}]}},et={typeName:"DZapBridgeWitness",type:{DZapBridgeWitness:[{name:"txId",type:"bytes32"},{name:"user",type:"address"},{name:"executorFeesHash",type:"bytes32"},{name:"swapDataHash",type:"bytes32"},{name:"adapterDataHash",type:"bytes32"}]}},tt=[{name:"permit",type:"tuple",components:[{name:"permitted",type:"tuple[]",components:[{name:"token",type:"address"},{name:"amount",type:"uint256"}]},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},{name:"permitSignature",type:"bytes"}];function nt(e,t){return{name:"Permit2",chainId:t,verifyingContract:e}}var at=[{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"}];function rt(e,t,n){if(!e.s){if(n instanceof st){if(!n.s)return void(n.o=rt.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(rt.bind(null,e,t),rt.bind(null,e,2));e.s=t,e.v=n;const a=e.o;a&&a(e)}}var st=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){var a=new e,r=this.s;if(r){var s=1&r?t:n;if(s){try{rt(a,1,s(this.v))}catch(e){rt(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?rt(a,1,t?t(r):r):n?rt(a,1,n(r)):rt(a,2,r)}catch(e){rt(a,2,e)}},a},e}();function it(e){return e instanceof st&&1&e.s}var pt=/*#__PURE__*/function(){function e(e,n){this.permit2Contract=void 0,this.permit2Contract=t.getContract({address:n,abi:ge,client:e})}var n=e.prototype;return n.nextNonce=function(n){try{var a,r=function(e){if(a)return e;throw new Error("Max iterations reached")},s=this,i=BigInt(0),p=0,o=0,u=function(e,t,n){for(var a;;){var r=e();if(it(r)&&(r=r.v),!r)return s;if(r.then){a=0;break}var s=n();if(s&&s.then){if(!it(s)){a=1;break}s=s.s}if(t){var i=t();if(i&&i.then&&!it(i)){a=2;break}}}var p=new st,o=rt.bind(null,p,2);return(0===a?r.then(d):1===a?s.then(u):i.then(y)).then(void 0,o),p;function u(a){s=a;do{if(t&&(i=t())&&i.then&&!it(i))return void i.then(y).then(void 0,o);if(!(r=e())||it(r)&&!r.v)return void rt(p,1,s);if(r.then)return void r.then(d).then(void 0,o);it(s=n())&&(s=s.v)}while(!s||!s.then);s.then(u).then(void 0,o)}function d(e){e?(s=n())&&s.then?s.then(u).then(void 0,o):u(s):rt(p,1,s)}function y(){(r=e())?r.then?r.then(d).then(void 0,o):d(r):rt(p,1,s)}}(function(){return!a&&o<e.MAX_WORD_ITERATIONS},function(){return o++},function(){return Promise.resolve(s.permit2Contract.read.nonceBitmap([n,i])).then(function(n){if(n===t.maxUint256)return++i,void(p=0);var r=n;for(0!==p&&(r>>=BigInt(p));p<e.MAX_POSITION&&(r&BigInt(1))===BigInt(1);)r>>=BigInt(1),++p;var o=s.nonceFromWordAndPos(i,p);return a=1,o})});return Promise.resolve(u&&u.then?u.then(r):r(u))}catch(e){return Promise.reject(e)}},n.nonceFromWordAndPos=function(t,n){return t<<e.POSITION_BITS|BigInt(n)},n.getNonceBitmap=function(e,t){try{return Promise.resolve(this.permit2Contract.read.nonceBitmap([e,t]))}catch(e){return Promise.reject(e)}},n.isNonceUsed=function(t,n){try{var a=n>>e.POSITION_BITS,r=Number(n&e.POSITION_MASK);return Promise.resolve(this.getNonceBitmap(t,a)).then(function(e){return(e>>BigInt(r)&BigInt(1))===BigInt(1)})}catch(e){return Promise.reject(e)}},e}();pt.POSITION_BITS=BigInt(8),pt.MAX_POSITION=256,pt.POSITION_MASK=BigInt(255),pt.MAX_WORD_ITERATIONS=1e3;var ot=function(e,t,n,a){try{var r=Ee({chainId:n,rpcUrls:a}),s=new pt(r,e);return Promise.resolve(s.nextNonce(t))}catch(e){return Promise.reject(e)}};function ut(e){var t;return null!=(t=Qe[e])?t:"0x000000000022D473030F116dDEE9F6B43aC78BA3"}var dt,yt=function(n){try{return Promise.resolve(function(a,r){try{var s=(p=n.chainId,o=n.account,u=n.tokens,d=n.spender,y=n.rpcUrls,T=n.signer,f=n.permitType,b=n.firstTokenNonce,v=n.contractVersion,h=n.service,g=null!=(l=n.deadline)?l:Le(W),x=null!=(i=n.expiration)?i:t.maxUint48,w=ut(p),S=u.map(function(e){return D({},e,{amount:BigInt(e.amount||t.maxUint256).toString()})}),_=function(e){var t=e.account;return{witnessData:e.gasless&&e.swapDataHash?e.txType===A?{witness:{txId:e.txId,user:t,executorFeesHash:e.executorFeesHash,swapDataHash:e.swapDataHash},witnessTypeName:$e.typeName,witnessType:$e.type}:{witness:{txId:e.txId,user:t,executorFeesHash:e.executorFeesHash,swapDataHash:e.swapDataHash,adapterDataHash:e.adapterDataHash},witnessTypeName:et.typeName,witnessType:et.type}:{witness:{owner:t,recipient:e.spender},witnessTypeName:Je.typeName,witnessType:Je.type}}}(n),P=_.witnessData,Promise.resolve(function(e){try{switch(e.primaryType){case"PermitSingle":if(null==e.expiration)throw new Error("Expiration is required for PermitSingle");return function(e){var t=e.spender,n=e.deadline,a=e.chainId,r=e.rpcUrls,s=e.account,i=e.expiration,p=e.token,o=e.permit2Address;try{var u=Ee({chainId:a,rpcUrls:r});return Promise.resolve(u.readContract({address:o,abi:at,functionName:"allowance",args:[s,p.address,t]})).then(function(e){return{permit2Values:{details:{token:p.address,amount:BigInt(p.amount),expiration:i,nonce:e[2]},spender:t,sigDeadline:n},nonce:BigInt(e[2])}})}catch(e){return Promise.reject(e)}}(D({},e,{token:e.tokens[0],expiration:e.expiration}));case R:return function(e){var t=e.spender,n=e.deadline,a=e.chainId,r=e.rpcUrls,s=e.account,i=e.token,p=e.permit2Address,o=e.firstTokenNonce;try{var u,d=function(e){return{permit2Values:{permitted:{token:i.address,amount:BigInt(i.amount)},spender:t,nonce:u,deadline:n},nonce:u}},y=function(){if(0===i.index)return Promise.resolve(ot(p,s,a,r)).then(function(e){u=e});if(null===o)throw new Error("Unable to find nonce for token:"+i.address+" for PermitTransferFrom");u=BigInt(o)+BigInt(i.index)}();return Promise.resolve(y&&y.then?y.then(d):d())}catch(e){return Promise.reject(e)}}(D({},e,{token:e.tokens[0]}));case N:return function(e){var t=e.spender,n=e.deadline,a=e.chainId,r=e.rpcUrls,s=e.account,i=e.permit2Address,p=e.tokens;try{return Promise.resolve(ot(i,s,a,r)).then(function(e){return{permit2Values:{permitted:p.map(function(e){return{token:e.address,amount:BigInt(e.amount)}}),spender:t,nonce:e,deadline:n},nonce:e}})}catch(e){return Promise.reject(e)}}(e);default:throw new Error("Invalid permit type: "+e.primaryType)}}catch(e){return Promise.reject(e)}}({primaryType:f,spender:d,account:o,deadline:g,chainId:p,permit2Address:w,rpcUrls:y,tokens:S,expiration:x,firstTokenNonce:null!=b?b:null,service:h,contractVersion:v})).then(function(n){var a=n.nonce,r=function(e,t,n,a){if(function(e){return"details"in e&&void 0!==e.details}(e))return function(e,t,n){return{domain:nt(t,n),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"}]},message:e}}(e,t,n);if(!a)throw new Error("Witness is required for PermitTransferFrom");return function(e){return"permitted"in e&&!Array.isArray(e.permitted)}(e)?function(e,t,n,a){return{domain:nt(t,n),types:D({},a.witnessType,{TokenPermissions:[{name:"token",type:"address"},{name:"amount",type:"uint256"}],PermitWitnessTransferFrom:[{name:"permitted",type:"TokenPermissions"},{name:"spender",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"witness",type:a.witnessTypeName}]}),message:Object.assign(e,{witness:a.witness})}}(e,t,n,a):function(e,t,n,a){return{domain:nt(t,n),types:D({},a.witnessType,{TokenPermissions:[{name:"token",type:"address"},{name:"amount",type:"uint256"}],PermitBatchWitnessTransferFrom:[{name:"permitted",type:"TokenPermissions[]"},{name:"spender",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"witness",type:a.witnessTypeName}]}),message:D({},e,{witness:a.witness})}}(e,t,n,a)}(n.permit2Values,w,p,P);return Promise.resolve(ze({signer:T,domain:r.domain,message:r.message,types:r.types,account:o,primaryType:f})).then(function(n){var r;r=f===N?t.encodeAbiParameters(tt,[{permitted:S.map(function(e){return{token:e.address,amount:BigInt(e.amount)}}),nonce:a,deadline:g},n]):f===R?t.encodeAbiParameters(t.parseAbiParameters("uint256, uint256, bytes"),[a,g,n]):v===c.v1&&h!==I.zap?t.encodeAbiParameters(t.parseAbiParameters("uint160 allowanceAmount, uint48 nonce, uint48 expiration, uint256 sigDeadline, bytes signature"),[BigInt(u[0].amount),Number(a.toString()),Number(x.toString()),BigInt(g.toString()),n]):t.encodeAbiParameters(t.parseAbiParameters("uint48 nonce, uint48 expiration, uint256 sigDeadline, bytes signature"),[Number(a.toString()),Number(x.toString()),BigInt(g.toString()),n]);var s=h!==I.zap&&v===c.v1?m.PERMIT2_APPROVE:j[f],i=t.encodeAbiParameters(t.parseAbiParameters("uint8, bytes"),[s,r]);return{status:e.TxnStatus.success,code:e.StatusCodes.Success,permitData:i,nonce:a}})}))}catch(e){return r(e)}var i,p,o,u,d,y,l,T,f,b,v,h,g,x,w,S,_,P;return s&&s.then?s.then(void 0,r):s}(0,function(t){var n;return console.log("Error generating permit2 witness transfer signature:",t),(null==t||null==(n=t.cause)?void 0:n.code)===e.StatusCodes.UserRejectedRequest||(null==t?void 0:t.code)===e.StatusCodes.UserRejectedRequest?{status:e.TxnStatus.rejected,code:e.StatusCodes.UserRejectedRequest}:{status:e.TxnStatus.error,code:e.StatusCodes.Error}}))}catch(e){return Promise.reject(e)}};function lt(e,t,n){if(!e.s){if(n instanceof mt){if(!n.s)return void(n.o=lt.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(lt.bind(null,e,t),lt.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var mt=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){var a=new e,r=this.s;if(r){var s=1&r?t:n;if(s){try{lt(a,1,s(this.v))}catch(e){lt(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?lt(a,1,t?t(r):r):n?lt(a,1,n(r)):lt(a,2,r)}catch(e){lt(a,2,e)}},a},e}();function ct(e){return e instanceof mt&&1&e.s}var Tt=function(){};function ft(e){return t.encodeFunctionData({abi:xe,functionName:V.approve,args:[e.spender,e.amount]})}function bt(e,t,n){if(!e.s){if(n instanceof vt){if(!n.s)return void(n.o=bt.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(bt.bind(null,e,t),bt.bind(null,e,2));e.s=t,e.v=n;const a=e.o;a&&a(e)}}dt=Tt,Tt.generateBatchPermitDataForTokens=function(e){try{return Promise.resolve(yt(e)).then(function(e){return D({},e,{permitType:U.PermitBatchWitnessTransferFrom})})}catch(e){return Promise.reject(e)}},Tt.generatePermitDataForToken=function(n){try{var r=n.token,s=n.oneToMany,i=n.totalSrcAmount,p=n.chainId,o=n.rpcUrls,u=n.permitType,d=n.account,y=0===r.index;if(Be(r.address))return Promise.resolve({status:e.TxnStatus.success,code:e.StatusCodes.Success,permitData:S,nonce:BigInt(0),permitType:U.EIP2612Permit});var l=s&&y?i:BigInt(r.amount);return Promise.resolve(Xe({address:r.address,chainId:p,rpcUrls:o,owner:d,permit:r.permit})).then(function(i){if(u===U.EIP2612Permit||u===U.AutoPermit&&i.supportsPermit){if(!i.supportsPermit||!i.data)throw new Error("Token does not support EIP-2612 permits");return s&&!y?{status:e.TxnStatus.success,code:e.StatusCodes.Success,permitData:S,nonce:BigInt(0),permitType:U.EIP2612Permit}:Promise.resolve(function(n){try{return Promise.resolve(function(r,s){try{var i=function(){var r,s,i=n.chainId,p=n.spender,o=n.account,u=n.token,d=n.signer,y=n.contractVersion,l=n.service,m=n.name,T=n.nonce,f=n.version,b=n.deadline,v=void 0===b?Le(W):b,h=u.address,g=u.amount?BigInt(u.amount):t.maxUint256,x=null!=u&&null!=(r=u.permit)&&null!=(r=r.eip2612)&&null!=(r=r.data)&&r.domain?null==u||null==(s=u.permit)||null==(s=s.eip2612)||null==(s=s.data)?void 0:s.domain:{name:m,version:f,chainId:i,verifyingContract:h};return Promise.resolve(ze({signer:d,domain:x,message:{owner:o,spender:p,value:g,nonce:T,deadline:v},types:We,account:o,primaryType:"Permit"})).then(function(n){var r=a.ethers.utils.splitSignature(n),s=y===c.v1&&l!==I.zap?a.ethers.utils.defaultAbiCoder.encode(["address","address","uint256","uint256","uint8","bytes32","bytes32"],[o,p,g,v,r.v,r.r,r.s]):a.ethers.utils.defaultAbiCoder.encode(["uint256","uint8","bytes32","bytes32"],[v,r.v,r.r,r.s]),i=t.encodeAbiParameters(t.parseAbiParameters("uint8, bytes"),[e.DZapPermitMode.PERMIT,s]);return{status:e.TxnStatus.success,code:e.StatusCodes.Success,permitData:i}})}()}catch(e){return s(e)}return i&&i.then?i.then(void 0,s):i}(0,function(t){var n;return console.log("Error generating permit signature:",t),(null==t||null==(n=t.cause)?void 0:n.code)===e.StatusCodes.UserRejectedRequest||(null==t?void 0:t.code)===e.StatusCodes.UserRejectedRequest?{status:e.TxnStatus.rejected,code:e.StatusCodes.UserRejectedRequest}:{status:e.TxnStatus.error,code:e.StatusCodes.Error}}))}catch(e){return Promise.reject(e)}}(D({},n,{token:{address:r.address,amount:l.toString(),index:0,permit:r.permit},gasless:!1,version:i.data.version,name:i.data.name,nonce:i.data.nonce}))).then(function(e){return{status:e.status,code:e.code,permitData:e.permitData,nonce:BigInt(0),permitType:U.EIP2612Permit}})}var p=u===U.AutoPermit?U.PermitWitnessTransferFrom:u;return s&&!y?{status:e.TxnStatus.success,code:e.StatusCodes.Success,permitData:_,nonce:BigInt(0),permitType:p}:Promise.resolve(yt(D({},n,{tokens:[r],permitType:p}))).then(function(e){return D({},e,{permitType:p})})})}catch(e){return Promise.reject(e)}},Tt.signGaslessUserIntent=function(n){try{var a,r=function(e){return a?e:Promise.resolve(yt(D({},n,{tokens:s.map(function(e,t){return D({},e,{index:t})}),account:i,permitType:o}))).then(function(e){return{status:e.status,code:e.code,data:e.permitData&&{type:o,batchPermitData:e.permitData}}})},s=n.tokens,i=n.sender,p=n.permitType,o=p===U.AutoPermit?U.PermitBatchWitnessTransferFrom:p,u=function(){if(o===U.EIP2612Permit)return Promise.resolve(function(n){try{return Promise.resolve(function(a,r){try{var s=(i=n.chainId,p=n.spender,o=n.account,u=n.signer,d=n.rpcUrls,y=n.deadline||Le(W),l=t.getContract({abi:Re("trade",n.contractVersion),address:p,client:Ee({chainId:i,rpcUrls:d})}),Promise.resolve(l.read.getNonce([o])).then(function(t){var a={name:B.name,version:B.version,chainId:i,verifyingContract:p,salt:B.salt},r=function(e){var t=e.account,n=e.deadline,a=e.nonce;return e.txType===A?{message:{txId:e.txId,user:t,executorFeesHash:e.executorFeesHash,swapDataHash:e.swapDataHash,nonce:a,deadline:n},types:He,primaryType:"SignedGasLessSwapData"}:e.swapDataHash?{message:{txId:e.txId,user:t,nonce:a,deadline:n,executorFeesHash:e.executorFeesHash,swapDataHash:e.swapDataHash,adapterDataHash:e.adapterDataHash},types:qe,primaryType:"SignedGasLessSwapBridgeData"}:{message:{txId:e.txId,user:t,nonce:a,deadline:n,executorFeesHash:e.executorFeesHash,adapterDataHash:e.adapterDataHash},types:Ze,primaryType:"SignedGasLessBridgeData"}}(D({},n,{deadline:y,nonce:t}));return Promise.resolve(ze({signer:u,domain:a,message:r.message,types:r.types,account:o,primaryType:r.primaryType})).then(function(n){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,data:{signature:n,nonce:t,deadline:y}}})}))}catch(e){return r(e)}var i,p,o,u,d,y,l;return s&&s.then?s.then(void 0,r):s}(0,function(e){return je({error:e})}))}catch(e){return Promise.reject(e)}}(D({},n,{account:i}))).then(function(e){var t={status:e.status,code:e.code,data:(null==e?void 0:e.data)&&D({},e.data,{type:o})};return a=1,t})}();return Promise.resolve(u&&u.then?u.then(r):r(u))}catch(e){return Promise.reject(e)}},Tt.v1PermitSupport=function(e){return e.contractVersion===c.v1&&e.service!==I.zap},Tt.shouldUseBatchPermit=function(e){var t=e.permitType,n=e.isBatchPermitAllowed,a=void 0===n||n,r=e.tokens,s=t===U.PermitBatchWitnessTransferFrom,i=t===U.AutoPermit&&(null==r?void 0:r.length)>1&&!e.oneToMany,p=!dt.v1PermitSupport({contractVersion:e.contractVersion,service:e.service});return a&&(s||i)&&p},Tt.signPermit=function(t){try{var n,a=t.tokens;if(0===a.length)return Promise.resolve({status:e.TxnStatus.success,code:e.StatusCodes.Success,tokens:a,permitType:t.permitType});var r=a.length>1&&a[0].address===a[1].address;if(dt.shouldUseBatchPermit({permitType:t.permitType,isBatchPermitAllowed:t.isBatchPermitAllowed,tokens:a,oneToMany:r,contractVersion:t.contractVersion,service:t.service}))return Promise.resolve(dt.generateBatchPermitDataForTokens(D({},t,{tokens:a.map(function(e,t){return D({},e,{index:t})}),account:t.sender,permitType:U.PermitBatchWitnessTransferFrom}))).then(function(n){function r(){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,batchPermitData:n.permitData,permitType:n.permitType}}if(n.status!==e.TxnStatus.success)return{status:n.status,code:n.code,permitType:U.PermitBatchWitnessTransferFrom};var s=function(){if(t.signatureCallback)return Promise.resolve(t.signatureCallback({batchPermitData:n.permitData,tokens:a,permitType:n.permitType})).then(function(){})}();return s&&s.then?s.then(r):r()});var s=function(t){return n?t:{status:e.TxnStatus.success,tokens:a,code:e.StatusCodes.Success,permitType:o}},i=a.reduce(function(e,t){return e+BigInt(t.amount)},BigInt(0)),p=null,o=dt.v1PermitSupport({contractVersion:t.contractVersion,service:t.service})?U.PermitSingle:t.permitType,u=(d=a,y=function(s){var u=0===s;return Promise.resolve(dt.generatePermitDataForToken(D({},t,{token:D({},a[s],{index:s}),firstTokenNonce:null!=p?p:void 0,oneToMany:r,totalSrcAmount:i,account:t.sender,permitType:o}))).then(function(d){var y;if(o=d.permitType,d.status!==e.TxnStatus.success)return n=1,{status:d.status,code:d.code,permitType:d.permitType};a[s].permitData=d.permitData,u&&!Be(a[s].address)&&(p=null!=(y=d.nonce)?y:null);var l=function(){if(t.signatureCallback&&!Be(a[s].address)){var e=r&&u?i:BigInt(a[s].amount);return Promise.resolve(t.signatureCallback({permitData:d.permitData,srcToken:a[s].address,amount:e.toString(),permitType:d.permitType})).then(function(){})}}();return l&&l.then?l.then(function(){}):void 0})},l=function(){return n},T=-1,function e(t){try{for(;++T<d.length&&(!l||!l());)if((t=y(T))&&t.then){if(!ct(t))return void t.then(e,c||(c=lt.bind(null,m=new mt,2)));t=t.v}m?lt(m,1,t):m=t}catch(e){lt(m||(m=new mt),2,e)}}(),m);return Promise.resolve(u&&u.then?u.then(s):s(u))}catch(e){return Promise.reject(e)}var d,y,l,m,c,T};var vt=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){var a=new e,r=this.s;if(r){var s=1&r?t:n;if(s){try{bt(a,1,s(this.v))}catch(e){bt(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?bt(a,1,t?t(r):r):n?bt(a,1,n(r)):bt(a,2,r)}catch(e){bt(a,2,e)}},a},e}();function ht(e){return e instanceof vt&&1&e.s}var gt,xt=function(n){var a=n.chainId,r=n.sender,s=n.tokens,i=n.rpcUrls,p=n.multicallAddress,o=n.mode,u=n.spender;try{var d={},y=s.filter(function(e){return Be(e.address)}),l=s.filter(function(e){return!Be(e.address)});return Promise.resolve(Promise.all(l.map(function(e){var t=e.address,n=e.amount,s=e.permit;try{if(o===O.AutoPermit)return Promise.resolve(Xe({address:t,chainId:a,rpcUrls:i,owner:r,permit:s})).then(function(e){return{token:t,spender:e.supportsPermit?u:ut(a),amount:n,isEIP2612PermitSupported:e.supportsPermit,isDefaultApprovalMode:!1}});if(o===O.Default)return Promise.resolve({token:t,spender:u,amount:n,isDefaultApprovalMode:!0});var p=ut(a);return Promise.resolve({token:t,spender:p,amount:n,isDefaultApprovalMode:!1})}catch(e){return Promise.reject(e)}}))).then(function(n){for(var s,o=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 P(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)?P(e,t):void 0}}(e))){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(y);!(s=o()).done;)d[s.value.address]={allowance:t.maxUint256,approvalNeeded:!1,signatureNeeded:!1};return 0===l.length?{status:e.TxnStatus.success,code:e.StatusCodes.Success,data:d}:function(s,o){try{var u=Promise.resolve(function(t){var n=t.chainId,a=t.data,r=t.owner,s=t.multicallAddress,i=t.rpcUrls;try{var p=a.map(function(e){return{address:e.token,abi:xe,functionName:V.allowance,args:[r,e.spender]}});return Promise.resolve(Ke({chainId:n,contracts:p,rpcUrls:i,multicallAddress:s,allowFailure:!1})).then(function(t){var n=t.status,r=t.code,s=t.data;if(n!==e.TxnStatus.success)return{status:n,code:r,data:{}};for(var i={},p=0;p<a.length;p++)i[a[p].token]=s[p];return{status:n,code:r,data:i}})}catch(e){return Promise.reject(e)}}({chainId:a,data:n,owner:r,multicallAddress:p,rpcUrls:i})).then(function(a){for(var r=a.data,s=0;s<n.length;s++){var i=n[s],p=i.token,o=i.isEIP2612PermitSupported,u=i.isDefaultApprovalMode,y=o?t.maxUint256:r[p],l=!o&&y<BigInt(i.amount);d[p]={allowance:y,approvalNeeded:l,signatureNeeded:!u}}return{status:e.TxnStatus.success,code:e.StatusCodes.Success,data:d}})}catch(e){return o(e)}return u&&u.then?u.then(void 0,o):u}(0,function(t){return console.error("Multicall allowance check failed:",t),{status:e.TxnStatus.error,code:e.StatusCodes.Error,data:d}})})}catch(e){return Promise.reject(e)}},wt=function(e,t){try{return Promise.resolve(function(n,a){try{var r=Promise.resolve(s.getAction(e,i.sendCalls,"sendCalls")({account:e.account,calls:t.map(function(e){var t;return{to:e.to,data:e.data,value:null!=(t=e.value)?t:BigInt(0)}})}))}catch(e){return a(e)}return r&&r.then?r.then(void 0,a):r}(0,function(e){return console.warn("EIP-5792 batch calls not supported:",e),null}))}catch(e){return Promise.reject(e)}},It=function(t,n){try{return Promise.resolve(s.getAction(t,i.waitForCallsStatus,"waitForCallsStatus")({id:n,timeout:864e5})).then(function(t){var n=t.receipts,a=t.statusCode;if(t.status===e.TxnStatus.success){if(null==n||!n.length||!n.every(function(e){return e.transactionHash})||n.some(function(t){return t.status===e.TxnStatus.reverted}))throw new Error("Transaction was reverted.");return n[n.length-1]}if(a>=400&&a<500)throw new Error("Transaction was canceled.");throw new Error("Transaction failed.")})}catch(e){return Promise.reject(e)}};function At(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}var St=function(){};gt=St,St.sendTransaction=function(t,n,a,r,s){try{var i,p=function(){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:i,additionalInfo:r,updatedQuotes:s}},o=Fe(t)?Promise.resolve(t.sendTransaction({from:n.from,to:n.to,data:n.data,value:n.value,gasLimit:n.gasLimit})).then(function(e){i=e.hash}):Promise.resolve(t.sendTransaction({chain:Pe[a],account:n.from,to:n.to,data:n.data,value:BigInt(n.value)})).then(function(e){i=e});return Promise.resolve(o&&o.then?o.then(p):p())}catch(e){return Promise.reject(e)}},St.sendTxnWithBatch=function(t,n,a,r,s,i,p,o){try{return Promise.resolve(function(e){var t=e.tokens,n=e.chainId,a=e.sender,r=e.spender,s=e.multicallAddress,i=e.rpcUrls;try{var p=t.filter(function(e){return!Be(e.address)});return 0===p.length?Promise.resolve([]):Promise.resolve(xt({chainId:n,sender:a,tokens:p,spender:r,multicallAddress:s,rpcUrls:i})).then(function(e){var t=e.data;return p.filter(function(e){var n;return null==(n=t[e.address])?void 0:n.approvalNeeded}).map(function(e){return{to:e.address,data:ft({spender:r,amount:BigInt(e.amount)}),value:BigInt(0)}})})}catch(e){return Promise.reject(e)}}({tokens:t.data.map(function(e){return{address:e.srcToken,amount:e.amount}}),chainId:r,multicallAddress:p,sender:a.from,spender:a.to,rpcUrls:o})).then(function(t){var p=[].concat(t,[{to:a.to,data:a.data,value:BigInt(a.value)}]);return 0===t.length?gt.sendTransaction(n,a,r,s,i):Promise.resolve(wt(n,p)).then(function(t){return t?(console.log("Waiting for batch transaction completion..."),Promise.resolve(It(n,t.id)).then(function(t){return console.log({receipt:t}),{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t.transactionHash,additionalInfo:s,updatedQuotes:i}})):{status:e.TxnStatus.error,errorMsg:"Batch call failed",code:e.StatusCodes.Error}})})}catch(e){return Promise.reject(e)}},St.sendHyperLiquidTransaction=function(t,n,a,r,s,i){try{var p,o,u=function(t){return p?t:Promise.resolve(Q({chainId:r,txData:o,txId:a.txId})).then(function(t){if(t.status!==e.TxnStatus.success)throw new Error("Failed to broadcast or save transaction");return{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t.txnHash,additionalInfo:s,updatedQuotes:i}})},d=function(){if(998===r){var a=s?Object.values(s)[0]:null,u=a&&"typedData"in a?a.typedData:null;return s&&u?Promise.resolve(function(t){try{return Promise.resolve(function(n,a){try{var r=(s=t.message,Promise.resolve(ze({signer:t.signer,account:t.account,domain:t.domain,message:s,primaryType:t.primaryType,types:t.types})).then(function(t){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,data:{signature:t,message:s}}}))}catch(e){return a(e)}var s;return r&&r.then?r.then(void 0,a):r}(0,function(e){return je({error:e})}))}catch(e){return Promise.reject(e)}}({signer:t,account:n.from,domain:u.domain,types:u.types,message:u.message,primaryType:u.primaryType})).then(function(t){var n;if(t.status!==e.TxnStatus.success)throw new Error("Failed to sign transaction");o=null==(n=t.data)?void 0:n.signature}):(p=1,{status:e.TxnStatus.error,errorMsg:"Missing additional info for HyperLiquid transaction",code:e.StatusCodes.Error})}return Promise.resolve(gt.sendTransaction(t,n,r,s,i)).then(function(t){if(t.status!==e.TxnStatus.success)throw new Error("Failed to sign transaction");o=t.txnHash})}();return Promise.resolve(d&&d.then?d.then(u):u(d))}catch(e){return Promise.reject(e)}},St.buildAndSendTransaction=function(t){var n=t.request,a=t.signer,r=t.txnData,s=t.multicallAddress,i=t.batchTransaction,p=void 0!==i&&i,o=t.rpcUrls;try{return Promise.resolve(At(function(){function e(){var e=t.additionalInfo,r=t.updatedQuotes,u={from:t.from,to:t.to,data:t.data,value:t.value,gasLimit:t.gasLimit};return[i].concat(n.data.map(function(e){return e.toChain})).some(function(e){return 998===e})?gt.sendHyperLiquidTransaction(a,u,t,i,e,r):p&&!Fe(a)?gt.sendTxnWithBatch(n,a,u,i,e,r,s,o):(console.log("Using viem walletClient - sending regular transaction."),gt.sendTransaction(a,u,i,e,r))}var t,i=n.fromChain,u=function(){if(!r)return Promise.resolve(X(n)).then(function(e){t=e});t=r}();return u&&u.then?u.then(e):e()},function(t){var n,a,r,s,i,p,o,u,d;return console.log({error:t}),Ue(t)?(null==t||null==(n=t.response)?void 0:n.status)===e.StatusCodes.SimulationFailure?{status:e.TxnStatus.error,errorMsg:"Simulation Failed",error:(null==(o=t.response)?void 0:o.data).message,code:(null==(u=t.response)?void 0:u.data).code,action:(null==(d=t.response)?void 0:d.data).action}:{status:e.TxnStatus.error,errorMsg:"Params Failed: "+JSON.stringify(null==t||null==(a=t.response)||null==(a=a.data)?void 0:a.message),error:null!=(r=null==t||null==(s=t.response)?void 0:s.data)?r:t,code:null!=(i=null==t||null==(p=t.response)?void 0:p.status)?i:e.StatusCodes.Error}:je({error:t})}))}catch(e){return Promise.reject(e)}},St.buildGaslessTxAndSignPermit=function(t){var n=t.request,a=t.signer,r=t.rpcUrls,s=t.spender,i=t.txnData,p=t.txnStatusCallback;try{return Promise.resolve(At(function(){function t(){var t=n.hasPermit2ApprovalForAllTokens?U.PermitBatchWitnessTransferFrom:U.EIP2612Permit,i=o.txId;return Promise.resolve(Tt.signGaslessUserIntent(D({tokens:n.data.map(function(e,t){return{address:e.srcToken,amount:e.amount,index:t}}),chainId:u,rpcUrls:r,sender:n.sender,spender:s,permitType:t,signer:a,gasless:!0,txId:i,service:"trade",contractVersion:c.v2},o.transaction))).then(function(t){var a;function r(e){if(a)return e;throw new Error("Gasless Transaction Failed")}var s=function(){if(t.status===e.TxnStatus.success&&t.data){var r,s;p&&p(e.TxnStatus.waitingForExecution);var o=t.data.type===U.EIP2612Permit?{permitData:n.data.map(function(e){return{token:e.srcToken,amount:e.amount,permit:e.permitData}}),gaslessIntentNonce:null==(r=t.data.nonce)?void 0:r.toString(),gaslessIntentSignature:t.data.signature,gaslessIntentDeadline:null==(s=t.data.deadline)?void 0:s.toString()}:{batchPermitData:t.data.batchPermitData};return Promise.resolve(function(e){return K({endpoint:"/gasless/executeTx",data:e,method:Z})}({chainId:n.fromChain,txId:i,permit:o})).then(function(t){if(t.status!==e.TxnStatus.success)throw new Error("Failed to execute gasless transaction");return a=1,{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t.txnHash}})}}();return s&&s.then?s.then(r):r(s)})}var o,u=n.fromChain,d=function(){if(!i)return Promise.resolve(X(D({},n,{gasless:!0}))).then(function(e){o=e});o=i}();return d&&d.then?d.then(t):t()},function(t){var n,a,r,s,i,p,o,u,d;return console.log({error:t}),Ue(t)?(null==t||null==(n=t.response)?void 0:n.status)===e.StatusCodes.SimulationFailure?{status:e.TxnStatus.error,errorMsg:"Simulation Failed",error:(null==(o=t.response)?void 0:o.data).message,code:(null==(u=t.response)?void 0:u.data).code,action:(null==(d=t.response)?void 0:d.data).action}:{status:e.TxnStatus.error,errorMsg:"Params Failed: "+JSON.stringify(null==t||null==(a=t.response)||null==(a=a.data)?void 0:a.message),error:null!=(r=null==t||null==(s=t.response)?void 0:s.data)?r:t,code:null!=(i=null==t||null==(p=t.response)?void 0:p.status)?i:e.StatusCodes.Error}:je({error:t})}))}catch(e){return Promise.reject(e)}};var _t,Pt={execute:"execute"};function Dt(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function kt(e,t,n){if(!e.s){if(n instanceof Et){if(!n.s)return void(n.o=kt.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(kt.bind(null,e,t),kt.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var Ct=function(){};const Et=/*#__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{kt(a,1,e(this.v))}catch(e){kt(a,2,e)}return a}return this}return this.o=function(e){try{const r=e.v;1&e.s?kt(a,1,t?t(r):r):n?kt(a,1,n(r)):kt(a,2,r)}catch(e){kt(a,2,e)}},a},e}();function Mt(e){return e instanceof Et&&1&e.s}_t=Ct,Ct.execute=function(t){var n=t.chainId,a=t.txnData,r=t.signer;try{return Promise.resolve(Dt(function(){var t,s=a.callData,i=a.callTo,p=a.value,o=a.estimatedGas;return Fe(r)?(console.log("Using ethers signer."),Promise.resolve(r.getAddress()).then(function(t){return Promise.resolve(r.sendTransaction({from:t,to:i,data:s,value:BigInt(p),gasLimit:BigInt(o)?BigInt(o):void 0})).then(function(t){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t.hash}})})):(console.log("Using viem walletClient."),Promise.resolve(r.sendTransaction({chain:Pe[n],account:null==(t=r.account)?void 0:t.address,to:a.callTo,data:a.callData,value:BigInt(a.value)})).then(function(t){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t}}))},function(e){return console.log({error:e}),je({error:e})}))}catch(e){return Promise.reject(e)}},Ct.approve=function(t){var n=t.chainId,a=t.data,r=t.signer;try{return Promise.resolve(Dt(function(){var t=a.callData,s=a.callTo,i=a.value,p=a.estimatedGas,o=Ee({chainId:n,rpcUrls:void 0});return Promise.resolve(o.getBlockNumber()).then(function(o){return console.log("block Number and data"),console.dir(D({blockNumber:o},a),{depth:null}),Fe(r)?(console.log("Using ethers signer."),Promise.resolve(r.getAddress()).then(function(n){return Promise.resolve(r.sendTransaction({from:n,to:s,data:t,value:BigInt(i),gasLimit:BigInt(p)?BigInt(p):void 0})).then(function(t){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t.hash}})})):(console.log("Using viem walletClient."),Promise.resolve(r.sendTransaction({chain:Pe[n],account:null==(u=r.account)?void 0:u.address,to:a.callTo,data:a.callData,value:BigInt(a.value)})).then(function(t){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t}}));var u})},function(e){return console.log({error:e}),je({error:e})}))}catch(e){return Promise.reject(e)}},Ct.zap=function(t){var n=t.request,a=t.steps,r=t.signer;try{var s;return Promise.resolve(Dt(function(){function t(t){var n,p;if(s)return t;function o(t){return n?t:{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:p}}var u,d,y,l,m,c,T=(u=a,d=function(t){var s=a[t];return function(){if(s.action===Pt.execute)return Promise.resolve(_t.execute({chainId:i,txnData:s.data,signer:r})).then(function(t){if(t.status!==e.TxnStatus.success)return n=1,t;p=t.txnHash})}()},y=function(){return n},c=-1,function e(t){try{for(;++c<u.length&&(!y||!y());)if((t=d(c))&&t.then){if(!Mt(t))return void t.then(e,m||(m=kt.bind(null,l=new Et,2)));t=t.v}l?kt(l,1,t):l=t}catch(e){kt(l||(l=new Et),2,e)}}(),l);return T&&T.then?T.then(o):o(T)}var i=n.srcChainId,p=function(){if(!a||0===a.length)return Promise.resolve(J(n)).then(function(t){if(!(a=t.data.steps)||0===a.length)return s=1,{status:e.TxnStatus.error,code:e.StatusCodes.FunctionNotFound,errorMsg:"No steps found in the zap route."}})}();return p&&p.then?p.then(t):t(p)},function(e){return console.log({error:e}),je({error:e})}))}catch(e){return Promise.reject(e)}};var Ft=function(e,n,a){return n?new g.default(t.formatUnits(BigInt(e),n)).mul(a||0).toFixed(5):"0"},Bt=function(e){var t=new g.default(function(e){return e.fee.gasFee.reduce(function(e,t){return t.included?e:e.plus(t.amountUSD||"0")},new g.default(0)).toFixed(5)}(e));return e.fee.providerFee.forEach(function(e){e.included||(t=t.plus(new g.default(e.amountUSD||"0")))}),new g.default(e.destAmountUSD||"0").minus(t).toFixed(5)},Rt=function(e,t){var n=!1,a=function(e,a,r,s,i){var p,o=(null==(p=t[a])?void 0:p[r])||"0";return e.amountUSD&&0!==parseFloat(e.amountUSD)?e.amountUSD:(n=!1===e.included,Ft(s,i,o))},r=function(e){return e.map(function(e){return D({},e,{amountUSD:a(e,e.chainId,e.address,e.amount,e.decimals)})})},s={gasFee:r(e.gasFee),providerFee:r(e.providerFee),protocolFee:r(e.protocolFee)};return{isUpdated:n,fee:s}},Nt=function(e,t){return e.path.map(function(n){return D({},n,{fee:Rt(n.fee,t).fee,srcAmountUSD:e.srcAmountUSD,destAmountUSD:e.destAmountUSD})})};function Ut(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}var jt=/*#__PURE__*/function(){function n(){this.cancelTokenSource=null,this.priceService=void 0,this.priceService=new he}n.getInstance=function(e,t){return n.instance||(n.instance=new n),e&&L.setApiKey(e),t&&L.setRpcUrlsByChainId(t),n.instance},n.getChainConfig=function(){try{var e=function(){return n.chainConfig},t=function(){if(!n.chainConfig)return Promise.resolve($()).then(function(e){var t={};e.forEach(function(e){t[e.chainId]||(t[e.chainId]=e)}),n.chainConfig=t})}();return Promise.resolve(t&&t.then?t.then(e):e())}catch(e){return Promise.reject(e)}},n.getDZapAbi=function(e,t){return Re(e,t)};var a=n.prototype;return a.getTradeQuotes=function(e){try{var t=this;return Promise.resolve(function(e){return K({endpoint:"/quotes",data:e,method:Z,shouldRetry:!0})}(e)).then(function(a){return Promise.resolve(n.getChainConfig()).then(function(n){return null===n?a:function(e,t,n,a){try{var r={};return Object.values(e).forEach(function(e){e.tokensWithoutPrice&&Object.entries(e.tokensWithoutPrice).forEach(function(e){var t=e[1],n=Number(e[0]);r[n]||(r[n]=new Set),t.forEach(function(e){return r[n].add(e)})})}),0===Object.keys(r).length?Promise.resolve(e):Promise.resolve(Promise.all(Object.entries(r).map(function(e){var t=e[0],r=e[1];try{var s=Number(t),i=Array.from(r);return Promise.resolve(n.getPrices({chainId:s,tokenAddresses:i,chainConfig:a,notAllowSources:[pe]})).then(function(e){return[s,e]})}catch(e){return Promise.reject(e)}}))).then(function(n){for(var a=Object.fromEntries(n),r=0,s=Object.values(e);r<s.length;r++){var i=s[r];if(i.quoteRates&&Object.keys(i.quoteRates).length){for(var p=!0,o=0,u=Object.values(i.quoteRates);o<u.length;o++){var d=u[o],y=d.srcToken.decimals,l=d.destToken.decimals,m=d.destToken.chainId;if(!Number(d.srcAmountUSD)){var c;p=!1;var T=(null==(c=a[t.fromChain])?void 0:c[d.srcToken.address])||"0";d.srcAmountUSD=Ft(d.srcAmount,y,T)}if(!Number(d.destAmountUSD)){var f;p=!1;var b=(null==(f=a[m])?void 0:f[d.destToken.address])||"0";d.destAmountUSD=Ft(d.destAmount,l,b)}if(Number(d.srcAmountUSD)&&Number(d.destAmountUSD)){var v=new g.default(d.destAmountUSD).minus(d.srcAmountUSD).div(d.srcAmountUSD).mul(100);d.priceImpactPercent=v.toFixed(2)}var h=Rt(d.fee,a);p=p&&!h.isUpdated,d.fee=h.fee,d.path=Nt(d,a)}0!==Object.keys(i.tokensWithoutPrice).length&&!1===p&&(i.quoteRates=Object.fromEntries(Object.entries(i.quoteRates).sort(function(e,t){var n=t[1],a=Bt(e[1]),r=Bt(n);return Number(r)-Number(a)})),i.recommendedSource=Object.keys(i.quoteRates)[0])}}return e})}catch(e){return Promise.reject(e)}}(a,e,t.priceService,n)})})}catch(e){return Promise.reject(e)}},a.buildTradeTxn=function(e){try{return Promise.resolve(X(e))}catch(e){return Promise.reject(e)}},a.getTradeTxnStatus=function(e){return function(e){return K({endpoint:"/status",data:{txHash:e.txHash,chainId:e.chainId},method:H})}({txHash:e.txHash,chainId:e.chainId})},a.getTradeMultiTxnStatus=function(e){return function(e){return K({endpoint:"/status/multi",data:{txHashes:e.txHashes,chainIds:e.chainIds},method:H})}({txHashes:e.txHashes,chainIds:e.chainIds})},a.getAllSupportedChains=function(){return $()},a.getAllTokens=function(e,a,r){try{var s=this;return Promise.resolve(Ut(function(){return Promise.resolve(Promise.allSettled([ee(e,a,r),n.getChainConfig()])).then(function(n){var a=n[0],r=n[1],i="fulfilled"===a.status?a.value:{},p="fulfilled"===r.status?r.value:null;return p?Promise.resolve(function(e,n,a,r){try{return Promise.resolve(function(s,i){try{var p=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(r.getPrices({chainId:n,tokenAddresses:o,chainConfig:a,notAllowSources:[pe]})).then(function(n){return o.forEach(function(a){e[a].price=n[a]||e[a].price,e[a].balanceInUsd=n[a]?parseFloat(n[a])*parseFloat(t.formatUnits(BigInt(e[a].balance),e[a].decimals)):null}),s=(a=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,(r=a.withBalanceInUsd).sort(function(e,t){return t[1].balanceInUsd-e[1].balanceInUsd}),Object.fromEntries([].concat(r,s));var a,r,s})}catch(e){return i(e)}var o;return p&&p.then?p.then(void 0,i):p}(0,function(t){return console.error("Error fetching token prices:",t),e}))}catch(e){return Promise.reject(e)}}(i,e,p,s.priceService)):i})},function(e){return console.error("Error fetching or updating tokens:",e),{}}))}catch(e){return Promise.reject(e)}},a.getTokenDetails=function(e,t,n,a,r){try{return Promise.resolve(te(e,t,n,a,r))}catch(e){return Promise.reject(e)}},a.getTokensDetails=function(e,t,n,a,r){try{return Promise.resolve(te(e,t,n,a,r))}catch(e){return Promise.reject(e)}},a.getTokenPrices=function(e,t){try{var a=this;return Promise.resolve(n.getChainConfig()).then(function(n){return Promise.resolve(a.priceService.getPrices({chainId:t,tokenAddresses:e,chainConfig:n}))})}catch(e){return Promise.reject(e)}},a.trade=function(e){var t=e.request,a=e.signer,r=e.txnData,s=e.batchTransaction,i=void 0!==s&&s,p=e.rpcUrls;try{return Promise.resolve(n.getChainConfig()).then(function(e){var n;return Promise.resolve(St.buildAndSendTransaction({request:t,signer:a,txnData:r,batchTransaction:i,multicallAddress:null==e||null==(n=e[t.fromChain])?void 0:n.multicallAddress,rpcUrls:p}))})}catch(e){return Promise.reject(e)}},a.tradeGasless=function(e){var t=e.request,n=e.signer,a=e.txnData,r=e.txnStatusCallback;try{return Promise.resolve(this.getDZapContractAddress({chainId:t.fromChain,service:I.trade})).then(function(e){return Promise.resolve(St.buildGaslessTxAndSignPermit({request:t,signer:n,rpcUrls:L.getRpcUrlsByChainId(t.fromChain),spender:e,txnData:a,txnStatusCallback:r}))})}catch(e){return Promise.reject(e)}},a.sendTransaction=function(e){var t=e.chainId,n=e.signer,a=e.txnData;try{return Promise.resolve(Oe.sendTransaction(D({signer:n,chainId:t},a)))}catch(e){return Promise.reject(e)}},a.waitForBatchTransactionReceipt=function(e){var t=e.walletClient,n=e.batchHash;try{return Promise.resolve(It(t,n))}catch(e){return Promise.reject(e)}},a.decodeTxnData=function(e){var a=e.data,r=e.service,s=e.chainId;try{var i=Ee({chainId:s,rpcUrls:L.getRpcUrlsByChainId(s)});return Promise.resolve(Promise.all([n.getChainConfig(),i.getTransaction({hash:a.transactionHash})])).then(function(e){var n=e[0],i=e[1];if(null===n||null==(null==n?void 0:n[s]))throw new Error("Chains config not found");return function(e,n,a,r){var s,i,p=[],o=Re(a,(null==r?void 0:r.version)||c.v1);try{p=t.parseEventLogs({abi:o,logs:n.logs})}catch(e){p=[]}var u=null==(i=(p=null==(s=p)?void 0:s.filter(function(e){return null!==e}))[0])?void 0:i.args,d=[],y=[];if(Array.isArray(null==u?void 0:u.swapInfo))y=u.swapInfo.map(function(e){var t,n,a,s;return BigInt(e.returnToAmount)!==BigInt(0)&&BigInt(e.fromAmount)!==BigInt(0)||d.push(Me({srcToken:e.fromToken,destToken:e.toToken,srcChainId:r.chainId,destChainId:r.chainId,srcChainNativeAddress:null==r||null==(a=r.nativeToken)?void 0:a.contract,destChainNativeAddress:null==r||null==(s=r.nativeToken)?void 0:s.contract})),D({},e,{fromToken:ye(e.fromToken,null==r||null==(t=r.nativeToken)?void 0:t.contract),toToken:ye(e.toToken,null==r||null==(n=r.nativeToken)?void 0:n.contract)})});else if("object"==typeof(null==u?void 0:u.swapInfo)&&Object.keys(null==u?void 0:u.swapInfo).length>0){var l,m,T,f,b=u.swapInfo,v=b.fromAmount,h=b.fromToken,g=b.toToken;BigInt(b.returnToAmount)!==BigInt(0)&&BigInt(v)!==BigInt(0)||d.push(Me({srcToken:h,destToken:g,srcChainId:r.chainId,destChainId:r.chainId,srcChainNativeAddress:null==r||null==(T=r.nativeToken)?void 0:T.contract,destChainNativeAddress:null==r||null==(f=r.nativeToken)?void 0:f.contract})),y=D({},u.swapInfo,{fromToken:ye(u.swapInfo.fromToken,null==r||null==(l=r.nativeToken)?void 0:l.contract),toToken:ye(u.swapInfo.toToken,null==r||null==(m=r.nativeToken)?void 0:m.contract)})}return{swapInfo:(new ke).updateSwapInfo({data:e.input,eventSwapInfo:y})||y,swapFailPairs:d}}(i,a,r,n[s])})}catch(e){return Promise.reject(e)}},a.calculatePoints=function(e){try{return Promise.resolve(function(e){return K({endpoint:"user/calculatePoints",data:e,method:Z})}(e))}catch(e){return Promise.reject(e)}},a.getDZapContractAddress=function(e){var t=e.chainId,a=e.service;try{return Promise.resolve(n.getChainConfig()).then(function(e){var n;if(!e[t].isEnabled||!e)throw new Error("Chains config not found");var r=e[t];if(null==r||!r.contracts)throw new Error("No contracts found for chain: "+t);var s=((n={})[I.trade]=r.contracts.router,n[I.dca]=r.contracts.dca,n[I.zap]=r.contracts.zap,n)[a];if(!s)throw new Error('Contract not found for service "'+a+'" on chain: '+t);return s})}catch(e){return Promise.reject(e)}},a.getAllowance=function(e){var t=e.chainId,a=e.sender,r=e.tokens,s=e.service,i=e.rpcUrls,p=e.spender,o=e.mode,u=void 0===o?O.AutoPermit:o;try{var d=this;return Promise.resolve(n.getChainConfig()).then(function(e){function n(n){var s,p=null==e||null==(s=e[t])?void 0:s.multicallAddress;return Promise.resolve(xt({chainId:t,sender:a,tokens:r,rpcUrls:i||L.getRpcUrlsByChainId(t),mode:u,spender:n,multicallAddress:p}))}return p?n(p):Promise.resolve(d.getDZapContractAddress({chainId:t,service:s})).then(n)})}catch(e){return Promise.reject(e)}},a.approve=function(n){var a=n.chainId,r=n.signer,s=n.tokens,i=n.approvalTxnCallback,p=n.service,o=n.mode,u=void 0===o?O.AutoPermit:o,d=n.rpcUrls,y=n.spender;try{var l=function(n){return Promise.resolve(function(n){var a,r,s,i,p,o,u=n.chainId,d=n.signer,y=n.rpcUrls,l=n.mode,m=n.tokens,c=n.approvalTxnCallback,T=n.spender;try{var f,b=function(t){return f?t:{status:e.TxnStatus.success,code:e.StatusCodes.Success}};l!==O.Default&&(T=ut(u));var v=(a=m,r=function(n){function a(t){if(f)return t;if(r.code!==e.StatusCodes.Success){var a,s={status:r.status,code:(null==(a=r)?void 0:a.code)||e.StatusCodes.FunctionNotFound};return f=1,s}return function(){if(c)return Promise.resolve(c({txnDetails:r,address:m[n].address})).then(function(t){if(t&&t!==e.TxnStatus.success){var n,a={status:r.status,code:(null==(n=r)?void 0:n.code)||e.StatusCodes.Error};return f=1,a}})}()}var r={status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:""},s=Fe(d)?Promise.resolve(d.getAddress()).then(function(a){var r=t.encodeFunctionData({abi:xe,functionName:V.approve,args:[T,BigInt(m[n].amount)]});return Promise.resolve(d.sendTransaction({from:a,chainId:u,to:m[n].address,data:r})).then(function(){return f=1,{status:e.TxnStatus.success,code:e.StatusCodes.Success}})}):Promise.resolve(function(t){var n=t.chainId,a=t.contractAddress,r=t.abi,s=t.functionName,i=t.args,p=void 0===i?[]:i,o=t.value,u=void 0===o?"0":o,d=t.rpcUrls,y=void 0===d?[""]:d,l=t.signer;try{var m=Ee({chainId:n,rpcUrls:y});return Promise.resolve(function(t,n){try{var i=Promise.resolve(m.simulateContract({address:a,abi:r,functionName:s,args:p,account:l.account,value:BigInt(u)})).then(function(t){return Promise.resolve(l.writeContract(t.request)).then(function(t){return{txnHash:t,status:e.TxnStatus.success,code:e.StatusCodes.Success}})})}catch(e){return n(e)}return i&&i.then?i.then(void 0,n):i}(0,function(t){return console.log({e:t}),(null==t?void 0:t.code)===e.StatusCodes.UserRejectedRequest?{status:e.TxnStatus.rejected,code:null==t?void 0:t.code,txnHash:""}:{status:e.TxnStatus.error,code:null==t?void 0:t.code,txnHash:""}}))}catch(e){return Promise.reject(e)}}({chainId:u,contractAddress:m[n].address,abi:xe,functionName:V.approve,args:[T,m[n].amount],rpcUrls:y,signer:d})).then(function(e){r=e});return s&&s.then?s.then(a):a(s)},s=function(){return f},o=-1,function e(t){try{for(;++o<a.length&&(!s||!s());)if((t=r(o))&&t.then){if(!ht(t))return void t.then(e,p||(p=bt.bind(null,i=new vt,2)));t=t.v}i?bt(i,1,t):i=t}catch(e){bt(i||(i=new vt),2,e)}}(),i);return Promise.resolve(v&&v.then?v.then(b):b(v))}catch(e){return Promise.reject(e)}}({chainId:a,signer:r,rpcUrls:d||L.getRpcUrlsByChainId(a),tokens:s,approvalTxnCallback:i,mode:u,spender:n}))};return Promise.resolve(y?l(y):Promise.resolve(this.getDZapContractAddress({chainId:a,service:p})).then(l))}catch(e){return Promise.reject(e)}},a.sign=function(e){try{var t=function(t){return Promise.resolve(n.getChainConfig()).then(function(n){var a,s=(null==e?void 0:e.permitType)||U.AutoPermit,i=D({},e,{rpcUrls:(null==e?void 0:e.rpcUrls)||L.getRpcUrlsByChainId(r),permitType:s,spender:t,gasless:!1,contractVersion:(null==(a=n[r])?void 0:a.version)||c.v1});return Promise.resolve(Tt.signPermit(i))})},a=e.service,r=e.chainId,s=null==e?void 0:e.spender;return Promise.resolve(s?t(s):Promise.resolve(this.getDZapContractAddress({chainId:r,service:a})).then(t))}catch(e){return Promise.reject(e)}},a.zap=function(e){var t=e.request,n=e.steps,a=e.signer;try{return Promise.resolve(Ct.zap({request:t,steps:n,signer:a}))}catch(e){return Promise.reject(e)}},a.buildZapTxn=function(e){try{var t=this;return t.cancelTokenSource&&t.cancelTokenSource.cancel("Cancelled due to new request"),t.cancelTokenSource=v.default.CancelToken.source(),Promise.resolve(J(e,t.cancelTokenSource.token)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},a.getZapQuote=function(e){try{var t=this;return t.cancelTokenSource&&t.cancelTokenSource.cancel("Cancelled due to new request"),t.cancelTokenSource=v.default.CancelToken.source(),Promise.resolve(function(e,t){return Y({endpoint:"/quote",data:e,method:Z,cancelToken:t})}(e,t.cancelTokenSource.token)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},a.getZapTxnStatus=function(e){try{return Promise.resolve(function(e){return Y({endpoint:"/status",data:e,method:H})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},a.getBalances=function(e,t){try{return Promise.resolve(function(e,t){return K({endpoint:"token/balance-of",data:{chainId:e,account:t},method:H})}(e,t)).then(function(e){return e.result})}catch(e){return Promise.reject(e)}},a.sendBatchCalls=function(e){var t=e.walletClient,n=e.calls;try{return Promise.resolve(wt(t,n))}catch(e){return Promise.reject(e)}},a.getZapPositions=function(e){try{return Promise.resolve(function(e){return Y({endpoint:"/user/positions",data:e,method:H})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},a.getZapPools=function(e){try{return Promise.resolve(function(e){return Y({endpoint:"/pools",data:e,method:H})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},a.getZapPoolDetails=function(e){try{return Promise.resolve(function(e){return Y({endpoint:"/pool/details",data:e,method:H})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},a.getZapChains=function(){try{return Promise.resolve(Y({endpoint:"/config/chains",method:H})).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},a.getZapProviders=function(){try{return Promise.resolve(Y({endpoint:"/config/providers",method:H})).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},a.broadcastTradeTx=function(e){try{return Promise.resolve(Q(e))}catch(e){return Promise.reject(e)}},a.broadcastZapTx=function(t){try{return Promise.resolve(Ut(function(){return Promise.resolve(function(e){return Y({endpoint:"/broadcast",data:e,method:Z})}(t)).then(function(t){var n;if(t.status===e.TxnStatus.success)return{status:e.TxnStatus.success,txnHash:t.data.txnHash};throw new Error((null==(n=t.data)?void 0:n.message)||"Failed to broadcast zap transaction")})},function(){return{status:e.TxnStatus.error,message:"Failed to broadcast zap transaction"}}))}catch(e){return Promise.reject(e)}},n}();jt.instance=void 0,jt.chainConfig=null,jt.getOtherAbi=function(e){return function(e){switch(e){case w.permit2:return ge;case w.erc20:return xe;default:throw new Error("Invalid Abi")}}(e)},e.ApprovalModes=O,e.DZapClient=jt,e.OtherAbis=w,e.PermitTypes=U,e.QuoteFilters={fastest:"fastest",best:"best",all:"all"},e.STATUS={pending:"pending",inProgress:"in-progress",success:"success",rejected:"rejected",error:"error"},e.Services=I,e.SignatureExpiryInSecs=W,e.SwapInputDataDecoder=ke,e.checkEIP2612PermitSupport=Xe,e.contractErrorActions={TRY_ANOTHER_ROUTE:"TRY_ANOTHER_ROUTE",INCREASE_SLIPPAGE:"INCREASE_SLIPPAGE",INCREASE_ALLOWANCE:"INCREASE_ALLOWANCE"},e.erc20Functions=V,e.formatToken=ye,e.getTokensPairKey=Me,e.zapPathAction={swap:"swap",bridge:"bridge",deposit:"deposit",withdraw:"withdraw",stake:"stake",unstake:"unstake"},e.zapStepAction=Pt});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("viem"),require("axios"),require("ethers"),require("viem/chains"),require("viem/utils"),require("viem/actions"),require("decimal.js")):"function"==typeof define&&define.amd?define(["exports","viem","axios","ethers","viem/chains","viem/utils","viem/actions","decimal.js"],t):t((e||self).sdk={},e.viem,e.axios,e.ethers,e.viemChains,e.utils,e.actions,e.Decimal)}(this,function(e,t,n,a,r,s,i,p){function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(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 d,y,l,m,c,T,f,b,v=/*#__PURE__*/o(n),h=/*#__PURE__*/u(r),g=/*#__PURE__*/o(p);!function(e){e.production="production",e.development="development"}(d||(d={})),function(e){e[e.PERMIT=0]="PERMIT",e[e.PERMIT2=1]="PERMIT2"}(y||(y={})),e.DZapPermitMode=void 0,(l=e.DZapPermitMode||(e.DZapPermitMode={}))[l.PERMIT=0]="PERMIT",l[l.PERMIT2_APPROVE=1]="PERMIT2_APPROVE",l[l.PERMIT2_WITNESS_TRANSFER=2]="PERMIT2_WITNESS_TRANSFER",l[l.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"}(c||(c={})),e.TxnStatus=void 0,(T=e.TxnStatus||(e.TxnStatus={})).mining="mining",T.success="success",T.rejected="rejected",T.error="error",T.reverted="reverted",T.pendingWalletConfirmation="pendingWalletConfirmation",T.partialSuccess="partialSuccess",T.waitingForExecution="waitingForExecution",function(e){e.V1="v1",e.V1_2="v1.2",e.V2="v2"}(f||(f={})),e.StatusCodes=void 0,(b=e.StatusCodes||(e.StatusCodes={}))[b.UserRejectedRequest=4001]="UserRejectedRequest",b[b.Success=200]="Success",b[b.FunctionNotFound=32771]="FunctionNotFound",b[b.Error=500]="Error",b[b.WalletRPCFailure=429]="WalletRPCFailure",b[b.SimulationFailure=417]="SimulationFailure",b[b.ContractExecutionError=-500]="ContractExecutionError";var x,w={permit2:"permit2",erc20:"erc20"},I={trade:"trade",dca:"dca",zap:"zap"},A="swap",S=t.encodeAbiParameters(t.parseAbiParameters("uint8, bytes"),[e.DZapPermitMode.PERMIT,"0x"]),_=t.encodeAbiParameters(t.parseAbiParameters("uint8, bytes"),[e.DZapPermitMode.PERMIT2_APPROVE,"0x"]);function P(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 D(){return D=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},D.apply(null,arguments)}function k(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 C,E,M,F,B={name:"DZapVerifier",version:"1",salt:t.keccak256(t.encodePacked(["string"],["DZap-v0.1"]))},R="PermitWitnessTransferFrom",N="PermitBatchWitnessTransferFrom",U={PermitSingle:"PermitSingle",PermitWitnessTransferFrom:"PermitWitnessTransferFrom",PermitBatchWitnessTransferFrom:"PermitBatchWitnessTransferFrom",EIP2612Permit:"EIP2612Permit",AutoPermit:"AutoPermit"},j=((x={})[U.EIP2612Permit]=e.DZapPermitMode.PERMIT,x[U.PermitSingle]=e.DZapPermitMode.PERMIT2_APPROVE,x[U.PermitWitnessTransferFrom]=e.DZapPermitMode.PERMIT2_WITNESS_TRANSFER,x[U.PermitBatchWitnessTransferFrom]=e.DZapPermitMode.BATCH_PERMIT2_WITNESS_TRANSFER,x),O=D({},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}(U,["EIP2612Permit"]),{Default:"Default"}),V={name:"name",allowance:"allowance",approve:"approve",transfer:"transfer",transferFrom:"transferFrom",balanceOf:"balanceOf",decimals:"decimals",symbol:"symbol",version:"version",nonces:"nonces",domainSeparator:"DOMAIN_SEPARATOR"},W=1800,H="get",Z="post",q=/*#__PURE__*/function(){function e(e){var t=this;this.axiosInstance=void 0,this.axiosInstance=v.default.create({baseURL:e}),this.axiosInstance.interceptors.response.use(function(e){return e},function(e){try{var n,a,r,s=function(t){return r?t:Promise.reject(e)},i=e.config;if(!i)return Promise.reject(e);i.retryCount=null!=(n=i.retryCount)?n:0,i.shouldRetry=null!=(a=i.shouldRetry)&&a;var p=function(){if(i.shouldRetry&&i.retryCount<2)return i.retryCount+=1,Promise.resolve(new Promise(function(e){return setTimeout(e,500)})).then(function(){var e=t.axiosInstance(i);return r=1,e})}();return Promise.resolve(p&&p.then?p.then(s):s(p))}catch(e){return Promise.reject(e)}})}return e.getInstance=function(t){return e.instances.has(t)||e.instances.set(t,new e(t)),e.instances.get(t).axiosInstance},e}();q.instances=new Map,"undefined"!=typeof process&&process.env&&(C=process.env.REACT_APP_ENV||process.env.NEXT_PUBLIC_APP_ENV||process.env.NODE_ENV,E=process.env.REACT_APP_BASE_API_URL||process.env.NEXT_PUBLIC_BASE_API_URL||process.env.BASE_API_URL,M=process.env.REACT_APP_ZAP_API_URL||process.env.NEXT_PUBLIC_ZAP_API_URL||process.env.ZAP_API_URL,F=process.env.REACT_APP_DZAP_API_KEY||process.env.NEXT_PUBLIC_DZAP_API_KEY||process.env.DZAP_API_KEY);var L=function(){var e={apiKey:F||null,rpcUrlsByChainId:{},eip2612DisabledChains:[747474],appEnv:C||d.development,baseApiUrl:E||"https://api.dzap.io",zapApiUrl:M||"https://zap.dzap.io",versionPostfix:"v1/"};return{getApiKey:function(){return e.apiKey},setApiKey:function(t){e.apiKey=t},getRpcUrlsByChainId:function(t){return e.rpcUrlsByChainId[t]},setRpcUrlsByChainId:function(t){e.rpcUrlsByChainId=t},getEip2612DisabledChains:function(){return e.eip2612DisabledChains},setEip2612DisabledChains:function(t){e.eip2612DisabledChains=t},getAppEnv:function(){return e.appEnv},setAppEnv:function(t){e.appEnv=t},getBaseApiUrl:function(){return e.baseApiUrl},setBaseApiUrl:function(t){e.baseApiUrl=t},getZapApiUrl:function(){return e.zapApiUrl},setZapApiUrl:function(t){e.zapApiUrl=t},getVersionPostfix:function(){return e.versionPostfix},setVersionPostfix:function(t){e.versionPostfix=t},getBaseUrl:function(){return e.baseApiUrl+"/"+e.versionPostfix},getBaseZapUrl:function(){return e.zapApiUrl+"/"+e.versionPostfix}}}(),z=q.getInstance(L.getBaseUrl()),G=q.getInstance(L.getBaseZapUrl()),K=function(e){var t=e.endpoint,n=e.data,a=e.method,r=void 0===a?Z:a,s=e.cancelToken,i=e.shouldRetry,p=void 0!==i&&i;try{var o=L.getApiKey(),u={method:r,url:t,data:r===H?void 0:n,params:r===H?n:void 0,headers:D({"Content-Type":"application/json"},o?{"x-api-key":o}:{}),cancelToken:s,shouldRetry:p};return Promise.resolve(z(u).then(function(e){return e.data}).catch(function(e){return Promise.reject(e)}))}catch(e){return Promise.reject(e)}},Y=function(e){var t=e.endpoint,n=e.data,a=e.method,r=void 0===a?Z:a,s=e.cancelToken,i=e.shouldRetry,p=void 0!==i&&i;try{var o=L.getApiKey(),u={method:r,url:t,data:r===H?void 0:n,params:r===H?n:void 0,headers:D({"Content-Type":"application/json"},o?{"x-api-key":o}:{}),cancelToken:s,shouldRetry:p};return Promise.resolve(G(u).then(function(e){return e.data}).catch(function(e){return Promise.reject(e)}))}catch(e){return Promise.reject(e)}},X=function(e){return K({endpoint:"/buildTx",data:e,method:Z})},Q=function(e){return K({endpoint:"/broadcast",data:e,method:Z})},J=function(e,t){return Y({endpoint:"/buildTx",data:e,method:Z,cancelToken:t})},$=function(){return K({endpoint:"chains",data:{},method:H,shouldRetry:!0})},ee=function(e,t,n){return K({endpoint:"token/tokens",data:{chainId:e,source:t,account:n},method:H,shouldRetry:!0})},te=function(e,t,n,a,r){var s={tokenAddress:Array.isArray(e)?void 0:e,tokenAddresses:Array.isArray(e)?e.join(","):void 0,chainId:t,account:n,includeBalance:a,includePrice:r};return K({endpoint:"token/details",data:s,method:H})},ne="undefined"!=typeof process&&process.versions&&process.versions.node,ae=null;if(ne)try{ae=require("node-cache")}catch(e){ae=null}var re=/*#__PURE__*/function(){function e(){this.cache=new Map}var t=e.prototype;return t.set=function(e,t,n){var a=n?Date.now()+1e3*n:void 0;this.cache.set(e,{value:t,expiry:a})},t.get=function(e){var t=this.cache.get(e);if(t){if(!(t.expiry&&Date.now()>t.expiry))return t.value;this.cache.delete(e)}},t.del=function(e){return this.cache.delete(e)?1:0},t.flushAll=function(){this.cache.clear()},e}(),se=/*#__PURE__*/function(){function e(){this.client=void 0,this.client=ne&&ae?new ae({checkperiod:10,deleteOnExpire:!0}):new re}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,k(a.key),a)}}(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n}();se._instance=void 0;var ie=["0x0000000000000000000000000000000000001010","0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE","0x0000000000000000000000000000000000000000","0x000000000000000000000000000000000000800A","11111111111111111111111111111111","0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000","EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c","0x000000000000000000000000000000000000aA09","0x2::sui::SUI","0x1::aptos_coin::AptosCoin","0x0000000000000000000000000000000000001000"],pe="dZap",oe="defiLlama",ue="coingecko",de=function(e,t){return!!t&&Object.values(t).some(function(t){return t.isEnabled&&t.nativeToken.contract===e})},ye=function(e,n){return void 0===n&&(n=t.zeroAddress),t.isAddress(e)?ie.includes(e)?n:t.getAddress(e):e},le=function(){var e=this;this.id=ue,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(K({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:H})).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 K({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:H});var t,n});return Promise.resolve(Promise.allSettled(r)).then(function(e){return e.reduce(function(e,n,a){var r=t[a];if("fulfilled"===n.status){var s,i=null==(s=n.value[r.toLowerCase()])?void 0:s.usd;e[r]=void 0===i?null:i.toString()}else e[r]=null,console.error("Error fetching data for address "+r+":",n.reason);return e},{})})}catch(e){return Promise.reject(e)}},this.fetchPrices=function(t,n,a){return Promise.resolve(function(){try{var r=(s=n.filter(function(e){return!de(e,a)}),Promise.resolve(Promise.all([e.fetchERC20Prices(t,s,a),s.length!==n.length?e.fetchNativePrice(t,a):void 0])).then(function(e){var n=e[0],r=e[1];return a[t].isEnabled&&r&&(n[a[t].nativeToken.contract]=r.toString()),n}))}catch(e){return{}}var s;return r&&r.then?r.then(void 0,function(){return{}}):r}())}},me=/*#__PURE__*/function(){function e(){var e=this;this.id=oe,this.requiresChainConfig=!0,this.postProcess=function(e,t,n,a){var r=n[e].name;return r?t.reduce(function(e,t){var n=a.coins[r+":"+t];return n?(e[t]=n.price.toString(),e):(e[t]=null,e)},{}):{}},this.fetchPrices=function(t,n,a){return Promise.resolve(function(){try{var r=(i=e.preProcess(t,n,a)).length?Promise.resolve(K({endpoint:(s=i,"https://coins.llama.fi/prices/current/"+s.join(",")),method:H})).then(function(r){return e.postProcess(t,n,a,r)}):{}}catch(e){return{}}var s,i;return r&&r.then?r.then(void 0,function(){return{}}):r}())}}return e.prototype.preProcess=function(e,t,n){var a=n[e];if(!a.isEnabled||null==a||!a.name)return[];var r=a.name,s=a.defiLlama;return t.map(function(e){return null!=s&&s.chainKey?de(e,n)?s.chainKey+":"+s.nativeTokenKey:s.chainKey+":"+e:r+":"+e})},e}(),ce=function(){this.id=pe,this.requiresChainConfig=!1,this.fetchPrices=function(e,t){try{return Promise.resolve(function(n,a){try{var r=Promise.resolve(function(e,t){return K({endpoint:"token/price",data:{tokenAddresses:e,chainId:t},method:H})}(t,e))}catch(e){return a(e)}return r&&r.then?r.then(void 0,a):r}(0,function(e){return console.error("Failed to fetch token price",e),{}}))}catch(e){return Promise.reject(e)}}};const Te="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function fe(e,t,n){if(!e.s){if(n instanceof be){if(!n.s)return void(n.o=fe.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(fe.bind(null,e,t),fe.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var be=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){var a=new e,r=this.s;if(r){var s=1&r?t:n;if(s){try{fe(a,1,s(this.v))}catch(e){fe(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?fe(a,1,t?t(r):r):n?fe(a,1,n(r)):fe(a,2,r)}catch(e){fe(a,2,e)}},a},e}();function ve(e){return e instanceof be&&1&e.s}var he=/*#__PURE__*/function(){function e(){this.providers=void 0,this.providers=this.initailizeProviders()}var t=e.prototype;return t.initailizeProviders=function(){return new Map([[pe,new ce],[oe,new me],[ue,new le]])},t.getPrices=function(e){var t=e.chainId,n=e.tokenAddresses,a=e.chainConfig,r=e.allowedSources,s=e.notAllowSources,i=void 0===s?[]:s;try{var p,o=function(){for(var e=[],t=0,n=Object.entries(c);t<n.length;t++){var a=n[t],r=a[0],s=a[1];null===s?e.push(r):m[r]=s}return Object.keys(m).length>0&&se.set(y,D({},l,m),900),D({},l,c)},u=this;if(!n||0===n.length)return Promise.resolve({});var d=u.getValidProviders({allowedSources:r,notAllowSources:i,chainConfig:a});if(0===d.length)return Promise.resolve({});var y=function(e){return"tokenPrices_"+e}(t),l=se.get(y)||{},m={},c={};n.forEach(function(e){null!=l&&l[e]||(c[e]=null)});var T=function(e,t,n){if("function"==typeof e[Te]){var a,r,s,i=function(e){try{for(;!((a=p.next()).done||n&&n());)if((e=t(a.value))&&e.then){if(!ve(e))return void e.then(i,s||(s=fe.bind(null,r=new be,2)));e=e.v}r?fe(r,1,e):r=e}catch(e){fe(r||(r=new be),2,e)}},p=e[Te]();if(i(),p.return){var o=function(e){try{a.done||p.return()}catch(e){}return e};if(r&&r.then)return r.then(o,function(e){throw o(e)});o()}return r}if(!("length"in e))throw new TypeError("Object is not iterable");for(var u=[],d=0;d<e.length;d++)u.push(e[d]);return function(e,t,n){var a,r,s=-1;return function i(p){try{for(;++s<e.length&&(!n||!n());)if((p=t(s))&&p.then){if(!ve(p))return void p.then(i,r||(r=fe.bind(null,a=new be,2)));p=p.v}a?fe(a,1,p):a=p}catch(e){fe(a||(a=new be),2,e)}}(),a}(u,function(e){return t(u[e])},n)}(d,function(e){var n=Object.keys(c).filter(function(e){return null===c[e]});if(0!==n.length)return Promise.resolve(e.fetchPrices(t,n,a)).then(function(e){u.updateTokensPrice(e,c)});p=1},function(){return p});return Promise.resolve(T&&T.then?T.then(o):o())}catch(e){return Promise.reject(e)}},t.getValidProviders=function(e){var t=e.allowedSources,n=e.notAllowSources,a=e.chainConfig;return Array.from(this.providers.values()).filter(function(e){var r,s,i=null==(r=null==t?void 0:t.includes(e.id))||r,p=null!=(s=null==n?void 0:n.includes(e.id))&&s,o=t?i&&!p:!p;return e.requiresChainConfig&&!a?(console.error("Provider "+e.id+" requires chainConfig but none was provided."),!1):o})},t.updateTokensPrice=function(e,t){Object.entries(e).forEach(function(e){var n=e[1];null!==n&&(t[e[0]]=n)})},e}(),ge=[{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"}],name:"AllowanceExpired",type:"error"},{inputs:[],name:"ExcessiveInvalidation",type:"error"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"InsufficientAllowance",type:"error"},{inputs:[{internalType:"uint256",name:"maxAmount",type:"uint256"}],name:"InvalidAmount",type:"error"},{inputs:[],name:"InvalidContractSignature",type:"error"},{inputs:[],name:"InvalidNonce",type:"error"},{inputs:[],name:"InvalidSignature",type:"error"},{inputs:[],name:"InvalidSignatureLength",type:"error"},{inputs:[],name:"InvalidSigner",type:"error"},{inputs:[],name:"LengthMismatch",type:"error"},{inputs:[{internalType:"uint256",name:"signatureDeadline",type:"uint256"}],name:"SignatureExpired",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"spender",type:"address"}],name:"Lockdown",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint48",name:"newNonce",type:"uint48"},{indexed:!1,internalType:"uint48",name:"oldNonce",type:"uint48"}],name:"NonceInvalidation",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"},{indexed:!1,internalType:"uint48",name:"nonce",type:"uint48"}],name:"Permit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"uint256",name:"word",type:"uint256"},{indexed:!1,internalType:"uint256",name:"mask",type:"uint256"}],name:"UnorderedNonceInvalidation",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint48",name:"newNonce",type:"uint48"}],name:"invalidateNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"wordPos",type:"uint256"},{internalType:"uint256",name:"mask",type:"uint256"}],name:"invalidateUnorderedNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"}],internalType:"struct IAllowanceTransfer.TokenSpenderPair[]",name:"approvals",type:"tuple[]"}],name:"lockdown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"nonceBitmap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails[]",name:"details",type:"tuple[]"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitBatch",name:"permitBatch",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails",name:"details",type:"tuple"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitSingle",name:"permitSingle",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],internalType:"struct IAllowanceTransfer.AllowanceTransferDetails[]",name:"transferDetails",type:"tuple[]"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"}],xe=[{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"}],we=[{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:[]}],Ie=[{inputs:[],name:"CalldataEmptyButInitNotZero",type:"error"},{inputs:[],name:"FacetAddressIsNotZero",type:"error"},{inputs:[],name:"FacetAddressIsZero",type:"error"},{inputs:[],name:"FacetContainsNoCode",type:"error"},{inputs:[],name:"FunctionAlreadyExists",type:"error"},{inputs:[],name:"FunctionDoesNotExist",type:"error"},{inputs:[],name:"FunctionIsImmutable",type:"error"},{inputs:[],name:"IncorrectFacetCutAction",type:"error"},{inputs:[{internalType:"bytes",name:"reason",type:"bytes"}],name:"InitReverted",type:"error"},{inputs:[],name:"InitZeroButCalldataNotEmpty",type:"error"},{inputs:[],name:"NoSelectorsInFace",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"OnlyContractOwner",type:"error"},{anonymous:!1,inputs:[{components:[{internalType:"address",name:"facetAddress",type:"address"},{internalType:"enum IDiamondCut.FacetCutAction",name:"action",type:"uint8"},{internalType:"bytes4[]",name:"functionSelectors",type:"bytes4[]"}],indexed:!1,internalType:"struct IDiamondCut.FacetCut[]",name:"_diamondCut",type:"tuple[]"},{indexed:!1,internalType:"address",name:"_init",type:"address"},{indexed:!1,internalType:"bytes",name:"_calldata",type:"bytes"}],name:"DiamondCut",type:"event"},{inputs:[{components:[{internalType:"address",name:"facetAddress",type:"address"},{internalType:"enum IDiamondCut.FacetCutAction",name:"action",type:"uint8"},{internalType:"bytes4[]",name:"functionSelectors",type:"bytes4[]"}],internalType:"struct IDiamondCut.FacetCut[]",name:"_diamondCut",type:"tuple[]"},{internalType:"address",name:"_init",type:"address"},{internalType:"bytes",name:"_calldata",type:"bytes"}],name:"diamondCut",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"AlreadyInitialized",type:"error"},{inputs:[],name:"CannotAuthorizeSelf",type:"error"},{inputs:[{internalType:"address",name:"_protocolFeeVault",type:"address"},{internalType:"address",name:"_feeValidator",type:"address"},{internalType:"address",name:"_refundVault",type:"address"},{internalType:"address",name:"_permit2",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"_functionSelector",type:"bytes4"}],name:"facetAddress",outputs:[{internalType:"address",name:"facetAddress_",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"facetAddresses",outputs:[{internalType:"address[]",name:"facetAddresses_",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_facet",type:"address"}],name:"facetFunctionSelectors",outputs:[{internalType:"bytes4[]",name:"facetFunctionSelectors_",type:"bytes4[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"facets",outputs:[{components:[{internalType:"address",name:"facetAddress",type:"address"},{internalType:"bytes4[]",name:"functionSelectors",type:"bytes4[]"}],internalType:"struct IDiamondLoupe.Facet[]",name:"facets_",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"_interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"owner_",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"bytes4",name:"method",type:"bytes4"}],name:"ExecutionAllowed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"bytes4",name:"method",type:"bytes4"}],name:"ExecutionDenied",type:"event"},{inputs:[{internalType:"bytes4",name:"_selector",type:"bytes4"},{internalType:"address",name:"_executor",type:"address"}],name:"addressCanExecuteMethod",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4[]",name:"_selector",type:"bytes4[]"},{internalType:"address[]",name:"_executor",type:"address[]"},{internalType:"bool[]",name:"_canExecute",type:"bool[]"}],name:"setBatchCanExecute",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"_selector",type:"bytes4"},{internalType:"address",name:"_executor",type:"address"},{internalType:"bool",name:"_canExecute",type:"bool"}],name:"setCanExecute",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"ContractIsNotPaused",type:"error"},{inputs:[],name:"ContractIsPaused",type:"error"},{inputs:[],name:"UnAuthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"feeValidator",type:"address"}],name:"FeeValidatorUpdated",type:"event"},{anonymous:!1,inputs:[],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"protocolFeeVault",type:"address"}],name:"ProtocolFeeVaultUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"refundVault",type:"address"}],name:"RefundVaultUpdated",type:"event"},{anonymous:!1,inputs:[],name:"Unpaused",type:"event"},{inputs:[],name:"getFeeValidator",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"getNonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPermit2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getProtocolFeeVault",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getRefundVault",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeValidator",type:"address"}],name:"setFeeValidator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_protocolFeeVault",type:"address"}],name:"setProtocolFeeVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_refundVault",type:"address"}],name:"setRefundVault",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"adapter",type:"address"}],name:"AdapterNotWhitelisted",type:"error"},{inputs:[{internalType:"address",name:"bridge",type:"address"}],name:"BridgeNotWhitelisted",type:"error"},{inputs:[{internalType:"address",name:"dex",type:"address"}],name:"DexNotWhitelisted",type:"error"},{inputs:[],name:"NotAContract",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"adapter",type:"address"}],name:"AdapterAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"adapter",type:"address"}],name:"AdapterRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"adapters",type:"address[]"}],name:"AdaptersAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"adapters",type:"address[]"}],name:"AdaptersRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bridge",type:"address"}],name:"BridgeAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bridge",type:"address"}],name:"BridgeRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"bridges",type:"address[]"}],name:"BridgesAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"bridges",type:"address[]"}],name:"BridgesRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"dex",type:"address"}],name:"DexAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"dex",type:"address"}],name:"DexRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"dexes",type:"address[]"}],name:"DexesAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address[]",name:"dexes",type:"address[]"}],name:"DexesRemoved",type:"event"},{inputs:[{internalType:"address",name:"_adapter",type:"address"}],name:"addAdapter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_adapters",type:"address[]"}],name:"addAdapters",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_bridge",type:"address"}],name:"addBridge",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_bridges",type:"address[]"}],name:"addBridges",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dex",type:"address"}],name:"addDex",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_dexs",type:"address[]"},{internalType:"address[]",name:"_bridges",type:"address[]"}],name:"addDexesAndBridges",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_dexs",type:"address[]"}],name:"addDexs",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_adapter",type:"address"}],name:"isAdapterWhitelisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_bridge",type:"address"}],name:"isBridgeWhitelisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dex",type:"address"}],name:"isDexWhitelisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_adapter",type:"address"}],name:"removeAdapter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_adapters",type:"address[]"}],name:"removeAdapters",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_bridge",type:"address"}],name:"removeBridge",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_bridges",type:"address[]"}],name:"removeBridges",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dex",type:"address"}],name:"removeDex",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_dexs",type:"address[]"},{internalType:"address[]",name:"_bridges",type:"address[]"}],name:"removeDexesAndBridges",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_dexs",type:"address[]"}],name:"removeDexs",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"NativeTransferFailed",type:"error"},{inputs:[],name:"NoTransferToNullAddress",type:"error"},{inputs:[],name:"ReentrancyError",type:"error"},{inputs:[],name:"WithdrawFailed",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"tokenAddress",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"LogWithdraw",type:"event"},{inputs:[{internalType:"address payable",name:"_callTo",type:"address"},{internalType:"bytes",name:"_callData",type:"bytes"},{internalType:"address",name:"_token",type:"address"},{internalType:"address",name:"_to",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"executeCallAndWithdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_token",type:"address"},{internalType:"address",name:"_to",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"reason",type:"string"}],name:"InvalidPermit",type:"error"},{inputs:[],name:"InvalidPermitType",type:"error"},{inputs:[],name:"NoSwapFromZeroAmount",type:"error"},{inputs:[],name:"NullAddrIsNotAValidRecipient",type:"error"},{inputs:[],name:"NullAddrIsNotAValidSpender",type:"error"},{inputs:[{internalType:"uint256",name:"minAmount",type:"uint256"},{internalType:"uint256",name:"returnAmount",type:"uint256"}],name:"SlippageTooHigh",type:"error"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes4",name:"funSig",type:"bytes4"},{internalType:"bytes",name:"reason",type:"bytes"}],name:"SwapCallFailed",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"integrator",type:"address"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"returnToAmount",type:"uint256"}],indexed:!1,internalType:"struct SwapInfo[]",name:"swapInfo",type:"tuple[]"}],name:"DZapBatchTokenSwapped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"integrator",type:"address"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"returnToAmount",type:"uint256"}],indexed:!1,internalType:"struct SwapInfo",name:"swapInfo",type:"tuple"}],name:"DZapTokenSwapped",type:"event"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken[]",name:"_inputTokens",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{internalType:"bool",name:"withoutRevert",type:"bool"}],name:"swap",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"bytes",name:"_batchDepositSignature",type:"bytes"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct PermitBatchTransferFrom",name:"_tokenDepositDetails",type:"tuple"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{internalType:"bool",name:"withoutRevert",type:"bool"}],name:"swap",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"bytes",name:"_tokenApprovalData",type:"bytes"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData",name:"_swapData",type:"tuple"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData",name:"_swapExecutionData",type:"tuple"}],name:"swap",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"res",type:"bytes"}],name:"AdapterCallFailed",type:"error"},{inputs:[],name:"SigDeadlineExpired",type:"error"},{inputs:[],name:"UnauthorizedSigner",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"bytes",name:"receiver",type:"bytes"},{indexed:!1,internalType:"string",name:"bridge",type:"string"},{indexed:!1,internalType:"address",name:"bridgeAddress",type:"address"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"bytes",name:"to",type:"bytes"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"destinationChainId",type:"uint256"},{indexed:!1,internalType:"bytes",name:"destinationCalldata",type:"bytes"}],name:"BridgeStarted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"integrator",type:"address"}],name:"DZapBridgeStarted",type:"event"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken",name:"_intputTokens",type:"tuple"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo",name:"_adapterInfo",type:"tuple"}],name:"bridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"bytes",name:"_batchDepositSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct PermitBatchTransferFrom",name:"_tokenDepositDetails",type:"tuple"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bool",name:"updateBridgeInAmount",type:"bool"}],internalType:"struct BridgeSwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo[]",name:"_adapterInfo",type:"tuple[]"}],name:"bridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken[]",name:"_erc20Token",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bool",name:"updateBridgeInAmount",type:"bool"}],internalType:"struct BridgeSwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo[]",name:"_adapterInfo",type:"tuple[]"}],name:"bridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken",name:"_intputTokens",type:"tuple"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bool",name:"updateBridgeInAmount",type:"bool"}],internalType:"struct BridgeSwapData",name:"_swapData",type:"tuple"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData",name:"_swapExecutionData",type:"tuple"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo",name:"_adapterInfo",type:"tuple"}],name:"bridge",outputs:[],stateMutability:"payable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"_transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"executor",type:"address"},{indexed:!0,internalType:"address",name:"_user",type:"address"}],name:"DZapGasLessStarted",type:"event"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_bridgeFeeData",type:"bytes"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_userIntentDeadline",type:"uint256"},{internalType:"uint256",name:"_bridgeFeeDeadline",type:"uint256"},{internalType:"address",name:"_user",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken",name:"_inputToken",type:"tuple"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo",name:"_executorFeeInfo",type:"tuple"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo",name:"_adapterInfo",type:"tuple"}],name:"executeBridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_bridgeFeeData",type:"bytes"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_userIntentDeadline",type:"uint256"},{internalType:"uint256",name:"_bridgeFeeDeadline",type:"uint256"},{internalType:"address",name:"_user",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken[]",name:"_inputTokens",type:"tuple[]"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo[]",name:"_executorFeeInfo",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bool",name:"updateBridgeInAmount",type:"bool"}],internalType:"struct BridgeSwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo[]",name:"_adapterInfo",type:"tuple[]"}],name:"executeMultiBridge",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_bridgeFeeData",type:"bytes"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_bridgeFeeDeadline",type:"uint256"},{internalType:"address",name:"_user",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct PermitBatchTransferFrom",name:"_tokenDepositDetails",type:"tuple"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo[]",name:"_executorFeeInfo",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"bool",name:"updateBridgeInAmount",type:"bool"}],internalType:"struct BridgeSwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{components:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bytes",name:"adapterData",type:"bytes"}],internalType:"struct AdapterInfo[]",name:"_adapterInfo",type:"tuple[]"}],name:"executeMultiBridgeWithWitness",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"uint256",name:"_userIntentDeadline",type:"uint256"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken[]",name:"_inputTokens",type:"tuple[]"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo[]",name:"_executorFeeInfo",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"}],name:"executeMultiSwap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct PermitBatchTransferFrom",name:"_tokenDepositDetails",type:"tuple"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo[]",name:"_executorFeeInfo",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"}],name:"executeMultiSwapWithWitness",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"address",name:"_integrator",type:"address"},{internalType:"uint256",name:"_userIntentDeadline",type:"uint256"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"bytes",name:"_tokenApprovalData",type:"bytes"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo",name:"_executorFeeInfo",type:"tuple"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData",name:"_swapData",type:"tuple"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData",name:"_swapExecutionData",type:"tuple"}],name:"executeSwap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"AmountExceedsMaximum",type:"error"},{inputs:[],name:"CannotBridgeToSameNetwork",type:"error"},{inputs:[{internalType:"bytes",name:"reason",type:"bytes"}],name:"Erc20CallFailed",type:"error"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"contractBalance",type:"uint256"}],name:"InsufficientBalance",type:"error"},{inputs:[],name:"InvalidEncodedAddress",type:"error"},{inputs:[{internalType:"bytes",name:"reason",type:"bytes"}],name:"NativeCallFailed",type:"error"},{inputs:[],name:"NoBridgeFromZeroAmount",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"bytes",name:"reciever",type:"bytes"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"bytes",name:"to",type:"bytes"},{components:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"bytes32",name:"requestId",type:"bytes32"}],indexed:!1,internalType:"struct RelayData",name:"relayData",type:"tuple"},{indexed:!1,internalType:"uint256",name:"destinationChainId",type:"uint256"},{indexed:!1,internalType:"bytes",name:"destinationCalldata",type:"bytes"}],name:"RelayBridgeTransferStarted",type:"event"},{inputs:[],name:"_RELAY_RECEIVER",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"_RELAY_SOLVER",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"uint256",name:"_maxAmountIn",type:"uint256"},{internalType:"address",name:"_from",type:"address"},{internalType:"uint256",name:"_destinationChainId",type:"uint256"},{internalType:"bytes",name:"_receiver",type:"bytes"},{internalType:"bytes",name:"_to",type:"bytes"},{internalType:"bytes",name:"_destinationCalldata",type:"bytes"},{components:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"bytes32",name:"requestId",type:"bytes32"}],internalType:"struct RelayData",name:"_relayData",type:"tuple"}],name:"bridgeViaRelay",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"getRelayAddress",outputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"solver",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes4",name:"funSig",type:"bytes4"},{internalType:"bytes",name:"reason",type:"bytes"}],name:"BridgeCallFailed",type:"error"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"uint256",name:"_maxAmountIn",type:"uint256"},{internalType:"address",name:"_from",type:"address"},{internalType:"address",name:"_callTo",type:"address"},{internalType:"address",name:"_approveTo",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{internalType:"uint256",name:"_offset",type:"uint256"},{internalType:"uint256",name:"_extraNative",type:"uint256"},{internalType:"uint256",name:"_destinationChainId",type:"uint256"},{internalType:"string",name:"_bridge",type:"string"},{internalType:"bytes",name:"_receiver",type:"bytes"},{internalType:"bytes",name:"_to",type:"bytes"},{internalType:"bytes",name:"_callData",type:"bytes"},{internalType:"bytes",name:"_destinationCalldata",type:"bytes"}],name:"bridgeViaGeneric",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"TransferAmountMismatch",type:"error"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"uint256",name:"_maxAmountIn",type:"uint256"},{internalType:"address",name:"_from",type:"address"},{internalType:"address",name:"_transferTo",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{internalType:"uint256",name:"_destinationChainId",type:"uint256"},{internalType:"string",name:"_bridge",type:"string"},{internalType:"bytes",name:"_receiver",type:"bytes"},{internalType:"bytes",name:"_to",type:"bytes"},{internalType:"bytes",name:"_destinationCalldata",type:"bytes"}],name:"bridgeViaTransfer",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"NativeTokenNotSupported",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"transactionId",type:"bytes32"},{indexed:!0,internalType:"address",name:"user",type:"address"},{components:[{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"uint256",name:"destChains",type:"uint256"},{internalType:"uint256",name:"depositAmount",type:"uint256"}],indexed:!1,internalType:"struct GasZipData",name:"gasZipData",type:"tuple"},{indexed:!1,internalType:"bytes",name:"destinationCalldata",type:"bytes"}],name:"GasZipBridgeTransferStarted",type:"event"},{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"address",name:"_user",type:"address"},{internalType:"uint256",name:"_maxAmountIn",type:"uint256"},{internalType:"address",name:"_from",type:"address"},{internalType:"bytes",name:"_destinationCalldata",type:"bytes"},{components:[{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"uint256",name:"destChains",type:"uint256"},{internalType:"uint256",name:"depositAmount",type:"uint256"}],internalType:"struct GasZipData",name:"_gasZipData",type:"tuple"}],name:"bridgeViaGasZip",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"getGasZipRouter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],Ae=[{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"}],Se=t.defineChain({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}}}),_e=[t.defineChain({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}}}),Se,t.defineChain({id:999,name:"HyperEVM",nativeCurrency:{name:"HYPE",symbol:"HYPE",decimals:18},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:13051}},blockExplorers:{default:{name:"HyperEVMScan",url:"https://hyperevmscan.io/"}},rpcUrls:{default:{http:["https://rpc.hyperliquid.xyz/evm","https://rpc.hypurrscan.io","https://hyperliquid-json-rpc.stakely.io"]}}}),t.defineChain({id:998,name:"Hyperliquid",nativeCurrency:{name:"HYPE",symbol:"HYPE",decimals:18},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:13051}},blockExplorers:{default:{name:"Hyperliquid Scan",url:"https://app.hyperliquid.xyz/explorer"}},rpcUrls:{default:{http:["https://li.quest/v1/rpc/1337"]}}}),t.defineChain({id:988,name:"Stable",nativeCurrency:{name:"GUSDT",symbol:"gUSDT",decimals:18},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2423647}},blockExplorers:{default:{name:"Stablescan",url:"https://stablescan.xyz"}},rpcUrls:{default:{http:["https://rpc.stable.xyz"],webSocket:["wss://rpc.stable.xyz"]}}})],Pe=[].concat(Object.values(h),_e).reduce(function(e,t){var n;return t.id?D({},e,((n={})[t.id]=t,n)):e},{}),De={SingleSwap:[{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken",name:"_inputTokens",type:"tuple"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData",name:"_swapData",type:"tuple"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData",name:"_swapExecutionData",type:"tuple"}],name:"swap",outputs:[],stateMutability:"payable",type:"function"}],BatchPermitSwapAbi:[{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{internalType:"bytes",name:"_batchDepositSignature",type:"bytes"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct PermitBatchTransferFrom",name:"_tokenDepositDetails",type:"tuple"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{internalType:"bool",name:"withoutRevert",type:"bool"}],name:"swap",outputs:[],stateMutability:"payable",type:"function"}],MultiSwapAbi:[{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"uint256",name:"_deadline",type:"uint256"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken[]",name:"_inputTokens",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"},{internalType:"bool",name:"withoutRevert",type:"bool"}],name:"swap",outputs:[],stateMutability:"payable",type:"function"}],GaslessExecuteMultiSwapAbi:[{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"uint256",name:"_userIntentDeadline",type:"uint256"},{internalType:"uint256",name:"_feeDeadline",type:"uint256"},{internalType:"address",name:"_user",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken[]",name:"_inputTokens",type:"tuple[]"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo[]",name:"_executorFeeInfo",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"}],name:"executeMultiSwap",outputs:[],stateMutability:"payable",type:"function"}],GaslessExecuteMultiSwapWithWitnessAbi:[{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"uint256",name:"_feeDeadline",type:"uint256"},{internalType:"address",name:"_user",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct PermitBatchTransferFrom",name:"_tokenDepositDetails",type:"tuple"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo[]",name:"_executorFeeInfo",type:"tuple[]"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData[]",name:"_swapData",type:"tuple[]"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData[]",name:"_swapExecutionData",type:"tuple[]"}],name:"executeMultiSwapWithWitness",outputs:[],stateMutability:"payable",type:"function"}],GaslessExecuteSwapAbi:[{inputs:[{internalType:"bytes32",name:"_transactionId",type:"bytes32"},{internalType:"bytes",name:"_feeData",type:"bytes"},{internalType:"bytes",name:"_feeVerificationSignature",type:"bytes"},{internalType:"bytes",name:"_userIntentSignature",type:"bytes"},{internalType:"uint256",name:"_userIntentDeadline",type:"uint256"},{internalType:"uint256",name:"_feeDeadline",type:"uint256"},{internalType:"address",name:"_user",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct InputToken",name:"_inputToken",type:"tuple"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct TokenInfo",name:"_executorFeeInfo",type:"tuple"},{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"}],internalType:"struct SwapData",name:"_swapData",type:"tuple"},{components:[{internalType:"string",name:"dex",type:"string"},{internalType:"address",name:"callTo",type:"address"},{internalType:"address",name:"approveTo",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"bool",name:"isDirectTransfer",type:"bool"}],internalType:"struct SwapExecutionData",name:"_swapExecutionData",type:"tuple"}],name:"executeSwap",outputs:[],stateMutability:"payable",type:"function"}]},ke=function(){var e=this;this.decodeSingleSwapData=function(e){var t,n=s.decodeFunctionData({data:e,abi:De.SingleSwap});return[null==n||null==(t=n.args)?void 0:t[4]]},this.decodeMultiSwapData=function(e){var t,n=s.decodeFunctionData({data:e,abi:De.MultiSwapAbi});return null==n||null==(t=n.args)?void 0:t[4]},this.decodeBatchPermitSwapData=function(e){var t,n=s.decodeFunctionData({data:e,abi:De.BatchPermitSwapAbi});return null==n||null==(t=n.args)||null==(t=t[5])?void 0:t.permitted},this.decodeGaslessExecuteMultiSwapData=function(e){var t,n=s.decodeFunctionData({data:e,abi:De.GaslessExecuteMultiSwapAbi});return null==n||null==(t=n.args)?void 0:t[7]},this.decodeGaslessExecuteMultiSwapWithWitnessData=function(e){var t,n=s.decodeFunctionData({data:e,abi:De.GaslessExecuteMultiSwapWithWitnessAbi});return null==n||null==(t=n.args)?void 0:t[7]},this.decodeGaslessExecuteSwapData=function(e){var t,n=s.decodeFunctionData({data:e,abi:De.GaslessExecuteSwapAbi});return[null==n||null==(t=n.args)?void 0:t[7]]},this.swapFunctionSignatureWithInputTokenIndex={"0x50d52584":{name:"singleSwap",decoder:this.decodeSingleSwapData},"0x8de34776":{name:"multiSwap",decoder:this.decodeMultiSwapData},"0x8d44ea24":{name:"batchPermitSwap",decoder:this.decodeBatchPermitSwapData},"0xd367ada5":{name:"gaslessExecuteMultiSwap",decoder:this.decodeGaslessExecuteMultiSwapData},"0xdcdc6089":{name:"gaslessExecuteMultiSwapWithWitness",decoder:this.decodeGaslessExecuteMultiSwapWithWitnessData},"0x0d2eedd4":{name:"gaslessExecuteSwap",decoder:this.decodeGaslessExecuteSwapData}},this.updateSwapInfo=function(t){var n=t.data,a=t.eventSwapInfo;try{var r;if(!n||!a||"0x"===n)return a;var s=n.slice(0,10),i=null==(r=e.swapFunctionSignatureWithInputTokenIndex[s])?void 0:r.decoder;if(!i)return a;var p=i(n);if(!p||0===p.length)return a;var o=p.filter(function(e){return e.token&&e.amount}).reduce(function(e,t){return e[ye(t.token)]=t.amount,e},{});if(Array.isArray(a))return a.map(function(e){var t=ye(e.fromToken);return D({},e,{fromAmount:o[t]||e.fromAmount})});var u=ye(a.fromToken);return D({},a,{fromAmount:o[u]||a.fromAmount})}catch(e){return a}}},Ce={batch:{wait:1e3},retryDelay:500},Ee=function(e){var n=e.rpcUrls,a=e.chainId,r=n&&Array.isArray(n)&&n.length>0;return t.createPublicClient({chain:Pe[a],transport:t.fallback(r?n.map(function(e){return t.http(e,Ce)}):[t.http()]),batch:{multicall:{wait:1e3}}})};function Me(e){var n=e.destToken,a=e.destChainId,r=e.srcChainNativeAddress,s=e.destChainNativeAddress,i=void 0===s?t.zeroAddress:s;return e.srcChainId+"_"+ye(e.srcToken,void 0===r?t.zeroAddress:r)+"-"+a+"_"+ye(n,i)}BigInt(15),BigInt(10);var Fe=function(e){return e instanceof a.Signer},Be=function(e){return"0x0000000000000000000000000000000000000000"===e},Re=function(e,t){switch(e){case I.trade:switch(t){case c.v1:return we;case c.v2:return Ie;default:throw new Error("Invalid Version for Trade")}case I.dca:return Ae;default:throw new Error("Invalid Service")}},Ne="BridgeCallFailed",Ue=function(e){return Boolean(e)&&e.isAxiosError},je=function(n){var a,r,s=n.error;if((null==s?void 0:s.code)===e.StatusCodes.WalletRPCFailure||(null==s||null==(a=s.cause)?void 0:a.code)===e.StatusCodes.WalletRPCFailure)return{error:s,errorMsg:"Too many requests, failure on user wallet",code:e.StatusCodes.WalletRPCFailure,status:e.TxnStatus.error};if((null==s?void 0:s.code)===e.StatusCodes.UserRejectedRequest||(null==s||null==(r=s.cause)?void 0:r.code)===e.StatusCodes.UserRejectedRequest)return{error:s,errorMsg:"Rejected by User",code:e.StatusCodes.UserRejectedRequest,status:e.TxnStatus.rejected};var i,p=s.shortMessage,o=(i=s.metaMessages[0].match(/Error: (\w+)/))?i[1]:null;if(o==Ne){var u=s.metaMessages[1];try{u=function(e){if(e.length<68)return e;var n="0x"+e.slice(10);return t.decodeAbiParameters(t.parseAbiParameters("string"),n)[0]}(s.metaMessages[1].match(/\((.*?)\)/)[1])}catch(e){}p=Ne+" : "+u}else o&&(p=o);return{status:e.TxnStatus.error,error:s,errorMsg:p,code:e.StatusCodes.ContractExecutionError}},Oe=function(){};Oe.sendTransaction=function(t){var n=t.chainId,a=t.signer,r=t.from,s=t.to,i=t.data,p=t.value;try{return Promise.resolve(function(t,o){try{var u=Fe(a)?(console.log("Using ethers signer."),Promise.resolve(a.sendTransaction({from:r,to:s,data:i,value:p})).then(function(t){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t.hash}})):(console.log("Using viem walletClient."),Promise.resolve(a.sendTransaction({chain:Pe[n],account:r,to:s,data:i,value:BigInt(p)})).then(function(t){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t}}))}catch(e){return o(e)}return u&&u.then?u.then(void 0,o):u}(0,function(e){return console.log({error:e}),je({error:e})}))}catch(e){return Promise.reject(e)}};var Ve,We={Permit:[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},He={SignedGasLessSwapData:[{name:"txId",type:"bytes32"},{name:"user",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"executorFeesHash",type:"bytes32"},{name:"swapDataHash",type:"bytes32"}]},Ze={SignedGasLessBridgeData:[{name:"txId",type:"bytes32"},{name:"user",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"executorFeesHash",type:"bytes32"},{name:"adapterDataHash",type:"bytes32"}]},qe={SignedGasLessSwapBridgeData:[{name:"txId",type:"bytes32"},{name:"user",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"executorFeesHash",type:"bytes32"},{name:"swapDataHash",type:"bytes32"},{name:"adapterDataHash",type:"bytes32"}]},Le=function(e){var t=Math.floor(Date.now()/1e3);return BigInt(t+e)},ze=function(e){var t=e.signer,n=e.domain,a=e.message,r=e.types,s=e.account,i=e.primaryType;try{var p,o=Fe(t)?Promise.resolve(t._signTypedData(n,r,a)).then(function(e){p=e}):Promise.resolve(t.signTypedData({account:s,domain:n,message:a,primaryType:i,types:r})).then(function(e){p=e});return Promise.resolve(o&&o.then?o.then(function(){return p}):p)}catch(e){return Promise.reject(e)}},Ge=[{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:"holder",type:"address",internalType:"address"},{name:"spender",type:"address",internalType:"address"},{name:"nonce",type:"uint256",internalType:"uint256"},{name:"expiry",type:"uint256",internalType:"uint256"},{name:"allowed",type:"bool",internalType:"bool"},{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"}],Ke=function(t){var n=t.chainId,a=t.contracts,r=t.rpcUrls,s=t.multicallAddress,i=t.allowFailure,p=void 0!==i&&i;try{return Promise.resolve(function(t,i){try{var o=(u=Ee({chainId:n,rpcUrls:r}),Promise.resolve(u.multicall(D({contracts:a},s&&{multicallAddress:s},{allowFailure:p}))).then(function(t){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,data:t}}))}catch(e){return i(e)}var u;return o&&o.then?o.then(void 0,i):o}(0,function(t){return console.error("Multicall failed:",t),{status:e.TxnStatus.error,code:t.code||e.StatusCodes.Error,data:[]}}))}catch(e){return Promise.reject(e)}},Ye=L.getEip2612DisabledChains(),Xe=function(t){var n=t.address,a=t.chainId,r=t.rpcUrls,s=t.owner,i=t.permit;try{var p;return!1===(null==i||null==(p=i.eip2612)?void 0:p.supported)||Ye.includes(a)?Promise.resolve({supportsPermit:!1}):Promise.resolve(Ke({chainId:a,contracts:[{address:n,abi:Ge,functionName:V.domainSeparator},{address:n,abi:Ge,functionName:V.nonces,args:[s]},{address:n,abi:Ge,functionName:V.version},{address:n,abi:Ge,functionName:V.name}],rpcUrls:r,allowFailure:!0})).then(function(t){if(t.status!==e.TxnStatus.success)return{supportsPermit:!1};var n=t.data,a=n[1],r=n[2],s=n[3];return n[0].status!==e.TxnStatus.success||a.status!==e.TxnStatus.success||s.status!==e.TxnStatus.success?{supportsPermit:!1}:{supportsPermit:!0,data:{version:r.status===e.TxnStatus.success?r.result:"1",name:s.result,nonce:a.result}}})}catch(e){return Promise.reject(e)}},Qe=((Ve={})[324]="0x0000000000225e31D15943971F47aD3022F714Fa",Ve[10242]="0x5Aeec43fF96b9B6c5a1dC1DAdA662ACE3c236C49",Ve[6001]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ve[5115]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ve[996]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ve[14]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ve[8822]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ve[42766]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ve[5165]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ve[42101]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Ve[2741]="0x0000000000225e31D15943971F47aD3022F714Fa",Ve[232]="0x0000000000225e31D15943971F47aD3022F714Fa",Ve),Je={typeName:"DZapTransferWitness",type:{DZapTransferWitness:[{name:"owner",type:"address"},{name:"recipient",type:"address"}]}},$e={typeName:"DZapSwapWitness",type:{DZapSwapWitness:[{name:"txId",type:"bytes32"},{name:"user",type:"address"},{name:"executorFeesHash",type:"bytes32"},{name:"swapDataHash",type:"bytes32"}]}},et={typeName:"DZapBridgeWitness",type:{DZapBridgeWitness:[{name:"txId",type:"bytes32"},{name:"user",type:"address"},{name:"executorFeesHash",type:"bytes32"},{name:"swapDataHash",type:"bytes32"},{name:"adapterDataHash",type:"bytes32"}]}},tt=[{name:"permit",type:"tuple",components:[{name:"permitted",type:"tuple[]",components:[{name:"token",type:"address"},{name:"amount",type:"uint256"}]},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},{name:"permitSignature",type:"bytes"}];function nt(e,t){return{name:"Permit2",chainId:t,verifyingContract:e}}var at=[{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"}];function rt(e,t,n){if(!e.s){if(n instanceof st){if(!n.s)return void(n.o=rt.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(rt.bind(null,e,t),rt.bind(null,e,2));e.s=t,e.v=n;const a=e.o;a&&a(e)}}var st=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){var a=new e,r=this.s;if(r){var s=1&r?t:n;if(s){try{rt(a,1,s(this.v))}catch(e){rt(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?rt(a,1,t?t(r):r):n?rt(a,1,n(r)):rt(a,2,r)}catch(e){rt(a,2,e)}},a},e}();function it(e){return e instanceof st&&1&e.s}var pt=/*#__PURE__*/function(){function e(e,n){this.permit2Contract=void 0,this.permit2Contract=t.getContract({address:n,abi:ge,client:e})}var n=e.prototype;return n.nextNonce=function(n){try{var a,r=function(e){if(a)return e;throw new Error("Max iterations reached")},s=this,i=BigInt(0),p=0,o=0,u=function(e,t,n){for(var a;;){var r=e();if(it(r)&&(r=r.v),!r)return s;if(r.then){a=0;break}var s=n();if(s&&s.then){if(!it(s)){a=1;break}s=s.s}if(t){var i=t();if(i&&i.then&&!it(i)){a=2;break}}}var p=new st,o=rt.bind(null,p,2);return(0===a?r.then(d):1===a?s.then(u):i.then(y)).then(void 0,o),p;function u(a){s=a;do{if(t&&(i=t())&&i.then&&!it(i))return void i.then(y).then(void 0,o);if(!(r=e())||it(r)&&!r.v)return void rt(p,1,s);if(r.then)return void r.then(d).then(void 0,o);it(s=n())&&(s=s.v)}while(!s||!s.then);s.then(u).then(void 0,o)}function d(e){e?(s=n())&&s.then?s.then(u).then(void 0,o):u(s):rt(p,1,s)}function y(){(r=e())?r.then?r.then(d).then(void 0,o):d(r):rt(p,1,s)}}(function(){return!a&&o<e.MAX_WORD_ITERATIONS},function(){return o++},function(){return Promise.resolve(s.permit2Contract.read.nonceBitmap([n,i])).then(function(n){if(n===t.maxUint256)return++i,void(p=0);var r=n;for(0!==p&&(r>>=BigInt(p));p<e.MAX_POSITION&&(r&BigInt(1))===BigInt(1);)r>>=BigInt(1),++p;var o=s.nonceFromWordAndPos(i,p);return a=1,o})});return Promise.resolve(u&&u.then?u.then(r):r(u))}catch(e){return Promise.reject(e)}},n.nonceFromWordAndPos=function(t,n){return t<<e.POSITION_BITS|BigInt(n)},n.getNonceBitmap=function(e,t){try{return Promise.resolve(this.permit2Contract.read.nonceBitmap([e,t]))}catch(e){return Promise.reject(e)}},n.isNonceUsed=function(t,n){try{var a=n>>e.POSITION_BITS,r=Number(n&e.POSITION_MASK);return Promise.resolve(this.getNonceBitmap(t,a)).then(function(e){return(e>>BigInt(r)&BigInt(1))===BigInt(1)})}catch(e){return Promise.reject(e)}},e}();pt.POSITION_BITS=BigInt(8),pt.MAX_POSITION=256,pt.POSITION_MASK=BigInt(255),pt.MAX_WORD_ITERATIONS=1e3;var ot=function(e,t,n,a){try{var r=Ee({chainId:n,rpcUrls:a}),s=new pt(r,e);return Promise.resolve(s.nextNonce(t))}catch(e){return Promise.reject(e)}};function ut(e){var t;return null!=(t=Qe[e])?t:"0x000000000022D473030F116dDEE9F6B43aC78BA3"}var dt,yt=function(n){try{return Promise.resolve(function(a,r){try{var s=(p=n.chainId,o=n.account,u=n.tokens,d=n.spender,y=n.rpcUrls,T=n.signer,f=n.permitType,b=n.firstTokenNonce,v=n.contractVersion,h=n.service,g=null!=(l=n.deadline)?l:Le(W),x=null!=(i=n.expiration)?i:t.maxUint48,w=ut(p),S=u.map(function(e){return D({},e,{amount:BigInt(e.amount||t.maxUint256).toString()})}),_=function(e){var t=e.account;return{witnessData:e.gasless&&e.swapDataHash?e.txType===A?{witness:{txId:e.txId,user:t,executorFeesHash:e.executorFeesHash,swapDataHash:e.swapDataHash},witnessTypeName:$e.typeName,witnessType:$e.type}:{witness:{txId:e.txId,user:t,executorFeesHash:e.executorFeesHash,swapDataHash:e.swapDataHash,adapterDataHash:e.adapterDataHash},witnessTypeName:et.typeName,witnessType:et.type}:{witness:{owner:t,recipient:e.spender},witnessTypeName:Je.typeName,witnessType:Je.type}}}(n),P=_.witnessData,Promise.resolve(function(e){try{switch(e.primaryType){case"PermitSingle":if(null==e.expiration)throw new Error("Expiration is required for PermitSingle");return function(e){var t=e.spender,n=e.deadline,a=e.chainId,r=e.rpcUrls,s=e.account,i=e.expiration,p=e.token,o=e.permit2Address;try{var u=Ee({chainId:a,rpcUrls:r});return Promise.resolve(u.readContract({address:o,abi:at,functionName:"allowance",args:[s,p.address,t]})).then(function(e){return{permit2Values:{details:{token:p.address,amount:BigInt(p.amount),expiration:i,nonce:e[2]},spender:t,sigDeadline:n},nonce:BigInt(e[2])}})}catch(e){return Promise.reject(e)}}(D({},e,{token:e.tokens[0],expiration:e.expiration}));case R:return function(e){var t=e.spender,n=e.deadline,a=e.chainId,r=e.rpcUrls,s=e.account,i=e.token,p=e.permit2Address,o=e.firstTokenNonce;try{var u,d=function(e){return{permit2Values:{permitted:{token:i.address,amount:BigInt(i.amount)},spender:t,nonce:u,deadline:n},nonce:u}},y=function(){if(0===i.index)return Promise.resolve(ot(p,s,a,r)).then(function(e){u=e});if(null===o)throw new Error("Unable to find nonce for token:"+i.address+" for PermitTransferFrom");u=BigInt(o)+BigInt(i.index)}();return Promise.resolve(y&&y.then?y.then(d):d())}catch(e){return Promise.reject(e)}}(D({},e,{token:e.tokens[0]}));case N:return function(e){var t=e.spender,n=e.deadline,a=e.chainId,r=e.rpcUrls,s=e.account,i=e.permit2Address,p=e.tokens;try{return Promise.resolve(ot(i,s,a,r)).then(function(e){return{permit2Values:{permitted:p.map(function(e){return{token:e.address,amount:BigInt(e.amount)}}),spender:t,nonce:e,deadline:n},nonce:e}})}catch(e){return Promise.reject(e)}}(e);default:throw new Error("Invalid permit type: "+e.primaryType)}}catch(e){return Promise.reject(e)}}({primaryType:f,spender:d,account:o,deadline:g,chainId:p,permit2Address:w,rpcUrls:y,tokens:S,expiration:x,firstTokenNonce:null!=b?b:null,service:h,contractVersion:v})).then(function(n){var a=n.nonce,r=function(e,t,n,a){if(function(e){return"details"in e&&void 0!==e.details}(e))return function(e,t,n){return{domain:nt(t,n),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"}]},message:e}}(e,t,n);if(!a)throw new Error("Witness is required for PermitTransferFrom");return function(e){return"permitted"in e&&!Array.isArray(e.permitted)}(e)?function(e,t,n,a){return{domain:nt(t,n),types:D({},a.witnessType,{TokenPermissions:[{name:"token",type:"address"},{name:"amount",type:"uint256"}],PermitWitnessTransferFrom:[{name:"permitted",type:"TokenPermissions"},{name:"spender",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"witness",type:a.witnessTypeName}]}),message:Object.assign(e,{witness:a.witness})}}(e,t,n,a):function(e,t,n,a){return{domain:nt(t,n),types:D({},a.witnessType,{TokenPermissions:[{name:"token",type:"address"},{name:"amount",type:"uint256"}],PermitBatchWitnessTransferFrom:[{name:"permitted",type:"TokenPermissions[]"},{name:"spender",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"witness",type:a.witnessTypeName}]}),message:D({},e,{witness:a.witness})}}(e,t,n,a)}(n.permit2Values,w,p,P);return Promise.resolve(ze({signer:T,domain:r.domain,message:r.message,types:r.types,account:o,primaryType:f})).then(function(n){var r;r=f===N?t.encodeAbiParameters(tt,[{permitted:S.map(function(e){return{token:e.address,amount:BigInt(e.amount)}}),nonce:a,deadline:g},n]):f===R?t.encodeAbiParameters(t.parseAbiParameters("uint256, uint256, bytes"),[a,g,n]):v===c.v1&&h!==I.zap?t.encodeAbiParameters(t.parseAbiParameters("uint160 allowanceAmount, uint48 nonce, uint48 expiration, uint256 sigDeadline, bytes signature"),[BigInt(u[0].amount),Number(a.toString()),Number(x.toString()),BigInt(g.toString()),n]):t.encodeAbiParameters(t.parseAbiParameters("uint48 nonce, uint48 expiration, uint256 sigDeadline, bytes signature"),[Number(a.toString()),Number(x.toString()),BigInt(g.toString()),n]);var s=h!==I.zap&&v===c.v1?m.PERMIT2_APPROVE:j[f],i=t.encodeAbiParameters(t.parseAbiParameters("uint8, bytes"),[s,r]);return{status:e.TxnStatus.success,code:e.StatusCodes.Success,permitData:i,nonce:a}})}))}catch(e){return r(e)}var i,p,o,u,d,y,l,T,f,b,v,h,g,x,w,S,_,P;return s&&s.then?s.then(void 0,r):s}(0,function(t){var n;return console.log("Error generating permit2 witness transfer signature:",t),(null==t||null==(n=t.cause)?void 0:n.code)===e.StatusCodes.UserRejectedRequest||(null==t?void 0:t.code)===e.StatusCodes.UserRejectedRequest?{status:e.TxnStatus.rejected,code:e.StatusCodes.UserRejectedRequest}:{status:e.TxnStatus.error,code:e.StatusCodes.Error}}))}catch(e){return Promise.reject(e)}};function lt(e,t,n){if(!e.s){if(n instanceof mt){if(!n.s)return void(n.o=lt.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(lt.bind(null,e,t),lt.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var mt=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){var a=new e,r=this.s;if(r){var s=1&r?t:n;if(s){try{lt(a,1,s(this.v))}catch(e){lt(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?lt(a,1,t?t(r):r):n?lt(a,1,n(r)):lt(a,2,r)}catch(e){lt(a,2,e)}},a},e}();function ct(e){return e instanceof mt&&1&e.s}var Tt=function(){};function ft(e){return t.encodeFunctionData({abi:xe,functionName:V.approve,args:[e.spender,e.amount]})}function bt(e,t,n){if(!e.s){if(n instanceof vt){if(!n.s)return void(n.o=bt.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(bt.bind(null,e,t),bt.bind(null,e,2));e.s=t,e.v=n;const a=e.o;a&&a(e)}}dt=Tt,Tt.generateBatchPermitDataForTokens=function(e){try{return Promise.resolve(yt(e)).then(function(e){return D({},e,{permitType:U.PermitBatchWitnessTransferFrom})})}catch(e){return Promise.reject(e)}},Tt.generatePermitDataForToken=function(n){try{var r=n.token,s=n.oneToMany,i=n.totalSrcAmount,p=n.chainId,o=n.rpcUrls,u=n.permitType,d=n.account,y=0===r.index;if(Be(r.address))return Promise.resolve({status:e.TxnStatus.success,code:e.StatusCodes.Success,permitData:S,nonce:BigInt(0),permitType:U.EIP2612Permit});var l=s&&y?i:BigInt(r.amount);return Promise.resolve(Xe({address:r.address,chainId:p,rpcUrls:o,owner:d,permit:r.permit})).then(function(i){if(u===U.EIP2612Permit||u===U.AutoPermit&&i.supportsPermit){if(!i.supportsPermit||!i.data)throw new Error("Token does not support EIP-2612 permits");return s&&!y?{status:e.TxnStatus.success,code:e.StatusCodes.Success,permitData:S,nonce:BigInt(0),permitType:U.EIP2612Permit}:Promise.resolve(function(n){try{return Promise.resolve(function(r,s){try{var i=function(){var r,s,i=n.chainId,p=n.spender,o=n.account,u=n.token,d=n.signer,y=n.contractVersion,l=n.service,m=n.name,T=n.nonce,f=n.version,b=n.deadline,v=void 0===b?Le(W):b,h=u.address,g=u.amount?BigInt(u.amount):t.maxUint256,x=null!=u&&null!=(r=u.permit)&&null!=(r=r.eip2612)&&null!=(r=r.data)&&r.domain?null==u||null==(s=u.permit)||null==(s=s.eip2612)||null==(s=s.data)?void 0:s.domain:{name:m,version:f,chainId:i,verifyingContract:h};return Promise.resolve(ze({signer:d,domain:x,message:{owner:o,spender:p,value:g,nonce:T,deadline:v},types:We,account:o,primaryType:"Permit"})).then(function(n){var r=a.ethers.utils.splitSignature(n),s=y===c.v1&&l!==I.zap?a.ethers.utils.defaultAbiCoder.encode(["address","address","uint256","uint256","uint8","bytes32","bytes32"],[o,p,g,v,r.v,r.r,r.s]):a.ethers.utils.defaultAbiCoder.encode(["uint256","uint8","bytes32","bytes32"],[v,r.v,r.r,r.s]),i=t.encodeAbiParameters(t.parseAbiParameters("uint8, bytes"),[e.DZapPermitMode.PERMIT,s]);return{status:e.TxnStatus.success,code:e.StatusCodes.Success,permitData:i}})}()}catch(e){return s(e)}return i&&i.then?i.then(void 0,s):i}(0,function(t){var n;return console.log("Error generating permit signature:",t),(null==t||null==(n=t.cause)?void 0:n.code)===e.StatusCodes.UserRejectedRequest||(null==t?void 0:t.code)===e.StatusCodes.UserRejectedRequest?{status:e.TxnStatus.rejected,code:e.StatusCodes.UserRejectedRequest}:{status:e.TxnStatus.error,code:e.StatusCodes.Error}}))}catch(e){return Promise.reject(e)}}(D({},n,{token:{address:r.address,amount:l.toString(),index:0,permit:r.permit},gasless:!1,version:i.data.version,name:i.data.name,nonce:i.data.nonce}))).then(function(e){return{status:e.status,code:e.code,permitData:e.permitData,nonce:BigInt(0),permitType:U.EIP2612Permit}})}var p=u===U.AutoPermit?U.PermitWitnessTransferFrom:u;return s&&!y?{status:e.TxnStatus.success,code:e.StatusCodes.Success,permitData:_,nonce:BigInt(0),permitType:p}:Promise.resolve(yt(D({},n,{tokens:[r],permitType:p}))).then(function(e){return D({},e,{permitType:p})})})}catch(e){return Promise.reject(e)}},Tt.signGaslessUserIntent=function(n){try{var a,r=function(e){return a?e:Promise.resolve(yt(D({},n,{tokens:s.map(function(e,t){return D({},e,{index:t})}),account:i,permitType:o}))).then(function(e){return{status:e.status,code:e.code,data:e.permitData&&{type:o,batchPermitData:e.permitData}}})},s=n.tokens,i=n.sender,p=n.permitType,o=p===U.AutoPermit?U.PermitBatchWitnessTransferFrom:p,u=function(){if(o===U.EIP2612Permit)return Promise.resolve(function(n){try{return Promise.resolve(function(a,r){try{var s=(i=n.chainId,p=n.spender,o=n.account,u=n.signer,d=n.rpcUrls,y=n.deadline||Le(W),l=t.getContract({abi:Re("trade",n.contractVersion),address:p,client:Ee({chainId:i,rpcUrls:d})}),Promise.resolve(l.read.getNonce([o])).then(function(t){var a={name:B.name,version:B.version,chainId:i,verifyingContract:p,salt:B.salt},r=function(e){var t=e.account,n=e.deadline,a=e.nonce;return e.txType===A?{message:{txId:e.txId,user:t,executorFeesHash:e.executorFeesHash,swapDataHash:e.swapDataHash,nonce:a,deadline:n},types:He,primaryType:"SignedGasLessSwapData"}:e.swapDataHash?{message:{txId:e.txId,user:t,nonce:a,deadline:n,executorFeesHash:e.executorFeesHash,swapDataHash:e.swapDataHash,adapterDataHash:e.adapterDataHash},types:qe,primaryType:"SignedGasLessSwapBridgeData"}:{message:{txId:e.txId,user:t,nonce:a,deadline:n,executorFeesHash:e.executorFeesHash,adapterDataHash:e.adapterDataHash},types:Ze,primaryType:"SignedGasLessBridgeData"}}(D({},n,{deadline:y,nonce:t}));return Promise.resolve(ze({signer:u,domain:a,message:r.message,types:r.types,account:o,primaryType:r.primaryType})).then(function(n){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,data:{signature:n,nonce:t,deadline:y}}})}))}catch(e){return r(e)}var i,p,o,u,d,y,l;return s&&s.then?s.then(void 0,r):s}(0,function(e){return je({error:e})}))}catch(e){return Promise.reject(e)}}(D({},n,{account:i}))).then(function(e){var t={status:e.status,code:e.code,data:(null==e?void 0:e.data)&&D({},e.data,{type:o})};return a=1,t})}();return Promise.resolve(u&&u.then?u.then(r):r(u))}catch(e){return Promise.reject(e)}},Tt.v1PermitSupport=function(e){return e.contractVersion===c.v1&&e.service!==I.zap},Tt.shouldUseBatchPermit=function(e){var t=e.permitType,n=e.isBatchPermitAllowed,a=void 0===n||n,r=e.tokens,s=t===U.PermitBatchWitnessTransferFrom,i=t===U.AutoPermit&&(null==r?void 0:r.length)>1&&!e.oneToMany,p=!dt.v1PermitSupport({contractVersion:e.contractVersion,service:e.service});return a&&(s||i)&&p},Tt.signPermit=function(t){try{var n,a=t.tokens;if(0===a.length)return Promise.resolve({status:e.TxnStatus.success,code:e.StatusCodes.Success,tokens:a,permitType:t.permitType});var r=a.length>1&&a[0].address===a[1].address;if(dt.shouldUseBatchPermit({permitType:t.permitType,isBatchPermitAllowed:t.isBatchPermitAllowed,tokens:a,oneToMany:r,contractVersion:t.contractVersion,service:t.service}))return Promise.resolve(dt.generateBatchPermitDataForTokens(D({},t,{tokens:a.map(function(e,t){return D({},e,{index:t})}),account:t.sender,permitType:U.PermitBatchWitnessTransferFrom}))).then(function(n){function r(){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,batchPermitData:n.permitData,permitType:n.permitType}}if(n.status!==e.TxnStatus.success)return{status:n.status,code:n.code,permitType:U.PermitBatchWitnessTransferFrom};var s=function(){if(t.signatureCallback)return Promise.resolve(t.signatureCallback({batchPermitData:n.permitData,tokens:a,permitType:n.permitType})).then(function(){})}();return s&&s.then?s.then(r):r()});var s=function(t){return n?t:{status:e.TxnStatus.success,tokens:a,code:e.StatusCodes.Success,permitType:o}},i=a.reduce(function(e,t){return e+BigInt(t.amount)},BigInt(0)),p=null,o=dt.v1PermitSupport({contractVersion:t.contractVersion,service:t.service})?U.PermitSingle:t.permitType,u=(d=a,y=function(s){var u=0===s;return Promise.resolve(dt.generatePermitDataForToken(D({},t,{token:D({},a[s],{index:s}),firstTokenNonce:null!=p?p:void 0,oneToMany:r,totalSrcAmount:i,account:t.sender,permitType:o}))).then(function(d){var y;if(o=d.permitType,d.status!==e.TxnStatus.success)return n=1,{status:d.status,code:d.code,permitType:d.permitType};a[s].permitData=d.permitData,u&&!Be(a[s].address)&&(p=null!=(y=d.nonce)?y:null);var l=function(){if(t.signatureCallback&&!Be(a[s].address)){var e=r&&u?i:BigInt(a[s].amount);return Promise.resolve(t.signatureCallback({permitData:d.permitData,srcToken:a[s].address,amount:e.toString(),permitType:d.permitType})).then(function(){})}}();return l&&l.then?l.then(function(){}):void 0})},l=function(){return n},T=-1,function e(t){try{for(;++T<d.length&&(!l||!l());)if((t=y(T))&&t.then){if(!ct(t))return void t.then(e,c||(c=lt.bind(null,m=new mt,2)));t=t.v}m?lt(m,1,t):m=t}catch(e){lt(m||(m=new mt),2,e)}}(),m);return Promise.resolve(u&&u.then?u.then(s):s(u))}catch(e){return Promise.reject(e)}var d,y,l,m,c,T};var vt=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){var a=new e,r=this.s;if(r){var s=1&r?t:n;if(s){try{bt(a,1,s(this.v))}catch(e){bt(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?bt(a,1,t?t(r):r):n?bt(a,1,n(r)):bt(a,2,r)}catch(e){bt(a,2,e)}},a},e}();function ht(e){return e instanceof vt&&1&e.s}var gt,xt=function(n){var a=n.chainId,r=n.sender,s=n.tokens,i=n.rpcUrls,p=n.multicallAddress,o=n.mode,u=n.spender;try{var d={},y=s.filter(function(e){return Be(e.address)}),l=s.filter(function(e){return!Be(e.address)});return Promise.resolve(Promise.all(l.map(function(e){var t=e.address,n=e.amount,s=e.permit;try{if(o===O.AutoPermit)return Promise.resolve(Xe({address:t,chainId:a,rpcUrls:i,owner:r,permit:s})).then(function(e){return{token:t,spender:e.supportsPermit?u:ut(a),amount:n,isEIP2612PermitSupported:e.supportsPermit,isDefaultApprovalMode:!1}});if(o===O.Default)return Promise.resolve({token:t,spender:u,amount:n,isDefaultApprovalMode:!0});var p=ut(a);return Promise.resolve({token:t,spender:p,amount:n,isDefaultApprovalMode:!1})}catch(e){return Promise.reject(e)}}))).then(function(n){for(var s,o=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 P(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)?P(e,t):void 0}}(e))){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(y);!(s=o()).done;)d[s.value.address]={allowance:t.maxUint256,approvalNeeded:!1,signatureNeeded:!1};return 0===l.length?{status:e.TxnStatus.success,code:e.StatusCodes.Success,data:d}:function(s,o){try{var u=Promise.resolve(function(t){var n=t.chainId,a=t.data,r=t.owner,s=t.multicallAddress,i=t.rpcUrls;try{var p=a.map(function(e){return{address:e.token,abi:xe,functionName:V.allowance,args:[r,e.spender]}});return Promise.resolve(Ke({chainId:n,contracts:p,rpcUrls:i,multicallAddress:s,allowFailure:!1})).then(function(t){var n=t.status,r=t.code,s=t.data;if(n!==e.TxnStatus.success)return{status:n,code:r,data:{}};for(var i={},p=0;p<a.length;p++)i[a[p].token]=s[p];return{status:n,code:r,data:i}})}catch(e){return Promise.reject(e)}}({chainId:a,data:n,owner:r,multicallAddress:p,rpcUrls:i})).then(function(a){for(var r=a.data,s=0;s<n.length;s++){var i=n[s],p=i.token,o=i.isEIP2612PermitSupported,u=i.isDefaultApprovalMode,y=o?t.maxUint256:r[p],l=!o&&y<BigInt(i.amount);d[p]={allowance:y,approvalNeeded:l,signatureNeeded:!u}}return{status:e.TxnStatus.success,code:e.StatusCodes.Success,data:d}})}catch(e){return o(e)}return u&&u.then?u.then(void 0,o):u}(0,function(t){return console.error("Multicall allowance check failed:",t),{status:e.TxnStatus.error,code:e.StatusCodes.Error,data:d}})})}catch(e){return Promise.reject(e)}},wt=function(e,t){try{return Promise.resolve(function(n,a){try{var r=Promise.resolve(s.getAction(e,i.sendCalls,"sendCalls")({account:e.account,calls:t.map(function(e){var t;return{to:e.to,data:e.data,value:null!=(t=e.value)?t:BigInt(0)}})}))}catch(e){return a(e)}return r&&r.then?r.then(void 0,a):r}(0,function(e){return console.warn("EIP-5792 batch calls not supported:",e),null}))}catch(e){return Promise.reject(e)}},It=function(t,n){try{return Promise.resolve(s.getAction(t,i.waitForCallsStatus,"waitForCallsStatus")({id:n,timeout:864e5})).then(function(t){var n=t.receipts,a=t.statusCode;if(t.status===e.TxnStatus.success){if(null==n||!n.length||!n.every(function(e){return e.transactionHash})||n.some(function(t){return t.status===e.TxnStatus.reverted}))throw new Error("Transaction was reverted.");return n[n.length-1]}if(a>=400&&a<500)throw new Error("Transaction was canceled.");throw new Error("Transaction failed.")})}catch(e){return Promise.reject(e)}};function At(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}var St=function(){};gt=St,St.sendTransaction=function(t,n,a,r,s){try{var i,p=function(){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:i,additionalInfo:r,updatedQuotes:s}},o=Fe(t)?Promise.resolve(t.sendTransaction({from:n.from,to:n.to,data:n.data,value:n.value,gasLimit:n.gasLimit})).then(function(e){i=e.hash}):Promise.resolve(t.sendTransaction({chain:Pe[a],account:n.from,to:n.to,data:n.data,value:BigInt(n.value)})).then(function(e){i=e});return Promise.resolve(o&&o.then?o.then(p):p())}catch(e){return Promise.reject(e)}},St.sendTxnWithBatch=function(t,n,a,r,s,i,p,o){try{return Promise.resolve(function(e){var t=e.tokens,n=e.chainId,a=e.sender,r=e.spender,s=e.multicallAddress,i=e.rpcUrls;try{var p=t.filter(function(e){return!Be(e.address)});return 0===p.length?Promise.resolve([]):Promise.resolve(xt({chainId:n,sender:a,tokens:p,spender:r,multicallAddress:s,rpcUrls:i})).then(function(e){var t=e.data;return p.filter(function(e){var n;return null==(n=t[e.address])?void 0:n.approvalNeeded}).map(function(e){return{to:e.address,data:ft({spender:r,amount:BigInt(e.amount)}),value:BigInt(0)}})})}catch(e){return Promise.reject(e)}}({tokens:t.data.map(function(e){return{address:e.srcToken,amount:e.amount}}),chainId:r,multicallAddress:p,sender:a.from,spender:a.to,rpcUrls:o})).then(function(t){var p=[].concat(t,[{to:a.to,data:a.data,value:BigInt(a.value)}]);return 0===t.length?gt.sendTransaction(n,a,r,s,i):Promise.resolve(wt(n,p)).then(function(t){return t?(console.log("Waiting for batch transaction completion..."),Promise.resolve(It(n,t.id)).then(function(t){return console.log({receipt:t}),{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t.transactionHash,additionalInfo:s,updatedQuotes:i}})):{status:e.TxnStatus.error,errorMsg:"Batch call failed",code:e.StatusCodes.Error}})})}catch(e){return Promise.reject(e)}},St.sendHyperLiquidTransaction=function(t,n,a,r,s,i){try{var p,o,u=function(t){return p?t:Promise.resolve(Q({chainId:r,txData:o,txId:a.txId})).then(function(t){if(t.status!==e.TxnStatus.success)throw new Error("Failed to broadcast or save transaction");return{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t.txnHash,additionalInfo:s,updatedQuotes:i}})},d=function(){if(998===r){var a=s?Object.values(s)[0]:null,u=a&&"typedData"in a?a.typedData:null;return s&&u?Promise.resolve(function(t){try{return Promise.resolve(function(n,a){try{var r=(s=t.message,Promise.resolve(ze({signer:t.signer,account:t.account,domain:t.domain,message:s,primaryType:t.primaryType,types:t.types})).then(function(t){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,data:{signature:t,message:s}}}))}catch(e){return a(e)}var s;return r&&r.then?r.then(void 0,a):r}(0,function(e){return je({error:e})}))}catch(e){return Promise.reject(e)}}({signer:t,account:n.from,domain:u.domain,types:u.types,message:u.message,primaryType:u.primaryType})).then(function(t){var n;if(t.status!==e.TxnStatus.success)throw new Error("Failed to sign transaction");o=null==(n=t.data)?void 0:n.signature}):(p=1,{status:e.TxnStatus.error,errorMsg:"Missing additional info for HyperLiquid transaction",code:e.StatusCodes.Error})}return Promise.resolve(gt.sendTransaction(t,n,r,s,i)).then(function(t){if(t.status!==e.TxnStatus.success)throw new Error("Failed to sign transaction");o=t.txnHash})}();return Promise.resolve(d&&d.then?d.then(u):u(d))}catch(e){return Promise.reject(e)}},St.buildAndSendTransaction=function(t){var n=t.request,a=t.signer,r=t.txnData,s=t.multicallAddress,i=t.batchTransaction,p=void 0!==i&&i,o=t.rpcUrls;try{return Promise.resolve(At(function(){function e(){var e=t.additionalInfo,r=t.updatedQuotes,u={from:t.from,to:t.to,data:t.data,value:t.value,gasLimit:t.gasLimit};return[i].concat(n.data.map(function(e){return e.toChain})).some(function(e){return 998===e})?gt.sendHyperLiquidTransaction(a,u,t,i,e,r):p&&!Fe(a)?gt.sendTxnWithBatch(n,a,u,i,e,r,s,o):(console.log("Using viem walletClient - sending regular transaction."),gt.sendTransaction(a,u,i,e,r))}var t,i=n.fromChain,u=function(){if(!r)return Promise.resolve(X(n)).then(function(e){t=e});t=r}();return u&&u.then?u.then(e):e()},function(t){var n,a,r,s,i,p,o,u,d;return console.log({error:t}),Ue(t)?(null==t||null==(n=t.response)?void 0:n.status)===e.StatusCodes.SimulationFailure?{status:e.TxnStatus.error,errorMsg:"Simulation Failed",error:(null==(o=t.response)?void 0:o.data).message,code:(null==(u=t.response)?void 0:u.data).code,action:(null==(d=t.response)?void 0:d.data).action}:{status:e.TxnStatus.error,errorMsg:"Params Failed: "+JSON.stringify(null==t||null==(a=t.response)||null==(a=a.data)?void 0:a.message),error:null!=(r=null==t||null==(s=t.response)?void 0:s.data)?r:t,code:null!=(i=null==t||null==(p=t.response)?void 0:p.status)?i:e.StatusCodes.Error}:je({error:t})}))}catch(e){return Promise.reject(e)}},St.buildGaslessTxAndSignPermit=function(t){var n=t.request,a=t.signer,r=t.rpcUrls,s=t.spender,i=t.txnData,p=t.txnStatusCallback;try{return Promise.resolve(At(function(){function t(){var t=n.hasPermit2ApprovalForAllTokens?U.PermitBatchWitnessTransferFrom:U.EIP2612Permit,i=o.txId;return Promise.resolve(Tt.signGaslessUserIntent(D({tokens:n.data.map(function(e,t){return{address:e.srcToken,amount:e.amount,index:t}}),chainId:u,rpcUrls:r,sender:n.sender,spender:s,permitType:t,signer:a,gasless:!0,txId:i,service:"trade",contractVersion:c.v2},o.transaction))).then(function(t){var a;function r(e){if(a)return e;throw new Error("Gasless Transaction Failed")}var s=function(){if(t.status===e.TxnStatus.success&&t.data){var r,s;p&&p(e.TxnStatus.waitingForExecution);var o=t.data.type===U.EIP2612Permit?{permitData:n.data.map(function(e){return{token:e.srcToken,amount:e.amount,permit:e.permitData}}),gaslessIntentNonce:null==(r=t.data.nonce)?void 0:r.toString(),gaslessIntentSignature:t.data.signature,gaslessIntentDeadline:null==(s=t.data.deadline)?void 0:s.toString()}:{batchPermitData:t.data.batchPermitData};return Promise.resolve(function(e){return K({endpoint:"/gasless/executeTx",data:e,method:Z})}({chainId:n.fromChain,txId:i,permit:o})).then(function(t){if(t.status!==e.TxnStatus.success)throw new Error("Failed to execute gasless transaction");return a=1,{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t.txnHash}})}}();return s&&s.then?s.then(r):r(s)})}var o,u=n.fromChain,d=function(){if(!i)return Promise.resolve(X(D({},n,{gasless:!0}))).then(function(e){o=e});o=i}();return d&&d.then?d.then(t):t()},function(t){var n,a,r,s,i,p,o,u,d;return console.log({error:t}),Ue(t)?(null==t||null==(n=t.response)?void 0:n.status)===e.StatusCodes.SimulationFailure?{status:e.TxnStatus.error,errorMsg:"Simulation Failed",error:(null==(o=t.response)?void 0:o.data).message,code:(null==(u=t.response)?void 0:u.data).code,action:(null==(d=t.response)?void 0:d.data).action}:{status:e.TxnStatus.error,errorMsg:"Params Failed: "+JSON.stringify(null==t||null==(a=t.response)||null==(a=a.data)?void 0:a.message),error:null!=(r=null==t||null==(s=t.response)?void 0:s.data)?r:t,code:null!=(i=null==t||null==(p=t.response)?void 0:p.status)?i:e.StatusCodes.Error}:je({error:t})}))}catch(e){return Promise.reject(e)}};var _t,Pt={execute:"execute"};function Dt(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function kt(e,t,n){if(!e.s){if(n instanceof Et){if(!n.s)return void(n.o=kt.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(kt.bind(null,e,t),kt.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var Ct=function(){};const Et=/*#__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{kt(a,1,e(this.v))}catch(e){kt(a,2,e)}return a}return this}return this.o=function(e){try{const r=e.v;1&e.s?kt(a,1,t?t(r):r):n?kt(a,1,n(r)):kt(a,2,r)}catch(e){kt(a,2,e)}},a},e}();function Mt(e){return e instanceof Et&&1&e.s}_t=Ct,Ct.execute=function(t){var n=t.chainId,a=t.txnData,r=t.signer;try{return Promise.resolve(Dt(function(){var t,s=a.callData,i=a.callTo,p=a.value,o=a.estimatedGas;return Fe(r)?(console.log("Using ethers signer."),Promise.resolve(r.getAddress()).then(function(t){return Promise.resolve(r.sendTransaction({from:t,to:i,data:s,value:BigInt(p),gasLimit:BigInt(o)?BigInt(o):void 0})).then(function(t){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t.hash}})})):(console.log("Using viem walletClient."),Promise.resolve(r.sendTransaction({chain:Pe[n],account:null==(t=r.account)?void 0:t.address,to:a.callTo,data:a.callData,value:BigInt(a.value)})).then(function(t){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t}}))},function(e){return console.log({error:e}),je({error:e})}))}catch(e){return Promise.reject(e)}},Ct.approve=function(t){var n=t.chainId,a=t.data,r=t.signer;try{return Promise.resolve(Dt(function(){var t=a.callData,s=a.callTo,i=a.value,p=a.estimatedGas,o=Ee({chainId:n,rpcUrls:void 0});return Promise.resolve(o.getBlockNumber()).then(function(o){return console.log("block Number and data"),console.dir(D({blockNumber:o},a),{depth:null}),Fe(r)?(console.log("Using ethers signer."),Promise.resolve(r.getAddress()).then(function(n){return Promise.resolve(r.sendTransaction({from:n,to:s,data:t,value:BigInt(i),gasLimit:BigInt(p)?BigInt(p):void 0})).then(function(t){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t.hash}})})):(console.log("Using viem walletClient."),Promise.resolve(r.sendTransaction({chain:Pe[n],account:null==(u=r.account)?void 0:u.address,to:a.callTo,data:a.callData,value:BigInt(a.value)})).then(function(t){return{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:t}}));var u})},function(e){return console.log({error:e}),je({error:e})}))}catch(e){return Promise.reject(e)}},Ct.zap=function(t){var n=t.request,a=t.steps,r=t.signer;try{var s;return Promise.resolve(Dt(function(){function t(t){var n,p;if(s)return t;function o(t){return n?t:{status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:p}}var u,d,y,l,m,c,T=(u=a,d=function(t){var s=a[t];return function(){if(s.action===Pt.execute)return Promise.resolve(_t.execute({chainId:i,txnData:s.data,signer:r})).then(function(t){if(t.status!==e.TxnStatus.success)return n=1,t;p=t.txnHash})}()},y=function(){return n},c=-1,function e(t){try{for(;++c<u.length&&(!y||!y());)if((t=d(c))&&t.then){if(!Mt(t))return void t.then(e,m||(m=kt.bind(null,l=new Et,2)));t=t.v}l?kt(l,1,t):l=t}catch(e){kt(l||(l=new Et),2,e)}}(),l);return T&&T.then?T.then(o):o(T)}var i=n.srcChainId,p=function(){if(!a||0===a.length)return Promise.resolve(J(n)).then(function(t){if(!(a=t.data.steps)||0===a.length)return s=1,{status:e.TxnStatus.error,code:e.StatusCodes.FunctionNotFound,errorMsg:"No steps found in the zap route."}})}();return p&&p.then?p.then(t):t(p)},function(e){return console.log({error:e}),je({error:e})}))}catch(e){return Promise.reject(e)}};var Ft=function(e,n,a){return n?new g.default(t.formatUnits(BigInt(e),n)).mul(a||0).toFixed(5):"0"},Bt=function(e){var t=new g.default(function(e){return e.fee.gasFee.reduce(function(e,t){return t.included?e:e.plus(t.amountUSD||"0")},new g.default(0)).toFixed(5)}(e));return e.fee.providerFee.forEach(function(e){e.included||(t=t.plus(new g.default(e.amountUSD||"0")))}),new g.default(e.destAmountUSD||"0").minus(t).toFixed(5)},Rt=function(e,t){var n=!1,a=function(e,a,r,s,i){var p,o=(null==(p=t[a])?void 0:p[r])||"0";return e.amountUSD&&0!==parseFloat(e.amountUSD)?e.amountUSD:(n=!1===e.included,Ft(s,i,o))},r=function(e){return e.map(function(e){return D({},e,{amountUSD:a(e,e.chainId,e.address,e.amount,e.decimals)})})},s={gasFee:r(e.gasFee),providerFee:r(e.providerFee),protocolFee:r(e.protocolFee)};return{isUpdated:n,fee:s}},Nt=function(e,t){return e.path.map(function(n){return D({},n,{fee:Rt(n.fee,t).fee,srcAmountUSD:e.srcAmountUSD,destAmountUSD:e.destAmountUSD})})};function Ut(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}var jt=/*#__PURE__*/function(){function n(){this.cancelTokenSource=null,this.priceService=void 0,this.priceService=new he}n.getInstance=function(e,t){return n.instance||(n.instance=new n),e&&L.setApiKey(e),t&&L.setRpcUrlsByChainId(t),n.instance},n.getChainConfig=function(){try{var e=function(){return n.chainConfig},t=function(){if(!n.chainConfig)return Promise.resolve($()).then(function(e){var t={};e.forEach(function(e){t[e.chainId]||(t[e.chainId]=e)}),n.chainConfig=t})}();return Promise.resolve(t&&t.then?t.then(e):e())}catch(e){return Promise.reject(e)}},n.getDZapAbi=function(e,t){return Re(e,t)};var a=n.prototype;return a.getTradeQuotes=function(e){try{var t=this;return Promise.resolve(function(e){return K({endpoint:"/quotes",data:e,method:Z,shouldRetry:!0})}(e)).then(function(a){return Promise.resolve(n.getChainConfig()).then(function(n){return null===n?a:function(e,t,n,a){try{var r={};return Object.values(e).forEach(function(e){e.tokensWithoutPrice&&Object.entries(e.tokensWithoutPrice).forEach(function(e){var t=e[1],n=Number(e[0]);r[n]||(r[n]=new Set),t.forEach(function(e){return r[n].add(e)})})}),0===Object.keys(r).length?Promise.resolve(e):Promise.resolve(Promise.all(Object.entries(r).map(function(e){var t=e[0],r=e[1];try{var s=Number(t),i=Array.from(r);return Promise.resolve(n.getPrices({chainId:s,tokenAddresses:i,chainConfig:a,notAllowSources:[pe]})).then(function(e){return[s,e]})}catch(e){return Promise.reject(e)}}))).then(function(n){for(var a=Object.fromEntries(n),r=0,s=Object.values(e);r<s.length;r++){var i=s[r];if(i.quoteRates&&Object.keys(i.quoteRates).length){for(var p=!0,o=0,u=Object.values(i.quoteRates);o<u.length;o++){var d=u[o],y=d.srcToken.decimals,l=d.destToken.decimals,m=d.destToken.chainId;if(!Number(d.srcAmountUSD)){var c;p=!1;var T=(null==(c=a[t.fromChain])?void 0:c[d.srcToken.address])||"0";d.srcAmountUSD=Ft(d.srcAmount,y,T)}if(!Number(d.destAmountUSD)){var f;p=!1;var b=(null==(f=a[m])?void 0:f[d.destToken.address])||"0";d.destAmountUSD=Ft(d.destAmount,l,b)}if(Number(d.srcAmountUSD)&&Number(d.destAmountUSD)){var v=new g.default(d.destAmountUSD).minus(d.srcAmountUSD).div(d.srcAmountUSD).mul(100);d.priceImpactPercent=v.toFixed(2)}var h=Rt(d.fee,a);p=p&&!h.isUpdated,d.fee=h.fee,d.path=Nt(d,a)}0!==Object.keys(i.tokensWithoutPrice).length&&!1===p&&(i.quoteRates=Object.fromEntries(Object.entries(i.quoteRates).sort(function(e,t){var n=t[1],a=Bt(e[1]),r=Bt(n);return Number(r)-Number(a)})),i.recommendedSource=Object.keys(i.quoteRates)[0])}}return e})}catch(e){return Promise.reject(e)}}(a,e,t.priceService,n)})})}catch(e){return Promise.reject(e)}},a.buildTradeTxn=function(e){try{return Promise.resolve(X(e))}catch(e){return Promise.reject(e)}},a.getTradeTxnStatus=function(e){return function(e){return K({endpoint:"/status",data:{txHash:e.txHash,chainId:e.chainId},method:H})}({txHash:e.txHash,chainId:e.chainId})},a.getTradeMultiTxnStatus=function(e){return function(e){return K({endpoint:"/status/multi",data:{txHashes:e.txHashes,chainIds:e.chainIds},method:H})}({txHashes:e.txHashes,chainIds:e.chainIds})},a.getAllSupportedChains=function(){return $()},a.getAllTokens=function(e,a,r){try{var s=this;return Promise.resolve(Ut(function(){return Promise.resolve(Promise.allSettled([ee(e,a,r),n.getChainConfig()])).then(function(n){var a=n[0],r=n[1],i="fulfilled"===a.status?a.value:{},p="fulfilled"===r.status?r.value:null;return p?Promise.resolve(function(e,n,a,r){try{return Promise.resolve(function(s,i){try{var p=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(r.getPrices({chainId:n,tokenAddresses:o,chainConfig:a,notAllowSources:[pe]})).then(function(n){return o.forEach(function(a){e[a].price=n[a]||e[a].price,e[a].balanceInUsd=n[a]?parseFloat(n[a])*parseFloat(t.formatUnits(BigInt(e[a].balance),e[a].decimals)):null}),s=(a=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,(r=a.withBalanceInUsd).sort(function(e,t){return t[1].balanceInUsd-e[1].balanceInUsd}),Object.fromEntries([].concat(r,s));var a,r,s})}catch(e){return i(e)}var o;return p&&p.then?p.then(void 0,i):p}(0,function(t){return console.error("Error fetching token prices:",t),e}))}catch(e){return Promise.reject(e)}}(i,e,p,s.priceService)):i})},function(e){return console.error("Error fetching or updating tokens:",e),{}}))}catch(e){return Promise.reject(e)}},a.getTokenDetails=function(e,t,n,a,r){try{return Promise.resolve(te(e,t,n,a,r))}catch(e){return Promise.reject(e)}},a.getTokensDetails=function(e,t,n,a,r){try{return Promise.resolve(te(e,t,n,a,r))}catch(e){return Promise.reject(e)}},a.getTokenPrices=function(e,t){try{var a=this;return Promise.resolve(n.getChainConfig()).then(function(n){return Promise.resolve(a.priceService.getPrices({chainId:t,tokenAddresses:e,chainConfig:n}))})}catch(e){return Promise.reject(e)}},a.trade=function(e){var t=e.request,a=e.signer,r=e.txnData,s=e.batchTransaction,i=void 0!==s&&s,p=e.rpcUrls;try{return Promise.resolve(n.getChainConfig()).then(function(e){var n;return Promise.resolve(St.buildAndSendTransaction({request:t,signer:a,txnData:r,batchTransaction:i,multicallAddress:null==e||null==(n=e[t.fromChain])?void 0:n.multicallAddress,rpcUrls:p}))})}catch(e){return Promise.reject(e)}},a.tradeGasless=function(e){var t=e.request,n=e.signer,a=e.txnData,r=e.txnStatusCallback;try{return Promise.resolve(this.getDZapContractAddress({chainId:t.fromChain,service:I.trade})).then(function(e){return Promise.resolve(St.buildGaslessTxAndSignPermit({request:t,signer:n,rpcUrls:L.getRpcUrlsByChainId(t.fromChain),spender:e,txnData:a,txnStatusCallback:r}))})}catch(e){return Promise.reject(e)}},a.sendTransaction=function(e){var t=e.chainId,n=e.signer,a=e.txnData;try{return Promise.resolve(Oe.sendTransaction(D({signer:n,chainId:t},a)))}catch(e){return Promise.reject(e)}},a.waitForBatchTransactionReceipt=function(e){var t=e.walletClient,n=e.batchHash;try{return Promise.resolve(It(t,n))}catch(e){return Promise.reject(e)}},a.decodeTxnData=function(e){var a=e.data,r=e.service,s=e.chainId;try{var i=Ee({chainId:s,rpcUrls:L.getRpcUrlsByChainId(s)});return Promise.resolve(Promise.all([n.getChainConfig(),i.getTransaction({hash:a.transactionHash})])).then(function(e){var n=e[0],i=e[1];if(null===n||null==(null==n?void 0:n[s]))throw new Error("Chains config not found");return function(e,n,a,r){var s,i,p=[],o=Re(a,(null==r?void 0:r.version)||c.v1);try{p=t.parseEventLogs({abi:o,logs:n.logs})}catch(e){p=[]}var u=null==(i=(p=null==(s=p)?void 0:s.filter(function(e){return null!==e}))[0])?void 0:i.args,d=[],y=[];if(Array.isArray(null==u?void 0:u.swapInfo))y=u.swapInfo.map(function(e){var t,n,a,s;return BigInt(e.returnToAmount)!==BigInt(0)&&BigInt(e.fromAmount)!==BigInt(0)||d.push(Me({srcToken:e.fromToken,destToken:e.toToken,srcChainId:r.chainId,destChainId:r.chainId,srcChainNativeAddress:null==r||null==(a=r.nativeToken)?void 0:a.contract,destChainNativeAddress:null==r||null==(s=r.nativeToken)?void 0:s.contract})),D({},e,{fromToken:ye(e.fromToken,null==r||null==(t=r.nativeToken)?void 0:t.contract),toToken:ye(e.toToken,null==r||null==(n=r.nativeToken)?void 0:n.contract)})});else if("object"==typeof(null==u?void 0:u.swapInfo)&&Object.keys(null==u?void 0:u.swapInfo).length>0){var l,m,T,f,b=u.swapInfo,v=b.fromAmount,h=b.fromToken,g=b.toToken;BigInt(b.returnToAmount)!==BigInt(0)&&BigInt(v)!==BigInt(0)||d.push(Me({srcToken:h,destToken:g,srcChainId:r.chainId,destChainId:r.chainId,srcChainNativeAddress:null==r||null==(T=r.nativeToken)?void 0:T.contract,destChainNativeAddress:null==r||null==(f=r.nativeToken)?void 0:f.contract})),y=D({},u.swapInfo,{fromToken:ye(u.swapInfo.fromToken,null==r||null==(l=r.nativeToken)?void 0:l.contract),toToken:ye(u.swapInfo.toToken,null==r||null==(m=r.nativeToken)?void 0:m.contract)})}return{swapInfo:(new ke).updateSwapInfo({data:e.input,eventSwapInfo:y})||y,swapFailPairs:d}}(i,a,r,n[s])})}catch(e){return Promise.reject(e)}},a.calculatePoints=function(e){try{return Promise.resolve(function(e){return K({endpoint:"user/calculatePoints",data:e,method:Z})}(e))}catch(e){return Promise.reject(e)}},a.getDZapContractAddress=function(e){var t=e.chainId,a=e.service;try{return Promise.resolve(n.getChainConfig()).then(function(e){var n;if(!e[t].isEnabled||!e)throw new Error("Chains config not found");var r=e[t];if(null==r||!r.contracts)throw new Error("No contracts found for chain: "+t);var s=((n={})[I.trade]=r.contracts.router,n[I.dca]=r.contracts.dca,n[I.zap]=r.contracts.zap,n)[a];if(!s)throw new Error('Contract not found for service "'+a+'" on chain: '+t);return s})}catch(e){return Promise.reject(e)}},a.getAllowance=function(e){var t=e.chainId,a=e.sender,r=e.tokens,s=e.service,i=e.rpcUrls,p=e.spender,o=e.mode,u=void 0===o?O.AutoPermit:o;try{var d=this;return Promise.resolve(n.getChainConfig()).then(function(e){function n(n){var s,p=null==e||null==(s=e[t])?void 0:s.multicallAddress;return Promise.resolve(xt({chainId:t,sender:a,tokens:r,rpcUrls:i||L.getRpcUrlsByChainId(t),mode:u,spender:n,multicallAddress:p}))}return p?n(p):Promise.resolve(d.getDZapContractAddress({chainId:t,service:s})).then(n)})}catch(e){return Promise.reject(e)}},a.approve=function(n){var a=n.chainId,r=n.signer,s=n.tokens,i=n.approvalTxnCallback,p=n.service,o=n.mode,u=void 0===o?O.AutoPermit:o,d=n.rpcUrls,y=n.spender;try{var l=function(n){return Promise.resolve(function(n){var a,r,s,i,p,o,u=n.chainId,d=n.signer,y=n.rpcUrls,l=n.mode,m=n.tokens,c=n.approvalTxnCallback,T=n.spender;try{var f,b=function(t){return f?t:{status:e.TxnStatus.success,code:e.StatusCodes.Success}};l!==O.Default&&(T=ut(u));var v=(a=m,r=function(n){function a(t){if(f)return t;if(r.code!==e.StatusCodes.Success){var a,s={status:r.status,code:(null==(a=r)?void 0:a.code)||e.StatusCodes.FunctionNotFound};return f=1,s}return function(){if(c)return Promise.resolve(c({txnDetails:r,address:m[n].address})).then(function(t){if(t&&t!==e.TxnStatus.success){var n,a={status:r.status,code:(null==(n=r)?void 0:n.code)||e.StatusCodes.Error};return f=1,a}})}()}var r={status:e.TxnStatus.success,code:e.StatusCodes.Success,txnHash:""},s=Fe(d)?Promise.resolve(d.getAddress()).then(function(a){var r=t.encodeFunctionData({abi:xe,functionName:V.approve,args:[T,BigInt(m[n].amount)]});return Promise.resolve(d.sendTransaction({from:a,chainId:u,to:m[n].address,data:r})).then(function(){return f=1,{status:e.TxnStatus.success,code:e.StatusCodes.Success}})}):Promise.resolve(function(t){var n=t.chainId,a=t.contractAddress,r=t.abi,s=t.functionName,i=t.args,p=void 0===i?[]:i,o=t.value,u=void 0===o?"0":o,d=t.rpcUrls,y=void 0===d?[""]:d,l=t.signer;try{var m=Ee({chainId:n,rpcUrls:y});return Promise.resolve(function(t,n){try{var i=Promise.resolve(m.simulateContract({address:a,abi:r,functionName:s,args:p,account:l.account,value:BigInt(u)})).then(function(t){return Promise.resolve(l.writeContract(t.request)).then(function(t){return{txnHash:t,status:e.TxnStatus.success,code:e.StatusCodes.Success}})})}catch(e){return n(e)}return i&&i.then?i.then(void 0,n):i}(0,function(t){return console.log({e:t}),(null==t?void 0:t.code)===e.StatusCodes.UserRejectedRequest?{status:e.TxnStatus.rejected,code:null==t?void 0:t.code,txnHash:""}:{status:e.TxnStatus.error,code:null==t?void 0:t.code,txnHash:""}}))}catch(e){return Promise.reject(e)}}({chainId:u,contractAddress:m[n].address,abi:xe,functionName:V.approve,args:[T,m[n].amount],rpcUrls:y,signer:d})).then(function(e){r=e});return s&&s.then?s.then(a):a(s)},s=function(){return f},o=-1,function e(t){try{for(;++o<a.length&&(!s||!s());)if((t=r(o))&&t.then){if(!ht(t))return void t.then(e,p||(p=bt.bind(null,i=new vt,2)));t=t.v}i?bt(i,1,t):i=t}catch(e){bt(i||(i=new vt),2,e)}}(),i);return Promise.resolve(v&&v.then?v.then(b):b(v))}catch(e){return Promise.reject(e)}}({chainId:a,signer:r,rpcUrls:d||L.getRpcUrlsByChainId(a),tokens:s,approvalTxnCallback:i,mode:u,spender:n}))};return Promise.resolve(y?l(y):Promise.resolve(this.getDZapContractAddress({chainId:a,service:p})).then(l))}catch(e){return Promise.reject(e)}},a.sign=function(e){try{var t=function(t){return Promise.resolve(n.getChainConfig()).then(function(n){var a,s=(null==e?void 0:e.permitType)||U.AutoPermit,i=D({},e,{rpcUrls:(null==e?void 0:e.rpcUrls)||L.getRpcUrlsByChainId(r),permitType:s,spender:t,gasless:!1,contractVersion:(null==(a=n[r])?void 0:a.version)||c.v1});return Promise.resolve(Tt.signPermit(i))})},a=e.service,r=e.chainId,s=null==e?void 0:e.spender;return Promise.resolve(s?t(s):Promise.resolve(this.getDZapContractAddress({chainId:r,service:a})).then(t))}catch(e){return Promise.reject(e)}},a.zap=function(e){var t=e.request,n=e.steps,a=e.signer;try{return Promise.resolve(Ct.zap({request:t,steps:n,signer:a}))}catch(e){return Promise.reject(e)}},a.buildZapTxn=function(e){try{var t=this;return t.cancelTokenSource&&t.cancelTokenSource.cancel("Cancelled due to new request"),t.cancelTokenSource=v.default.CancelToken.source(),Promise.resolve(J(e,t.cancelTokenSource.token)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},a.getZapQuote=function(e){try{var t=this;return t.cancelTokenSource&&t.cancelTokenSource.cancel("Cancelled due to new request"),t.cancelTokenSource=v.default.CancelToken.source(),Promise.resolve(function(e,t){return Y({endpoint:"/quote",data:e,method:Z,cancelToken:t})}(e,t.cancelTokenSource.token)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},a.getZapTxnStatus=function(e){try{return Promise.resolve(function(e){return Y({endpoint:"/status",data:e,method:H})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},a.getBalances=function(e,t){try{return Promise.resolve(function(e,t){return K({endpoint:"token/balance-of",data:{chainId:e,account:t},method:H})}(e,t)).then(function(e){return e.result})}catch(e){return Promise.reject(e)}},a.sendBatchCalls=function(e){var t=e.walletClient,n=e.calls;try{return Promise.resolve(wt(t,n))}catch(e){return Promise.reject(e)}},a.getZapPositions=function(e){try{return Promise.resolve(function(e){return Y({endpoint:"/user/positions",data:e,method:H})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},a.getZapPools=function(e){try{return Promise.resolve(function(e){return Y({endpoint:"/pools",data:e,method:H})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},a.getZapPoolDetails=function(e){try{return Promise.resolve(function(e){return Y({endpoint:"/pool/details",data:e,method:H})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},a.getZapChains=function(){try{return Promise.resolve(Y({endpoint:"/config/chains",method:H})).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},a.getZapProviders=function(){try{return Promise.resolve(Y({endpoint:"/config/providers",method:H})).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},a.broadcastTradeTx=function(e){try{return Promise.resolve(Q(e))}catch(e){return Promise.reject(e)}},a.broadcastZapTx=function(t){try{return Promise.resolve(Ut(function(){return Promise.resolve(function(e){return Y({endpoint:"/broadcast",data:e,method:Z})}(t)).then(function(t){var n;if(t.status===e.TxnStatus.success)return{status:e.TxnStatus.success,txnHash:t.data.txnHash};throw new Error((null==(n=t.data)?void 0:n.message)||"Failed to broadcast zap transaction")})},function(){return{status:e.TxnStatus.error,message:"Failed to broadcast zap transaction"}}))}catch(e){return Promise.reject(e)}},n}();jt.instance=void 0,jt.chainConfig=null,jt.getOtherAbi=function(e){return function(e){switch(e){case w.permit2:return ge;case w.erc20:return xe;default:throw new Error("Invalid Abi")}}(e)},e.ApprovalModes=O,e.DZapClient=jt,e.OtherAbis=w,e.PermitTypes=U,e.QuoteFilters={fastest:"fastest",best:"best",all:"all"},e.STATUS={pending:"pending",inProgress:"in-progress",success:"success",rejected:"rejected",error:"error"},e.Services=I,e.SignatureExpiryInSecs=W,e.SwapInputDataDecoder=ke,e.checkEIP2612PermitSupport=Xe,e.contractErrorActions={TRY_ANOTHER_ROUTE:"TRY_ANOTHER_ROUTE",INCREASE_SLIPPAGE:"INCREASE_SLIPPAGE",INCREASE_ALLOWANCE:"INCREASE_ALLOWANCE"},e.erc20Functions=V,e.formatToken=ye,e.getTokensPairKey=Me,e.zapPathAction={swap:"swap",bridge:"bridge",deposit:"deposit",withdraw:"withdraw",stake:"stake",unstake:"unstake"},e.zapStepAction=Pt});
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|