@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.js CHANGED
@@ -1,2 +1,2 @@
1
- var e=require("viem"),t=require("axios"),n=require("ethers"),a=require("viem/chains"),r=require("viem/utils"),s=require("viem/actions"),i=require("decimal.js");function p(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,t}var u,d,y,l,m,c,T,f,b=/*#__PURE__*/p(t),v=/*#__PURE__*/o(a),h=/*#__PURE__*/p(i);!function(e){e.production="production",e.development="development"}(u||(u={})),function(e){e[e.PERMIT=0]="PERMIT",e[e.PERMIT2=1]="PERMIT2"}(d||(d={})),exports.DZapPermitMode=void 0,(y=exports.DZapPermitMode||(exports.DZapPermitMode={}))[y.PERMIT=0]="PERMIT",y[y.PERMIT2_APPROVE=1]="PERMIT2_APPROVE",y[y.PERMIT2_WITNESS_TRANSFER=2]="PERMIT2_WITNESS_TRANSFER",y[y.BATCH_PERMIT2_WITNESS_TRANSFER=3]="BATCH_PERMIT2_WITNESS_TRANSFER",function(e){e[e.PERMIT=0]="PERMIT",e[e.PERMIT2_TRANSFER_FROM=1]="PERMIT2_TRANSFER_FROM",e[e.PERMIT2_APPROVE=2]="PERMIT2_APPROVE"}(l||(l={})),function(e){e.v1="v1",e.v2="v2"}(m||(m={})),exports.TxnStatus=void 0,(c=exports.TxnStatus||(exports.TxnStatus={})).mining="mining",c.success="success",c.rejected="rejected",c.error="error",c.reverted="reverted",c.pendingWalletConfirmation="pendingWalletConfirmation",c.partialSuccess="partialSuccess",c.waitingForExecution="waitingForExecution",function(e){e.V1="v1",e.V1_2="v1.2",e.V2="v2"}(T||(T={})),exports.StatusCodes=void 0,(f=exports.StatusCodes||(exports.StatusCodes={}))[f.UserRejectedRequest=4001]="UserRejectedRequest",f[f.Success=200]="Success",f[f.FunctionNotFound=32771]="FunctionNotFound",f[f.Error=500]="Error",f[f.WalletRPCFailure=429]="WalletRPCFailure",f[f.SimulationFailure=417]="SimulationFailure",f[f.ContractExecutionError=-500]="ContractExecutionError";var x,g={permit2:"permit2",erc20:"erc20"},w={trade:"trade",dca:"dca",zap:"zap"},I="swap",A=e.encodeAbiParameters(e.parseAbiParameters("uint8, bytes"),[exports.DZapPermitMode.PERMIT,"0x"]),S=e.encodeAbiParameters(e.parseAbiParameters("uint8, bytes"),[exports.DZapPermitMode.PERMIT2_APPROVE,"0x"]);function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function P(){return P=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},P.apply(null,arguments)}function D(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}var k,C,E,M,F={name:"DZapVerifier",version:"1",salt:e.keccak256(e.encodePacked(["string"],["DZap-v0.1"]))},B="PermitWitnessTransferFrom",R="PermitBatchWitnessTransferFrom",N={PermitSingle:"PermitSingle",PermitWitnessTransferFrom:"PermitWitnessTransferFrom",PermitBatchWitnessTransferFrom:"PermitBatchWitnessTransferFrom",EIP2612Permit:"EIP2612Permit",AutoPermit:"AutoPermit"},U=((x={})[N.EIP2612Permit]=exports.DZapPermitMode.PERMIT,x[N.PermitSingle]=exports.DZapPermitMode.PERMIT2_APPROVE,x[N.PermitWitnessTransferFrom]=exports.DZapPermitMode.PERMIT2_WITNESS_TRANSFER,x[N.PermitBatchWitnessTransferFrom]=exports.DZapPermitMode.BATCH_PERMIT2_WITNESS_TRANSFER,x),j=P({},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}(N,["EIP2612Permit"]),{Default:"Default"}),O={name:"name",allowance:"allowance",approve:"approve",transfer:"transfer",transferFrom:"transferFrom",balanceOf:"balanceOf",decimals:"decimals",symbol:"symbol",version:"version",nonces:"nonces",domainSeparator:"DOMAIN_SEPARATOR"},V=1800,W="get",H="post",Z=/*#__PURE__*/function(){function e(e){var t=this;this.axiosInstance=void 0,this.axiosInstance=b.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}();Z.instances=new Map,"undefined"!=typeof process&&process.env&&(k=process.env.REACT_APP_ENV||process.env.NEXT_PUBLIC_APP_ENV||process.env.NODE_ENV,C=process.env.REACT_APP_BASE_API_URL||process.env.NEXT_PUBLIC_BASE_API_URL||process.env.BASE_API_URL,E=process.env.REACT_APP_ZAP_API_URL||process.env.NEXT_PUBLIC_ZAP_API_URL||process.env.ZAP_API_URL,M=process.env.REACT_APP_DZAP_API_KEY||process.env.NEXT_PUBLIC_DZAP_API_KEY||process.env.DZAP_API_KEY);var q=function(){var e={apiKey:M||null,rpcUrlsByChainId:{},eip2612DisabledChains:[747474],appEnv:k||u.development,baseApiUrl:C||"https://api.dzap.io",zapApiUrl:E||"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}}}(),L=Z.getInstance(q.getBaseUrl()),z=Z.getInstance(q.getBaseZapUrl()),G=function(e){var t=e.endpoint,n=e.data,a=e.method,r=void 0===a?H:a,s=e.cancelToken,i=e.shouldRetry,p=void 0!==i&&i;try{var o=q.getApiKey(),u={method:r,url:t,data:r===W?void 0:n,params:r===W?n:void 0,headers:P({"Content-Type":"application/json"},o?{"x-api-key":o}:{}),cancelToken:s,shouldRetry:p};return Promise.resolve(L(u).then(function(e){return e.data}).catch(function(e){return Promise.reject(e)}))}catch(e){return Promise.reject(e)}},K=function(e){var t=e.endpoint,n=e.data,a=e.method,r=void 0===a?H:a,s=e.cancelToken,i=e.shouldRetry,p=void 0!==i&&i;try{var o=q.getApiKey(),u={method:r,url:t,data:r===W?void 0:n,params:r===W?n:void 0,headers:P({"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){return G({endpoint:"/buildTx",data:e,method:H})},X=function(e){return G({endpoint:"/broadcast",data:e,method:H})},Q=function(e,t){return K({endpoint:"/buildTx",data:e,method:H,cancelToken:t})},J=function(){return G({endpoint:"chains",data:{},method:W,shouldRetry:!0})},$=function(e,t,n){return G({endpoint:"token/tokens",data:{chainId:e,source:t,account:n},method:W,shouldRetry:!0})},ee=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 G({endpoint:"token/details",data:s,method:W})},te="undefined"!=typeof process&&process.versions&&process.versions.node,ne=null;if(te)try{ne=require("node-cache")}catch(e){ne=null}var ae=/*#__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}(),re=/*#__PURE__*/function(){function e(){this.client=void 0,this.client=te&&ne?new ne({checkperiod:10,deleteOnExpire:!0}):new ae}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,D(a.key),a)}}(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n}();re._instance=void 0;var se=["0x0000000000000000000000000000000000001010","0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE","0x0000000000000000000000000000000000000000","0x000000000000000000000000000000000000800A","11111111111111111111111111111111","0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000","EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c","0x000000000000000000000000000000000000aA09","0x2::sui::SUI","0x1::aptos_coin::AptosCoin","0x0000000000000000000000000000000000001000"],ie="dZap",pe="defiLlama",oe="coingecko",ue=function(e,t){return!!t&&Object.values(t).some(function(t){return t.isEnabled&&t.nativeToken.contract===e})},de=function(t,n){return void 0===n&&(n=e.zeroAddress),e.isAddress(t)?se.includes(t)?n:e.getAddress(t):t},ye=function(){var e=this;this.id=oe,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(G({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:W})).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 G({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:W});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!ue(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}())}},le=/*#__PURE__*/function(){function e(){var e=this;this.id=pe,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(G({endpoint:(s=i,"https://coins.llama.fi/prices/current/"+s.join(",")),method:W})).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?ue(e,n)?s.chainKey+":"+s.nativeTokenKey:s.chainKey+":"+e:r+":"+e})},e}(),me=function(){this.id=ie,this.requiresChainConfig=!1,this.fetchPrices=function(e,t){try{return Promise.resolve(function(n,a){try{var r=Promise.resolve(function(e,t){return G({endpoint:"token/price",data:{tokenAddresses:e,chainId:t},method:W})}(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 ce="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function Te(e,t,n){if(!e.s){if(n instanceof fe){if(!n.s)return void(n.o=Te.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(Te.bind(null,e,t),Te.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var fe=/*#__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{Te(a,1,s(this.v))}catch(e){Te(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?Te(a,1,t?t(r):r):n?Te(a,1,n(r)):Te(a,2,r)}catch(e){Te(a,2,e)}},a},e}();function be(e){return e instanceof fe&&1&e.s}var ve=/*#__PURE__*/function(){function e(){this.providers=void 0,this.providers=this.initailizeProviders()}var t=e.prototype;return t.initailizeProviders=function(){return new Map([[ie,new me],[pe,new le],[oe,new ye]])},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&&re.set(y,P({},l,m),900),P({},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=re.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[ce]){var a,r,s,i=function(e){try{for(;!((a=p.next()).done||n&&n());)if((e=t(a.value))&&e.then){if(!be(e))return void e.then(i,s||(s=Te.bind(null,r=new fe,2)));e=e.v}r?Te(r,1,e):r=e}catch(e){Te(r||(r=new fe),2,e)}},p=e[ce]();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(!be(p))return void p.then(i,r||(r=Te.bind(null,a=new fe,2)));p=p.v}a?Te(a,1,p):a=p}catch(e){Te(a||(a=new fe),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}(),he=[{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"}],ge=[{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:[]}],we=[{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"}],Ie=[{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"}],Ae=e.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}}}),Se=[e.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}}}),Ae,e.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"]}}}),e.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"]}}}),e.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"]}}})],_e=[].concat(Object.values(v),Se).reduce(function(e,t){var n;return t.id?P({},e,((n={})[t.id]=t,n)):e},{}),Pe={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"}]},De=function(){var e=this;this.decodeSingleSwapData=function(e){var t,n=r.decodeFunctionData({data:e,abi:Pe.SingleSwap});return[null==n||null==(t=n.args)?void 0:t[4]]},this.decodeMultiSwapData=function(e){var t,n=r.decodeFunctionData({data:e,abi:Pe.MultiSwapAbi});return null==n||null==(t=n.args)?void 0:t[4]},this.decodeBatchPermitSwapData=function(e){var t,n=r.decodeFunctionData({data:e,abi:Pe.BatchPermitSwapAbi});return null==n||null==(t=n.args)||null==(t=t[5])?void 0:t.permitted},this.decodeGaslessExecuteMultiSwapData=function(e){var t,n=r.decodeFunctionData({data:e,abi:Pe.GaslessExecuteMultiSwapAbi});return null==n||null==(t=n.args)?void 0:t[7]},this.decodeGaslessExecuteMultiSwapWithWitnessData=function(e){var t,n=r.decodeFunctionData({data:e,abi:Pe.GaslessExecuteMultiSwapWithWitnessAbi});return null==n||null==(t=n.args)?void 0:t[7]},this.decodeGaslessExecuteSwapData=function(e){var t,n=r.decodeFunctionData({data:e,abi:Pe.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[de(t.token)]=t.amount,e},{});if(Array.isArray(a))return a.map(function(e){var t=de(e.fromToken);return P({},e,{fromAmount:o[t]||e.fromAmount})});var u=de(a.fromToken);return P({},a,{fromAmount:o[u]||a.fromAmount})}catch(e){return a}}},ke={batch:{wait:1e3},retryDelay:500},Ce=function(t){var n=t.rpcUrls,a=t.chainId,r=n&&Array.isArray(n)&&n.length>0;return e.createPublicClient({chain:_e[a],transport:e.fallback(r?n.map(function(t){return e.http(t,ke)}):[e.http()]),batch:{multicall:{wait:1e3}}})};function Ee(t){var n=t.destToken,a=t.destChainId,r=t.srcChainNativeAddress,s=t.destChainNativeAddress,i=void 0===s?e.zeroAddress:s;return t.srcChainId+"_"+de(t.srcToken,void 0===r?e.zeroAddress:r)+"-"+a+"_"+de(n,i)}BigInt(15),BigInt(10);var Me=function(e){return e instanceof n.Signer},Fe=function(e){return"0x0000000000000000000000000000000000000000"===e},Be=function(e,t){switch(e){case w.trade:switch(t){case m.v1:return ge;case m.v2:return we;default:throw new Error("Invalid Version for Trade")}case w.dca:return Ie;default:throw new Error("Invalid Service")}},Re="BridgeCallFailed",Ne=function(e){return Boolean(e)&&e.isAxiosError},Ue=function(t){var n,a,r=t.error;if((null==r?void 0:r.code)===exports.StatusCodes.WalletRPCFailure||(null==r||null==(n=r.cause)?void 0:n.code)===exports.StatusCodes.WalletRPCFailure)return{error:r,errorMsg:"Too many requests, failure on user wallet",code:exports.StatusCodes.WalletRPCFailure,status:exports.TxnStatus.error};if((null==r?void 0:r.code)===exports.StatusCodes.UserRejectedRequest||(null==r||null==(a=r.cause)?void 0:a.code)===exports.StatusCodes.UserRejectedRequest)return{error:r,errorMsg:"Rejected by User",code:exports.StatusCodes.UserRejectedRequest,status:exports.TxnStatus.rejected};var s,i=r.shortMessage,p=(s=r.metaMessages[0].match(/Error: (\w+)/))?s[1]:null;if(p==Re){var o=r.metaMessages[1];try{o=function(t){if(t.length<68)return t;var n="0x"+t.slice(10);return e.decodeAbiParameters(e.parseAbiParameters("string"),n)[0]}(r.metaMessages[1].match(/\((.*?)\)/)[1])}catch(e){}i=Re+" : "+o}else p&&(i=p);return{status:exports.TxnStatus.error,error:r,errorMsg:i,code:exports.StatusCodes.ContractExecutionError}},je=function(){};je.sendTransaction=function(e){var t=e.chainId,n=e.signer,a=e.from,r=e.to,s=e.data,i=e.value;try{return Promise.resolve(function(e,p){try{var o=Me(n)?(console.log("Using ethers signer."),Promise.resolve(n.sendTransaction({from:a,to:r,data:s,value:i})).then(function(e){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e.hash}})):(console.log("Using viem walletClient."),Promise.resolve(n.sendTransaction({chain:_e[t],account:a,to:r,data:s,value:BigInt(i)})).then(function(e){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e}}))}catch(e){return p(e)}return o&&o.then?o.then(void 0,p):o}(0,function(e){return console.log({error:e}),Ue({error:e})}))}catch(e){return Promise.reject(e)}};var Oe,Ve={Permit:[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},We={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"}]},He={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"}]},Ze={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"}]},qe=function(e){var t=Math.floor(Date.now()/1e3);return BigInt(t+e)},Le=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=Me(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)}},ze=[{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"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"}],Ge=function(e){var t=e.chainId,n=e.contracts,a=e.rpcUrls,r=e.multicallAddress,s=e.allowFailure,i=void 0!==s&&s;try{return Promise.resolve(function(e,s){try{var p=(o=Ce({chainId:t,rpcUrls:a}),Promise.resolve(o.multicall(P({contracts:n},r&&{multicallAddress:r},{allowFailure:i}))).then(function(e){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,data:e}}))}catch(e){return s(e)}var o;return p&&p.then?p.then(void 0,s):p}(0,function(e){return console.error("Multicall failed:",e),{status:exports.TxnStatus.error,code:e.code||exports.StatusCodes.Error,data:[]}}))}catch(e){return Promise.reject(e)}},Ke=q.getEip2612DisabledChains(),Ye=function(e){var t=e.address,n=e.chainId,a=e.rpcUrls,r=e.owner,s=e.permit;try{var i;return!1===(null==s||null==(i=s.eip2612)?void 0:i.supported)||Ke.includes(n)?Promise.resolve({supportsPermit:!1}):Promise.resolve(Ge({chainId:n,contracts:[{address:t,abi:ze,functionName:O.domainSeparator},{address:t,abi:ze,functionName:O.nonces,args:[r]},{address:t,abi:ze,functionName:O.version},{address:t,abi:ze,functionName:O.name}],rpcUrls:a,allowFailure:!0})).then(function(e){if(e.status!==exports.TxnStatus.success)return{supportsPermit:!1};var t=e.data,n=t[1],a=t[2],r=t[3];return t[0].status!==exports.TxnStatus.success||n.status!==exports.TxnStatus.success||r.status!==exports.TxnStatus.success?{supportsPermit:!1}:{supportsPermit:!0,data:{version:a.status===exports.TxnStatus.success?a.result:"1",name:r.result,nonce:n.result}}})}catch(e){return Promise.reject(e)}},Xe=((Oe={})[324]="0x0000000000225e31D15943971F47aD3022F714Fa",Oe[10242]="0x5Aeec43fF96b9B6c5a1dC1DAdA662ACE3c236C49",Oe[6001]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Oe[5115]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Oe[996]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Oe[14]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Oe[8822]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Oe[42766]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Oe[5165]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Oe[2741]="0x0000000000225e31D15943971F47aD3022F714Fa",Oe[232]="0x0000000000225e31D15943971F47aD3022F714Fa",Oe),Qe={typeName:"DZapTransferWitness",type:{DZapTransferWitness:[{name:"owner",type:"address"},{name:"recipient",type:"address"}]}},Je={typeName:"DZapSwapWitness",type:{DZapSwapWitness:[{name:"txId",type:"bytes32"},{name:"user",type:"address"},{name:"executorFeesHash",type:"bytes32"},{name:"swapDataHash",type:"bytes32"}]}},$e={typeName:"DZapBridgeWitness",type:{DZapBridgeWitness:[{name:"txId",type:"bytes32"},{name:"user",type:"address"},{name:"executorFeesHash",type:"bytes32"},{name:"swapDataHash",type:"bytes32"},{name:"adapterDataHash",type:"bytes32"}]}},et=[{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 tt(e,t){return{name:"Permit2",chainId:t,verifyingContract:e}}var nt=[{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 at(e,t,n){if(!e.s){if(n instanceof rt){if(!n.s)return void(n.o=at.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(at.bind(null,e,t),at.bind(null,e,2));e.s=t,e.v=n;const a=e.o;a&&a(e)}}var rt=/*#__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{at(a,1,s(this.v))}catch(e){at(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?at(a,1,t?t(r):r):n?at(a,1,n(r)):at(a,2,r)}catch(e){at(a,2,e)}},a},e}();function st(e){return e instanceof rt&&1&e.s}var it=/*#__PURE__*/function(){function t(t,n){this.permit2Contract=void 0,this.permit2Contract=e.getContract({address:n,abi:he,client:t})}var n=t.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(st(r)&&(r=r.v),!r)return s;if(r.then){a=0;break}var s=n();if(s&&s.then){if(!st(s)){a=1;break}s=s.s}if(t){var i=t();if(i&&i.then&&!st(i)){a=2;break}}}var p=new rt,o=at.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&&!st(i))return void i.then(y).then(void 0,o);if(!(r=e())||st(r)&&!r.v)return void at(p,1,s);if(r.then)return void r.then(d).then(void 0,o);st(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):at(p,1,s)}function y(){(r=e())?r.then?r.then(d).then(void 0,o):d(r):at(p,1,s)}}(function(){return!a&&o<t.MAX_WORD_ITERATIONS},function(){return o++},function(){return Promise.resolve(s.permit2Contract.read.nonceBitmap([n,i])).then(function(n){if(n===e.maxUint256)return++i,void(p=0);var r=n;for(0!==p&&(r>>=BigInt(p));p<t.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(e,n){return e<<t.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(e,n){try{var a=n>>t.POSITION_BITS,r=Number(n&t.POSITION_MASK);return Promise.resolve(this.getNonceBitmap(e,a)).then(function(e){return(e>>BigInt(r)&BigInt(1))===BigInt(1)})}catch(e){return Promise.reject(e)}},t}();it.POSITION_BITS=BigInt(8),it.MAX_POSITION=256,it.POSITION_MASK=BigInt(255),it.MAX_WORD_ITERATIONS=1e3;var pt=function(e,t,n,a){try{var r=Ce({chainId:n,rpcUrls:a}),s=new it(r,e);return Promise.resolve(s.nextNonce(t))}catch(e){return Promise.reject(e)}};function ot(e){var t;return null!=(t=Xe[e])?t:"0x000000000022D473030F116dDEE9F6B43aC78BA3"}var ut,dt=function(t){try{return Promise.resolve(function(n,a){try{var r=(i=t.chainId,p=t.account,o=t.tokens,u=t.spender,d=t.rpcUrls,c=t.signer,T=t.permitType,f=t.firstTokenNonce,b=t.contractVersion,v=t.service,h=null!=(y=t.deadline)?y:qe(V),x=null!=(s=t.expiration)?s:e.maxUint48,g=ot(i),A=o.map(function(t){return P({},t,{amount:BigInt(t.amount||e.maxUint256).toString()})}),S=function(e){var t=e.account;return{witnessData:e.gasless&&e.swapDataHash?e.txType===I?{witness:{txId:e.txId,user:t,executorFeesHash:e.executorFeesHash,swapDataHash:e.swapDataHash},witnessTypeName:Je.typeName,witnessType:Je.type}:{witness:{txId:e.txId,user:t,executorFeesHash:e.executorFeesHash,swapDataHash:e.swapDataHash,adapterDataHash:e.adapterDataHash},witnessTypeName:$e.typeName,witnessType:$e.type}:{witness:{owner:t,recipient:e.spender},witnessTypeName:Qe.typeName,witnessType:Qe.type}}}(t),_=S.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=Ce({chainId:a,rpcUrls:r});return Promise.resolve(u.readContract({address:o,abi:nt,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)}}(P({},e,{token:e.tokens[0],expiration:e.expiration}));case B: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(pt(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)}}(P({},e,{token:e.tokens[0]}));case R: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(pt(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:T,spender:u,account:p,deadline:h,chainId:i,permit2Address:g,rpcUrls:d,tokens:A,expiration:x,firstTokenNonce:null!=f?f:null,service:v,contractVersion:b})).then(function(t){var n=t.nonce,a=function(e,t,n,a){if(function(e){return"details"in e&&void 0!==e.details}(e))return function(e,t,n){return{domain:tt(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:tt(t,n),types:P({},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:tt(t,n),types:P({},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:P({},e,{witness:a.witness})}}(e,t,n,a)}(t.permit2Values,g,i,_);return Promise.resolve(Le({signer:c,domain:a.domain,message:a.message,types:a.types,account:p,primaryType:T})).then(function(t){var a;a=T===R?e.encodeAbiParameters(et,[{permitted:A.map(function(e){return{token:e.address,amount:BigInt(e.amount)}}),nonce:n,deadline:h},t]):T===B?e.encodeAbiParameters(e.parseAbiParameters("uint256, uint256, bytes"),[n,h,t]):b===m.v1&&v!==w.zap?e.encodeAbiParameters(e.parseAbiParameters("uint160 allowanceAmount, uint48 nonce, uint48 expiration, uint256 sigDeadline, bytes signature"),[BigInt(o[0].amount),Number(n.toString()),Number(x.toString()),BigInt(h.toString()),t]):e.encodeAbiParameters(e.parseAbiParameters("uint48 nonce, uint48 expiration, uint256 sigDeadline, bytes signature"),[Number(n.toString()),Number(x.toString()),BigInt(h.toString()),t]);var r=v!==w.zap&&b===m.v1?l.PERMIT2_APPROVE:U[T],s=e.encodeAbiParameters(e.parseAbiParameters("uint8, bytes"),[r,a]);return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,permitData:s,nonce:n}})}))}catch(e){return a(e)}var s,i,p,o,u,d,y,c,T,f,b,v,h,x,g,A,S,_;return r&&r.then?r.then(void 0,a):r}(0,function(e){var t;return console.log("Error generating permit2 witness transfer signature:",e),(null==e||null==(t=e.cause)?void 0:t.code)===exports.StatusCodes.UserRejectedRequest||(null==e?void 0:e.code)===exports.StatusCodes.UserRejectedRequest?{status:exports.TxnStatus.rejected,code:exports.StatusCodes.UserRejectedRequest}:{status:exports.TxnStatus.error,code:exports.StatusCodes.Error}}))}catch(e){return Promise.reject(e)}};function yt(e,t,n){if(!e.s){if(n instanceof lt){if(!n.s)return void(n.o=yt.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(yt.bind(null,e,t),yt.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var lt=/*#__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{yt(a,1,s(this.v))}catch(e){yt(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?yt(a,1,t?t(r):r):n?yt(a,1,n(r)):yt(a,2,r)}catch(e){yt(a,2,e)}},a},e}();function mt(e){return e instanceof lt&&1&e.s}var ct=function(){};function Tt(t){return e.encodeFunctionData({abi:xe,functionName:O.approve,args:[t.spender,t.amount]})}function ft(e,t,n){if(!e.s){if(n instanceof bt){if(!n.s)return void(n.o=ft.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(ft.bind(null,e,t),ft.bind(null,e,2));e.s=t,e.v=n;const a=e.o;a&&a(e)}}ut=ct,ct.generateBatchPermitDataForTokens=function(e){try{return Promise.resolve(dt(e)).then(function(e){return P({},e,{permitType:N.PermitBatchWitnessTransferFrom})})}catch(e){return Promise.reject(e)}},ct.generatePermitDataForToken=function(t){try{var a=t.token,r=t.oneToMany,s=t.totalSrcAmount,i=t.chainId,p=t.rpcUrls,o=t.permitType,u=t.account,d=0===a.index;if(Fe(a.address))return Promise.resolve({status:exports.TxnStatus.success,code:exports.StatusCodes.Success,permitData:A,nonce:BigInt(0),permitType:N.EIP2612Permit});var y=r&&d?s:BigInt(a.amount);return Promise.resolve(Ye({address:a.address,chainId:i,rpcUrls:p,owner:u,permit:a.permit})).then(function(s){if(o===N.EIP2612Permit||o===N.AutoPermit&&s.supportsPermit){if(!s.supportsPermit||!s.data)throw new Error("Token does not support EIP-2612 permits");return r&&!d?{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,permitData:A,nonce:BigInt(0),permitType:N.EIP2612Permit}:Promise.resolve(function(t){try{return Promise.resolve(function(a,r){try{var s=function(){var a,r,s=t.chainId,i=t.spender,p=t.account,o=t.token,u=t.signer,d=t.contractVersion,y=t.service,l=t.name,c=t.nonce,T=t.version,f=t.deadline,b=void 0===f?qe(V):f,v=o.address,h=o.amount?BigInt(o.amount):e.maxUint256,x=null!=o&&null!=(a=o.permit)&&null!=(a=a.eip2612)&&null!=(a=a.data)&&a.domain?null==o||null==(r=o.permit)||null==(r=r.eip2612)||null==(r=r.data)?void 0:r.domain:{name:l,version:T,chainId:s,verifyingContract:v};return Promise.resolve(Le({signer:u,domain:x,message:{owner:p,spender:i,value:h,nonce:c,deadline:b},types:Ve,account:p,primaryType:"Permit"})).then(function(t){var a=n.ethers.utils.splitSignature(t),r=d===m.v1&&y!==w.zap?n.ethers.utils.defaultAbiCoder.encode(["address","address","uint256","uint256","uint8","bytes32","bytes32"],[p,i,h,b,a.v,a.r,a.s]):n.ethers.utils.defaultAbiCoder.encode(["uint256","uint8","bytes32","bytes32"],[b,a.v,a.r,a.s]),s=e.encodeAbiParameters(e.parseAbiParameters("uint8, bytes"),[exports.DZapPermitMode.PERMIT,r]);return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,permitData:s}})}()}catch(e){return r(e)}return s&&s.then?s.then(void 0,r):s}(0,function(e){var t;return console.log("Error generating permit signature:",e),(null==e||null==(t=e.cause)?void 0:t.code)===exports.StatusCodes.UserRejectedRequest||(null==e?void 0:e.code)===exports.StatusCodes.UserRejectedRequest?{status:exports.TxnStatus.rejected,code:exports.StatusCodes.UserRejectedRequest}:{status:exports.TxnStatus.error,code:exports.StatusCodes.Error}}))}catch(e){return Promise.reject(e)}}(P({},t,{token:{address:a.address,amount:y.toString(),index:0,permit:a.permit},gasless:!1,version:s.data.version,name:s.data.name,nonce:s.data.nonce}))).then(function(e){return{status:e.status,code:e.code,permitData:e.permitData,nonce:BigInt(0),permitType:N.EIP2612Permit}})}var i=o===N.AutoPermit?N.PermitWitnessTransferFrom:o;return r&&!d?{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,permitData:S,nonce:BigInt(0),permitType:i}:Promise.resolve(dt(P({},t,{tokens:[a],permitType:i}))).then(function(e){return P({},e,{permitType:i})})})}catch(e){return Promise.reject(e)}},ct.signGaslessUserIntent=function(t){try{var n,a=function(e){return n?e:Promise.resolve(dt(P({},t,{tokens:r.map(function(e,t){return P({},e,{index:t})}),account:s,permitType:p}))).then(function(e){return{status:e.status,code:e.code,data:e.permitData&&{type:p,batchPermitData:e.permitData}}})},r=t.tokens,s=t.sender,i=t.permitType,p=i===N.AutoPermit?N.PermitBatchWitnessTransferFrom:i,o=function(){if(p===N.EIP2612Permit)return Promise.resolve(function(t){try{return Promise.resolve(function(n,a){try{var r=(s=t.chainId,i=t.spender,p=t.account,o=t.signer,u=t.rpcUrls,d=t.deadline||qe(V),y=e.getContract({abi:Be("trade",t.contractVersion),address:i,client:Ce({chainId:s,rpcUrls:u})}),Promise.resolve(y.read.getNonce([p])).then(function(e){var n={name:F.name,version:F.version,chainId:s,verifyingContract:i,salt:F.salt},a=function(e){var t=e.account,n=e.deadline,a=e.nonce;return e.txType===I?{message:{txId:e.txId,user:t,executorFeesHash:e.executorFeesHash,swapDataHash:e.swapDataHash,nonce:a,deadline:n},types:We,primaryType:"SignedGasLessSwapData"}:e.swapDataHash?{message:{txId:e.txId,user:t,nonce:a,deadline:n,executorFeesHash:e.executorFeesHash,swapDataHash:e.swapDataHash,adapterDataHash:e.adapterDataHash},types:Ze,primaryType:"SignedGasLessSwapBridgeData"}:{message:{txId:e.txId,user:t,nonce:a,deadline:n,executorFeesHash:e.executorFeesHash,adapterDataHash:e.adapterDataHash},types:He,primaryType:"SignedGasLessBridgeData"}}(P({},t,{deadline:d,nonce:e}));return Promise.resolve(Le({signer:o,domain:n,message:a.message,types:a.types,account:p,primaryType:a.primaryType})).then(function(t){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,data:{signature:t,nonce:e,deadline:d}}})}))}catch(e){return a(e)}var s,i,p,o,u,d,y;return r&&r.then?r.then(void 0,a):r}(0,function(e){return Ue({error:e})}))}catch(e){return Promise.reject(e)}}(P({},t,{account:s}))).then(function(e){var t={status:e.status,code:e.code,data:(null==e?void 0:e.data)&&P({},e.data,{type:p})};return n=1,t})}();return Promise.resolve(o&&o.then?o.then(a):a(o))}catch(e){return Promise.reject(e)}},ct.v1PermitSupport=function(e){return e.contractVersion===m.v1&&e.service!==w.zap},ct.shouldUseBatchPermit=function(e){var t=e.permitType,n=e.isBatchPermitAllowed,a=void 0===n||n,r=e.tokens,s=t===N.PermitBatchWitnessTransferFrom,i=t===N.AutoPermit&&(null==r?void 0:r.length)>1&&!e.oneToMany,p=!ut.v1PermitSupport({contractVersion:e.contractVersion,service:e.service});return a&&(s||i)&&p},ct.signPermit=function(e){try{var t,n=e.tokens;if(0===n.length)return Promise.resolve({status:exports.TxnStatus.success,code:exports.StatusCodes.Success,tokens:n,permitType:e.permitType});var a=n.length>1&&n[0].address===n[1].address;if(ut.shouldUseBatchPermit({permitType:e.permitType,isBatchPermitAllowed:e.isBatchPermitAllowed,tokens:n,oneToMany:a,contractVersion:e.contractVersion,service:e.service}))return Promise.resolve(ut.generateBatchPermitDataForTokens(P({},e,{tokens:n.map(function(e,t){return P({},e,{index:t})}),account:e.sender,permitType:N.PermitBatchWitnessTransferFrom}))).then(function(t){function a(){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,batchPermitData:t.permitData,permitType:t.permitType}}if(t.status!==exports.TxnStatus.success)return{status:t.status,code:t.code,permitType:N.PermitBatchWitnessTransferFrom};var r=function(){if(e.signatureCallback)return Promise.resolve(e.signatureCallback({batchPermitData:t.permitData,tokens:n,permitType:t.permitType})).then(function(){})}();return r&&r.then?r.then(a):a()});var r=function(e){return t?e:{status:exports.TxnStatus.success,tokens:n,code:exports.StatusCodes.Success,permitType:p}},s=n.reduce(function(e,t){return e+BigInt(t.amount)},BigInt(0)),i=null,p=ut.v1PermitSupport({contractVersion:e.contractVersion,service:e.service})?N.PermitSingle:e.permitType,o=(u=n,d=function(r){var o=0===r;return Promise.resolve(ut.generatePermitDataForToken(P({},e,{token:P({},n[r],{index:r}),firstTokenNonce:null!=i?i:void 0,oneToMany:a,totalSrcAmount:s,account:e.sender,permitType:p}))).then(function(u){var d;if(p=u.permitType,u.status!==exports.TxnStatus.success)return t=1,{status:u.status,code:u.code,permitType:u.permitType};n[r].permitData=u.permitData,o&&!Fe(n[r].address)&&(i=null!=(d=u.nonce)?d:null);var y=function(){if(e.signatureCallback&&!Fe(n[r].address)){var t=a&&o?s:BigInt(n[r].amount);return Promise.resolve(e.signatureCallback({permitData:u.permitData,srcToken:n[r].address,amount:t.toString(),permitType:u.permitType})).then(function(){})}}();return y&&y.then?y.then(function(){}):void 0})},y=function(){return t},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=yt.bind(null,l=new lt,2)));t=t.v}l?yt(l,1,t):l=t}catch(e){yt(l||(l=new lt),2,e)}}(),l);return Promise.resolve(o&&o.then?o.then(r):r(o))}catch(e){return Promise.reject(e)}var u,d,y,l,m,c};var bt=/*#__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{ft(a,1,s(this.v))}catch(e){ft(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?ft(a,1,t?t(r):r):n?ft(a,1,n(r)):ft(a,2,r)}catch(e){ft(a,2,e)}},a},e}();function vt(e){return e instanceof bt&&1&e.s}var ht,xt=function(t){var n=t.chainId,a=t.sender,r=t.tokens,s=t.rpcUrls,i=t.multicallAddress,p=t.mode,o=t.spender;try{var u={},d=r.filter(function(e){return Fe(e.address)}),y=r.filter(function(e){return!Fe(e.address)});return Promise.resolve(Promise.all(y.map(function(e){var t=e.address,r=e.amount,i=e.permit;try{if(p===j.AutoPermit)return Promise.resolve(Ye({address:t,chainId:n,rpcUrls:s,owner:a,permit:i})).then(function(e){return{token:t,spender:e.supportsPermit?o:ot(n),amount:r,isEIP2612PermitSupported:e.supportsPermit,isDefaultApprovalMode:!1}});if(p===j.Default)return Promise.resolve({token:t,spender:o,amount:r,isDefaultApprovalMode:!0});var u=ot(n);return Promise.resolve({token:t,spender:u,amount:r,isDefaultApprovalMode:!1})}catch(e){return Promise.reject(e)}}))).then(function(t){for(var r,p=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 _(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)?_(e,t):void 0}}(e))){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(d);!(r=p()).done;)u[r.value.address]={allowance:e.maxUint256,approvalNeeded:!1,signatureNeeded:!1};return 0===y.length?{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,data:u}:function(r,p){try{var o=Promise.resolve(function(e){var t=e.chainId,n=e.data,a=e.owner,r=e.multicallAddress,s=e.rpcUrls;try{var i=n.map(function(e){return{address:e.token,abi:xe,functionName:O.allowance,args:[a,e.spender]}});return Promise.resolve(Ge({chainId:t,contracts:i,rpcUrls:s,multicallAddress:r,allowFailure:!1})).then(function(e){var t=e.status,a=e.code,r=e.data;if(t!==exports.TxnStatus.success)return{status:t,code:a,data:{}};for(var s={},i=0;i<n.length;i++)s[n[i].token]=r[i];return{status:t,code:a,data:s}})}catch(e){return Promise.reject(e)}}({chainId:n,data:t,owner:a,multicallAddress:i,rpcUrls:s})).then(function(n){for(var a=n.data,r=0;r<t.length;r++){var s=t[r],i=s.token,p=s.isEIP2612PermitSupported,o=s.isDefaultApprovalMode,d=p?e.maxUint256:a[i],y=!p&&d<BigInt(s.amount);u[i]={allowance:d,approvalNeeded:y,signatureNeeded:!o}}return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,data:u}})}catch(e){return p(e)}return o&&o.then?o.then(void 0,p):o}(0,function(e){return console.error("Multicall allowance check failed:",e),{status:exports.TxnStatus.error,code:exports.StatusCodes.Error,data:u}})})}catch(e){return Promise.reject(e)}},gt=function(e,t){try{return Promise.resolve(function(n,a){try{var i=Promise.resolve(r.getAction(e,s.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 i&&i.then?i.then(void 0,a):i}(0,function(e){return console.warn("EIP-5792 batch calls not supported:",e),null}))}catch(e){return Promise.reject(e)}},wt=function(e,t){try{return Promise.resolve(r.getAction(e,s.waitForCallsStatus,"waitForCallsStatus")({id:t,timeout:864e5})).then(function(e){var t=e.receipts,n=e.statusCode;if(e.status===exports.TxnStatus.success){if(null==t||!t.length||!t.every(function(e){return e.transactionHash})||t.some(function(e){return e.status===exports.TxnStatus.reverted}))throw new Error("Transaction was reverted.");return t[t.length-1]}if(n>=400&&n<500)throw new Error("Transaction was canceled.");throw new Error("Transaction failed.")})}catch(e){return Promise.reject(e)}};function It(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}var At=function(){};ht=At,At.sendTransaction=function(e,t,n,a,r){try{var s,i=function(){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:s,additionalInfo:a,updatedQuotes:r}},p=Me(e)?Promise.resolve(e.sendTransaction({from:t.from,to:t.to,data:t.data,value:t.value,gasLimit:t.gasLimit})).then(function(e){s=e.hash}):Promise.resolve(e.sendTransaction({chain:_e[n],account:t.from,to:t.to,data:t.data,value:BigInt(t.value)})).then(function(e){s=e});return Promise.resolve(p&&p.then?p.then(i):i())}catch(e){return Promise.reject(e)}},At.sendTxnWithBatch=function(e,t,n,a,r,s,i,p){try{return Promise.resolve(function(e){var t=e.tokens,n=e.chainId,a=e.sender,r=e.spender,s=e.multicallAddress,i=e.rpcUrls;try{var p=t.filter(function(e){return!Fe(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:Tt({spender:r,amount:BigInt(e.amount)}),value:BigInt(0)}})})}catch(e){return Promise.reject(e)}}({tokens:e.data.map(function(e){return{address:e.srcToken,amount:e.amount}}),chainId:a,multicallAddress:i,sender:n.from,spender:n.to,rpcUrls:p})).then(function(e){var i=[].concat(e,[{to:n.to,data:n.data,value:BigInt(n.value)}]);return 0===e.length?ht.sendTransaction(t,n,a,r,s):Promise.resolve(gt(t,i)).then(function(e){return e?(console.log("Waiting for batch transaction completion..."),Promise.resolve(wt(t,e.id)).then(function(e){return console.log({receipt:e}),{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e.transactionHash,additionalInfo:r,updatedQuotes:s}})):{status:exports.TxnStatus.error,errorMsg:"Batch call failed",code:exports.StatusCodes.Error}})})}catch(e){return Promise.reject(e)}},At.sendHyperLiquidTransaction=function(e,t,n,a,r,s){try{var i,p,o=function(e){return i?e:Promise.resolve(X({chainId:a,txData:p,txId:n.txId})).then(function(e){if(e.status!==exports.TxnStatus.success)throw new Error("Failed to broadcast or save transaction");return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e.txnHash,additionalInfo:r,updatedQuotes:s}})},u=function(){if(998===a){var n=r?Object.values(r)[0]:null,o=n&&"typedData"in n?n.typedData:null;if(!r||!o){var u={status:exports.TxnStatus.error,errorMsg:"Missing additional info for HyperLiquid transaction",code:exports.StatusCodes.Error};return i=1,u}return Promise.resolve(function(e){try{return Promise.resolve(function(t,n){try{var a=(r=e.message,Promise.resolve(Le({signer:e.signer,account:e.account,domain:e.domain,message:r,primaryType:e.primaryType,types:e.types})).then(function(e){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,data:{signature:e,message:r}}}))}catch(e){return n(e)}var r;return a&&a.then?a.then(void 0,n):a}(0,function(e){return Ue({error:e})}))}catch(e){return Promise.reject(e)}}({signer:e,account:t.from,domain:o.domain,types:o.types,message:o.message,primaryType:o.primaryType})).then(function(e){var t;if(e.status!==exports.TxnStatus.success)throw new Error("Failed to sign transaction");p=null==(t=e.data)?void 0:t.signature})}return Promise.resolve(ht.sendTransaction(e,t,a,r,s)).then(function(e){if(e.status!==exports.TxnStatus.success)throw new Error("Failed to sign transaction");p=e.txnHash})}();return Promise.resolve(u&&u.then?u.then(o):o(u))}catch(e){return Promise.reject(e)}},At.buildAndSendTransaction=function(e){var t=e.request,n=e.signer,a=e.txnData,r=e.multicallAddress,s=e.batchTransaction,i=void 0!==s&&s,p=e.rpcUrls;try{return Promise.resolve(It(function(){function e(){var e=s.additionalInfo,a=s.updatedQuotes,u={from:s.from,to:s.to,data:s.data,value:s.value,gasLimit:s.gasLimit};return[o].concat(t.data.map(function(e){return e.toChain})).some(function(e){return 998===e})?ht.sendHyperLiquidTransaction(n,u,s,o,e,a):i&&!Me(n)?ht.sendTxnWithBatch(t,n,u,o,e,a,r,p):(console.log("Using viem walletClient - sending regular transaction."),ht.sendTransaction(n,u,o,e,a))}var s,o=t.fromChain,u=function(){if(!a)return Promise.resolve(Y(t)).then(function(e){s=e});s=a}();return u&&u.then?u.then(e):e()},function(e){var t,n,a,r,s,i,p,o,u;return console.log({error:e}),Ne(e)?(null==e||null==(t=e.response)?void 0:t.status)===exports.StatusCodes.SimulationFailure?{status:exports.TxnStatus.error,errorMsg:"Simulation Failed",error:(null==(p=e.response)?void 0:p.data).message,code:(null==(o=e.response)?void 0:o.data).code,action:(null==(u=e.response)?void 0:u.data).action}:{status:exports.TxnStatus.error,errorMsg:"Params Failed: "+JSON.stringify(null==e||null==(n=e.response)||null==(n=n.data)?void 0:n.message),error:null!=(a=null==e||null==(r=e.response)?void 0:r.data)?a:e,code:null!=(s=null==e||null==(i=e.response)?void 0:i.status)?s:exports.StatusCodes.Error}:Ue({error:e})}))}catch(e){return Promise.reject(e)}},At.buildGaslessTxAndSignPermit=function(e){var t=e.request,n=e.signer,a=e.rpcUrls,r=e.spender,s=e.txnData,i=e.txnStatusCallback;try{return Promise.resolve(It(function(){function e(){var e=t.hasPermit2ApprovalForAllTokens?N.PermitBatchWitnessTransferFrom:N.EIP2612Permit,s=p.txId;return Promise.resolve(ct.signGaslessUserIntent(P({tokens:t.data.map(function(e,t){return{address:e.srcToken,amount:e.amount,index:t}}),chainId:o,rpcUrls:a,sender:t.sender,spender:r,permitType:e,signer:n,gasless:!0,txId:s,service:"trade",contractVersion:m.v2},p.transaction))).then(function(e){var n;function a(e){if(n)return e;throw new Error("Gasless Transaction Failed")}var r=function(){if(e.status===exports.TxnStatus.success&&e.data){var a,r;i&&i(exports.TxnStatus.waitingForExecution);var p=e.data.type===N.EIP2612Permit?{permitData:t.data.map(function(e){return{token:e.srcToken,amount:e.amount,permit:e.permitData}}),gaslessIntentNonce:null==(a=e.data.nonce)?void 0:a.toString(),gaslessIntentSignature:e.data.signature,gaslessIntentDeadline:null==(r=e.data.deadline)?void 0:r.toString()}:{batchPermitData:e.data.batchPermitData};return Promise.resolve(function(e){return G({endpoint:"/gasless/executeTx",data:e,method:H})}({chainId:t.fromChain,txId:s,permit:p})).then(function(e){if(e.status!==exports.TxnStatus.success)throw new Error("Failed to execute gasless transaction");var t={status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e.txnHash};return n=1,t})}}();return r&&r.then?r.then(a):a(r)})}var p,o=t.fromChain,u=function(){if(!s)return Promise.resolve(Y(P({},t,{gasless:!0}))).then(function(e){p=e});p=s}();return u&&u.then?u.then(e):e()},function(e){var t,n,a,r,s,i,p,o,u;return console.log({error:e}),Ne(e)?(null==e||null==(t=e.response)?void 0:t.status)===exports.StatusCodes.SimulationFailure?{status:exports.TxnStatus.error,errorMsg:"Simulation Failed",error:(null==(p=e.response)?void 0:p.data).message,code:(null==(o=e.response)?void 0:o.data).code,action:(null==(u=e.response)?void 0:u.data).action}:{status:exports.TxnStatus.error,errorMsg:"Params Failed: "+JSON.stringify(null==e||null==(n=e.response)||null==(n=n.data)?void 0:n.message),error:null!=(a=null==e||null==(r=e.response)?void 0:r.data)?a:e,code:null!=(s=null==e||null==(i=e.response)?void 0:i.status)?s:exports.StatusCodes.Error}:Ue({error:e})}))}catch(e){return Promise.reject(e)}};var St,_t={execute:"execute"};function Pt(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function Dt(e,t,n){if(!e.s){if(n instanceof Ct){if(!n.s)return void(n.o=Dt.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(Dt.bind(null,e,t),Dt.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var kt=function(){};const Ct=/*#__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{Dt(a,1,e(this.v))}catch(e){Dt(a,2,e)}return a}return this}return this.o=function(e){try{const r=e.v;1&e.s?Dt(a,1,t?t(r):r):n?Dt(a,1,n(r)):Dt(a,2,r)}catch(e){Dt(a,2,e)}},a},e}();function Et(e){return e instanceof Ct&&1&e.s}St=kt,kt.execute=function(e){var t=e.chainId,n=e.txnData,a=e.signer;try{return Promise.resolve(Pt(function(){var e,r=n.callData,s=n.callTo,i=n.value,p=n.estimatedGas;return Me(a)?(console.log("Using ethers signer."),Promise.resolve(a.getAddress()).then(function(e){return Promise.resolve(a.sendTransaction({from:e,to:s,data:r,value:BigInt(i),gasLimit:BigInt(p)?BigInt(p):void 0})).then(function(e){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e.hash}})})):(console.log("Using viem walletClient."),Promise.resolve(a.sendTransaction({chain:_e[t],account:null==(e=a.account)?void 0:e.address,to:n.callTo,data:n.callData,value:BigInt(n.value)})).then(function(e){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e}}))},function(e){return console.log({error:e}),Ue({error:e})}))}catch(e){return Promise.reject(e)}},kt.approve=function(e){var t=e.chainId,n=e.data,a=e.signer;try{return Promise.resolve(Pt(function(){var e=n.callData,r=n.callTo,s=n.value,i=n.estimatedGas,p=Ce({chainId:t,rpcUrls:void 0});return Promise.resolve(p.getBlockNumber()).then(function(p){return console.log("block Number and data"),console.dir(P({blockNumber:p},n),{depth:null}),Me(a)?(console.log("Using ethers signer."),Promise.resolve(a.getAddress()).then(function(t){return Promise.resolve(a.sendTransaction({from:t,to:r,data:e,value:BigInt(s),gasLimit:BigInt(i)?BigInt(i):void 0})).then(function(e){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e.hash}})})):(console.log("Using viem walletClient."),Promise.resolve(a.sendTransaction({chain:_e[t],account:null==(o=a.account)?void 0:o.address,to:n.callTo,data:n.callData,value:BigInt(n.value)})).then(function(e){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e}}));var o})},function(e){return console.log({error:e}),Ue({error:e})}))}catch(e){return Promise.reject(e)}},kt.zap=function(e){var t=e.request,n=e.steps,a=e.signer;try{var r;return Promise.resolve(Pt(function(){function e(e){var t,i;if(r)return e;function p(e){return t?e:{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:i}}var o,u,d,y,l,m,c=(o=n,u=function(e){var r=n[e];return function(){if(r.action===_t.execute)return Promise.resolve(St.execute({chainId:s,txnData:r.data,signer:a})).then(function(e){if(e.status!==exports.TxnStatus.success)return t=1,e;i=e.txnHash})}()},d=function(){return t},m=-1,function e(t){try{for(;++m<o.length&&(!d||!d());)if((t=u(m))&&t.then){if(!Et(t))return void t.then(e,l||(l=Dt.bind(null,y=new Ct,2)));t=t.v}y?Dt(y,1,t):y=t}catch(e){Dt(y||(y=new Ct),2,e)}}(),y);return c&&c.then?c.then(p):p(c)}var s=t.srcChainId,i=function(){if(!n||0===n.length)return Promise.resolve(Q(t)).then(function(e){if(!(n=e.data.steps)||0===n.length){var t={status:exports.TxnStatus.error,code:exports.StatusCodes.FunctionNotFound,errorMsg:"No steps found in the zap route."};return r=1,t}})}();return i&&i.then?i.then(e):e(i)},function(e){return console.log({error:e}),Ue({error:e})}))}catch(e){return Promise.reject(e)}};var Mt=function(t,n,a){return n?new h.default(e.formatUnits(BigInt(t),n)).mul(a||0).toFixed(5):"0"},Ft=function(e){var t=new h.default(function(e){return e.fee.gasFee.reduce(function(e,t){return t.included?e:e.plus(t.amountUSD||"0")},new h.default(0)).toFixed(5)}(e));return e.fee.providerFee.forEach(function(e){e.included||(t=t.plus(new h.default(e.amountUSD||"0")))}),new h.default(e.destAmountUSD||"0").minus(t).toFixed(5)},Bt=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,Mt(s,i,o))},r=function(e){return e.map(function(e){return P({},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}},Rt=function(e,t){return e.path.map(function(n){return P({},n,{fee:Bt(n.fee,t).fee,srcAmountUSD:e.srcAmountUSD,destAmountUSD:e.destAmountUSD})})};function Nt(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}var Ut=/*#__PURE__*/function(){function t(){this.cancelTokenSource=null,this.priceService=void 0,this.priceService=new ve}t.getInstance=function(e,n){return t.instance||(t.instance=new t),e&&q.setApiKey(e),n&&q.setRpcUrlsByChainId(n),t.instance},t.getChainConfig=function(){try{var e=function(){return t.chainConfig},n=function(){if(!t.chainConfig)return Promise.resolve(J()).then(function(e){var n={};e.forEach(function(e){n[e.chainId]||(n[e.chainId]=e)}),t.chainConfig=n})}();return Promise.resolve(n&&n.then?n.then(e):e())}catch(e){return Promise.reject(e)}},t.getDZapAbi=function(e,t){return Be(e,t)};var n=t.prototype;return n.getTradeQuotes=function(e){try{var n=this;return Promise.resolve(function(e){return G({endpoint:"/quotes",data:e,method:H,shouldRetry:!0})}(e)).then(function(a){return Promise.resolve(t.getChainConfig()).then(function(t){return null===t?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:[ie]})).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=Mt(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=Mt(d.destAmount,l,b)}if(Number(d.srcAmountUSD)&&Number(d.destAmountUSD)){var v=new h.default(d.destAmountUSD).minus(d.srcAmountUSD).div(d.srcAmountUSD).mul(100);d.priceImpactPercent=v.toFixed(2)}var x=Bt(d.fee,a);p=p&&!x.isUpdated,d.fee=x.fee,d.path=Rt(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=Ft(e[1]),r=Ft(n);return Number(r)-Number(a)})),i.recommendedSource=Object.keys(i.quoteRates)[0])}}return e})}catch(e){return Promise.reject(e)}}(a,e,n.priceService,t)})})}catch(e){return Promise.reject(e)}},n.buildTradeTxn=function(e){try{return Promise.resolve(Y(e))}catch(e){return Promise.reject(e)}},n.getTradeTxnStatus=function(e){return function(e){return G({endpoint:"/status",data:{txHash:e.txHash,chainId:e.chainId},method:W})}({txHash:e.txHash,chainId:e.chainId})},n.getTradeMultiTxnStatus=function(e){return function(e){return G({endpoint:"/status/multi",data:{txHashes:e.txHashes,chainIds:e.chainIds},method:W})}({txHashes:e.txHashes,chainIds:e.chainIds})},n.getAllSupportedChains=function(){return J()},n.getAllTokens=function(n,a,r){try{var s=this;return Promise.resolve(Nt(function(){return Promise.resolve(Promise.allSettled([$(n,a,r),t.getChainConfig()])).then(function(t){var a=t[0],r=t[1],i="fulfilled"===a.status?a.value:{},p="fulfilled"===r.status?r.value:null;return p?Promise.resolve(function(t,n,a,r){try{return Promise.resolve(function(s,i){try{var p=0===(o=Object.values(t).filter(function(e){var t=e.price;return(!t||"0"===t)&&"0"!==e.balance}).map(function(e){return e.contract})).length?t:Promise.resolve(r.getPrices({chainId:n,tokenAddresses:o,chainConfig:a,notAllowSources:[ie]})).then(function(n){return o.forEach(function(a){t[a].price=n[a]||t[a].price,t[a].balanceInUsd=n[a]?parseFloat(n[a])*parseFloat(e.formatUnits(BigInt(t[a].balance),t[a].decimals)):null}),s=(a=Object.entries(t).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(e){return console.error("Error fetching token prices:",e),t}))}catch(e){return Promise.reject(e)}}(i,n,p,s.priceService)):i})},function(e){return console.error("Error fetching or updating tokens:",e),{}}))}catch(e){return Promise.reject(e)}},n.getTokenDetails=function(e,t,n,a,r){try{return Promise.resolve(ee(e,t,n,a,r))}catch(e){return Promise.reject(e)}},n.getTokensDetails=function(e,t,n,a,r){try{return Promise.resolve(ee(e,t,n,a,r))}catch(e){return Promise.reject(e)}},n.getTokenPrices=function(e,n){try{var a=this;return Promise.resolve(t.getChainConfig()).then(function(t){return Promise.resolve(a.priceService.getPrices({chainId:n,tokenAddresses:e,chainConfig:t}))})}catch(e){return Promise.reject(e)}},n.trade=function(e){var n=e.request,a=e.signer,r=e.txnData,s=e.batchTransaction,i=void 0!==s&&s,p=e.rpcUrls;try{return Promise.resolve(t.getChainConfig()).then(function(e){var t;return Promise.resolve(At.buildAndSendTransaction({request:n,signer:a,txnData:r,batchTransaction:i,multicallAddress:null==e||null==(t=e[n.fromChain])?void 0:t.multicallAddress,rpcUrls:p}))})}catch(e){return Promise.reject(e)}},n.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:w.trade})).then(function(e){return Promise.resolve(At.buildGaslessTxAndSignPermit({request:t,signer:n,rpcUrls:q.getRpcUrlsByChainId(t.fromChain),spender:e,txnData:a,txnStatusCallback:r}))})}catch(e){return Promise.reject(e)}},n.sendTransaction=function(e){var t=e.chainId,n=e.signer,a=e.txnData;try{return Promise.resolve(je.sendTransaction(P({signer:n,chainId:t},a)))}catch(e){return Promise.reject(e)}},n.waitForBatchTransactionReceipt=function(e){var t=e.walletClient,n=e.batchHash;try{return Promise.resolve(wt(t,n))}catch(e){return Promise.reject(e)}},n.decodeTxnData=function(n){var a=n.data,r=n.service,s=n.chainId;try{var i=Ce({chainId:s,rpcUrls:q.getRpcUrlsByChainId(s)});return Promise.resolve(Promise.all([t.getChainConfig(),i.getTransaction({hash:a.transactionHash})])).then(function(t){var n=t[0],i=t[1];if(null===n||null==(null==n?void 0:n[s]))throw new Error("Chains config not found");return function(t,n,a,r){var s,i,p=[],o=Be(a,(null==r?void 0:r.version)||m.v1);try{p=e.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(Ee({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})),P({},e,{fromToken:de(e.fromToken,null==r||null==(t=r.nativeToken)?void 0:t.contract),toToken:de(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,c,T,f,b=u.swapInfo,v=b.fromAmount,h=b.fromToken,x=b.toToken;BigInt(b.returnToAmount)!==BigInt(0)&&BigInt(v)!==BigInt(0)||d.push(Ee({srcToken:h,destToken:x,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=P({},u.swapInfo,{fromToken:de(u.swapInfo.fromToken,null==r||null==(l=r.nativeToken)?void 0:l.contract),toToken:de(u.swapInfo.toToken,null==r||null==(c=r.nativeToken)?void 0:c.contract)})}return{swapInfo:(new De).updateSwapInfo({data:t.input,eventSwapInfo:y})||y,swapFailPairs:d}}(i,a,r,n[s])})}catch(e){return Promise.reject(e)}},n.calculatePoints=function(e){try{return Promise.resolve(function(e){return G({endpoint:"user/calculatePoints",data:e,method:H})}(e))}catch(e){return Promise.reject(e)}},n.getDZapContractAddress=function(e){var n=e.chainId,a=e.service;try{return Promise.resolve(t.getChainConfig()).then(function(e){var t;if(!e[n].isEnabled||!e)throw new Error("Chains config not found");var r=e[n];if(null==r||!r.contracts)throw new Error("No contracts found for chain: "+n);var s=((t={})[w.trade]=r.contracts.router,t[w.dca]=r.contracts.dca,t[w.zap]=r.contracts.zap,t)[a];if(!s)throw new Error('Contract not found for service "'+a+'" on chain: '+n);return s})}catch(e){return Promise.reject(e)}},n.getAllowance=function(e){var n=e.chainId,a=e.sender,r=e.tokens,s=e.service,i=e.rpcUrls,p=e.spender,o=e.mode,u=void 0===o?j.AutoPermit:o;try{var d=this;return Promise.resolve(t.getChainConfig()).then(function(e){function t(t){var s,p=null==e||null==(s=e[n])?void 0:s.multicallAddress;return Promise.resolve(xt({chainId:n,sender:a,tokens:r,rpcUrls:i||q.getRpcUrlsByChainId(n),mode:u,spender:t,multicallAddress:p}))}return p?t(p):Promise.resolve(d.getDZapContractAddress({chainId:n,service:s})).then(t)})}catch(e){return Promise.reject(e)}},n.approve=function(t){var n=t.chainId,a=t.signer,r=t.tokens,s=t.approvalTxnCallback,i=t.service,p=t.mode,o=void 0===p?j.AutoPermit:p,u=t.rpcUrls,d=t.spender;try{var y=function(t){return Promise.resolve(function(t){var n,a,r,s,i,p,o=t.chainId,u=t.signer,d=t.rpcUrls,y=t.mode,l=t.tokens,m=t.approvalTxnCallback,c=t.spender;try{var T,f=function(e){return T?e:{status:exports.TxnStatus.success,code:exports.StatusCodes.Success}};y!==j.Default&&(c=ot(o));var b=(n=l,a=function(t){function n(e){if(T)return e;if(a.code!==exports.StatusCodes.Success){var n,r={status:a.status,code:(null==(n=a)?void 0:n.code)||exports.StatusCodes.FunctionNotFound};return T=1,r}return function(){if(m)return Promise.resolve(m({txnDetails:a,address:l[t].address})).then(function(e){if(e&&e!==exports.TxnStatus.success){var t,n={status:a.status,code:(null==(t=a)?void 0:t.code)||exports.StatusCodes.Error};return T=1,n}})}()}var a={status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:""},r=Me(u)?Promise.resolve(u.getAddress()).then(function(n){var a=e.encodeFunctionData({abi:xe,functionName:O.approve,args:[c,BigInt(l[t].amount)]});return Promise.resolve(u.sendTransaction({from:n,chainId:o,to:l[t].address,data:a})).then(function(){var e={status:exports.TxnStatus.success,code:exports.StatusCodes.Success};return T=1,e})}):Promise.resolve(function(e){var t=e.chainId,n=e.contractAddress,a=e.abi,r=e.functionName,s=e.args,i=void 0===s?[]:s,p=e.value,o=void 0===p?"0":p,u=e.rpcUrls,d=void 0===u?[""]:u,y=e.signer;try{var l=Ce({chainId:t,rpcUrls:d});return Promise.resolve(function(e,t){try{var s=Promise.resolve(l.simulateContract({address:n,abi:a,functionName:r,args:i,account:y.account,value:BigInt(o)})).then(function(e){return Promise.resolve(y.writeContract(e.request)).then(function(e){return{txnHash:e,status:exports.TxnStatus.success,code:exports.StatusCodes.Success}})})}catch(e){return t(e)}return s&&s.then?s.then(void 0,t):s}(0,function(e){return console.log({e:e}),(null==e?void 0:e.code)===exports.StatusCodes.UserRejectedRequest?{status:exports.TxnStatus.rejected,code:null==e?void 0:e.code,txnHash:""}:{status:exports.TxnStatus.error,code:null==e?void 0:e.code,txnHash:""}}))}catch(e){return Promise.reject(e)}}({chainId:o,contractAddress:l[t].address,abi:xe,functionName:O.approve,args:[c,l[t].amount],rpcUrls:d,signer:u})).then(function(e){a=e});return r&&r.then?r.then(n):n(r)},r=function(){return T},p=-1,function e(t){try{for(;++p<n.length&&(!r||!r());)if((t=a(p))&&t.then){if(!vt(t))return void t.then(e,i||(i=ft.bind(null,s=new bt,2)));t=t.v}s?ft(s,1,t):s=t}catch(e){ft(s||(s=new bt),2,e)}}(),s);return Promise.resolve(b&&b.then?b.then(f):f(b))}catch(e){return Promise.reject(e)}}({chainId:n,signer:a,rpcUrls:u||q.getRpcUrlsByChainId(n),tokens:r,approvalTxnCallback:s,mode:o,spender:t}))};return Promise.resolve(d?y(d):Promise.resolve(this.getDZapContractAddress({chainId:n,service:i})).then(y))}catch(e){return Promise.reject(e)}},n.sign=function(e){try{var n=function(n){return Promise.resolve(t.getChainConfig()).then(function(t){var a,s=(null==e?void 0:e.permitType)||N.AutoPermit,i=P({},e,{rpcUrls:(null==e?void 0:e.rpcUrls)||q.getRpcUrlsByChainId(r),permitType:s,spender:n,gasless:!1,contractVersion:(null==(a=t[r])?void 0:a.version)||m.v1});return Promise.resolve(ct.signPermit(i))})},a=e.service,r=e.chainId,s=null==e?void 0:e.spender;return Promise.resolve(s?n(s):Promise.resolve(this.getDZapContractAddress({chainId:r,service:a})).then(n))}catch(e){return Promise.reject(e)}},n.zap=function(e){var t=e.request,n=e.steps,a=e.signer;try{return Promise.resolve(kt.zap({request:t,steps:n,signer:a}))}catch(e){return Promise.reject(e)}},n.buildZapTxn=function(e){try{var t=this;return t.cancelTokenSource&&t.cancelTokenSource.cancel("Cancelled due to new request"),t.cancelTokenSource=b.default.CancelToken.source(),Promise.resolve(Q(e,t.cancelTokenSource.token)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.getZapQuote=function(e){try{var t=this;return t.cancelTokenSource&&t.cancelTokenSource.cancel("Cancelled due to new request"),t.cancelTokenSource=b.default.CancelToken.source(),Promise.resolve(function(e,t){return K({endpoint:"/quote",data:e,method:H,cancelToken:t})}(e,t.cancelTokenSource.token)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.getZapTxnStatus=function(e){try{return Promise.resolve(function(e){return K({endpoint:"/status",data:e,method:W})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.getBalances=function(e,t){try{return Promise.resolve(function(e,t){return G({endpoint:"token/balance-of",data:{chainId:e,account:t},method:W})}(e,t)).then(function(e){return e.result})}catch(e){return Promise.reject(e)}},n.sendBatchCalls=function(e){var t=e.walletClient,n=e.calls;try{return Promise.resolve(gt(t,n))}catch(e){return Promise.reject(e)}},n.getZapPositions=function(e){try{return Promise.resolve(function(e){return K({endpoint:"/user/positions",data:e,method:W})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.getZapPools=function(e){try{return Promise.resolve(function(e){return K({endpoint:"/pools",data:e,method:W})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.getZapPoolDetails=function(e){try{return Promise.resolve(function(e){return K({endpoint:"/pool/details",data:e,method:W})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.getZapChains=function(){try{return Promise.resolve(K({endpoint:"/config/chains",method:W})).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.getZapProviders=function(){try{return Promise.resolve(K({endpoint:"/config/providers",method:W})).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.broadcastTradeTx=function(e){try{return Promise.resolve(X(e))}catch(e){return Promise.reject(e)}},n.broadcastZapTx=function(e){try{return Promise.resolve(Nt(function(){return Promise.resolve(function(e){return K({endpoint:"/broadcast",data:e,method:H})}(e)).then(function(e){var t;if(e.status===exports.TxnStatus.success)return{status:exports.TxnStatus.success,txnHash:e.data.txnHash};throw new Error((null==(t=e.data)?void 0:t.message)||"Failed to broadcast zap transaction")})},function(){return{status:exports.TxnStatus.error,message:"Failed to broadcast zap transaction"}}))}catch(e){return Promise.reject(e)}},t}();Ut.instance=void 0,Ut.chainConfig=null,Ut.getOtherAbi=function(e){return function(e){switch(e){case g.permit2:return he;case g.erc20:return xe;default:throw new Error("Invalid Abi")}}(e)},exports.ApprovalModes=j,exports.DZapClient=Ut,exports.OtherAbis=g,exports.PermitTypes=N,exports.QuoteFilters={fastest:"fastest",best:"best",all:"all"},exports.STATUS={pending:"pending",inProgress:"in-progress",success:"success",rejected:"rejected",error:"error"},exports.Services=w,exports.SignatureExpiryInSecs=V,exports.SwapInputDataDecoder=De,exports.checkEIP2612PermitSupport=Ye,exports.contractErrorActions={TRY_ANOTHER_ROUTE:"TRY_ANOTHER_ROUTE",INCREASE_SLIPPAGE:"INCREASE_SLIPPAGE",INCREASE_ALLOWANCE:"INCREASE_ALLOWANCE"},exports.erc20Functions=O,exports.formatToken=de,exports.getTokensPairKey=Ee,exports.zapPathAction={swap:"swap",bridge:"bridge",deposit:"deposit",withdraw:"withdraw",stake:"stake",unstake:"unstake"},exports.zapStepAction=_t;
1
+ var e=require("viem"),t=require("axios"),n=require("ethers"),a=require("viem/chains"),r=require("viem/utils"),s=require("viem/actions"),i=require("decimal.js");function p(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,t}var u,d,y,l,m,c,T,f,b=/*#__PURE__*/p(t),v=/*#__PURE__*/o(a),h=/*#__PURE__*/p(i);!function(e){e.production="production",e.development="development"}(u||(u={})),function(e){e[e.PERMIT=0]="PERMIT",e[e.PERMIT2=1]="PERMIT2"}(d||(d={})),exports.DZapPermitMode=void 0,(y=exports.DZapPermitMode||(exports.DZapPermitMode={}))[y.PERMIT=0]="PERMIT",y[y.PERMIT2_APPROVE=1]="PERMIT2_APPROVE",y[y.PERMIT2_WITNESS_TRANSFER=2]="PERMIT2_WITNESS_TRANSFER",y[y.BATCH_PERMIT2_WITNESS_TRANSFER=3]="BATCH_PERMIT2_WITNESS_TRANSFER",function(e){e[e.PERMIT=0]="PERMIT",e[e.PERMIT2_TRANSFER_FROM=1]="PERMIT2_TRANSFER_FROM",e[e.PERMIT2_APPROVE=2]="PERMIT2_APPROVE"}(l||(l={})),function(e){e.v1="v1",e.v2="v2"}(m||(m={})),exports.TxnStatus=void 0,(c=exports.TxnStatus||(exports.TxnStatus={})).mining="mining",c.success="success",c.rejected="rejected",c.error="error",c.reverted="reverted",c.pendingWalletConfirmation="pendingWalletConfirmation",c.partialSuccess="partialSuccess",c.waitingForExecution="waitingForExecution",function(e){e.V1="v1",e.V1_2="v1.2",e.V2="v2"}(T||(T={})),exports.StatusCodes=void 0,(f=exports.StatusCodes||(exports.StatusCodes={}))[f.UserRejectedRequest=4001]="UserRejectedRequest",f[f.Success=200]="Success",f[f.FunctionNotFound=32771]="FunctionNotFound",f[f.Error=500]="Error",f[f.WalletRPCFailure=429]="WalletRPCFailure",f[f.SimulationFailure=417]="SimulationFailure",f[f.ContractExecutionError=-500]="ContractExecutionError";var x,g={permit2:"permit2",erc20:"erc20"},w={trade:"trade",dca:"dca",zap:"zap"},I="swap",A=e.encodeAbiParameters(e.parseAbiParameters("uint8, bytes"),[exports.DZapPermitMode.PERMIT,"0x"]),S=e.encodeAbiParameters(e.parseAbiParameters("uint8, bytes"),[exports.DZapPermitMode.PERMIT2_APPROVE,"0x"]);function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function P(){return P=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},P.apply(null,arguments)}function D(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}var k,C,E,M,F={name:"DZapVerifier",version:"1",salt:e.keccak256(e.encodePacked(["string"],["DZap-v0.1"]))},B="PermitWitnessTransferFrom",R="PermitBatchWitnessTransferFrom",N={PermitSingle:"PermitSingle",PermitWitnessTransferFrom:"PermitWitnessTransferFrom",PermitBatchWitnessTransferFrom:"PermitBatchWitnessTransferFrom",EIP2612Permit:"EIP2612Permit",AutoPermit:"AutoPermit"},U=((x={})[N.EIP2612Permit]=exports.DZapPermitMode.PERMIT,x[N.PermitSingle]=exports.DZapPermitMode.PERMIT2_APPROVE,x[N.PermitWitnessTransferFrom]=exports.DZapPermitMode.PERMIT2_WITNESS_TRANSFER,x[N.PermitBatchWitnessTransferFrom]=exports.DZapPermitMode.BATCH_PERMIT2_WITNESS_TRANSFER,x),j=P({},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}(N,["EIP2612Permit"]),{Default:"Default"}),O={name:"name",allowance:"allowance",approve:"approve",transfer:"transfer",transferFrom:"transferFrom",balanceOf:"balanceOf",decimals:"decimals",symbol:"symbol",version:"version",nonces:"nonces",domainSeparator:"DOMAIN_SEPARATOR"},V=1800,W="get",H="post",Z=/*#__PURE__*/function(){function e(e){var t=this;this.axiosInstance=void 0,this.axiosInstance=b.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}();Z.instances=new Map,"undefined"!=typeof process&&process.env&&(k=process.env.REACT_APP_ENV||process.env.NEXT_PUBLIC_APP_ENV||process.env.NODE_ENV,C=process.env.REACT_APP_BASE_API_URL||process.env.NEXT_PUBLIC_BASE_API_URL||process.env.BASE_API_URL,E=process.env.REACT_APP_ZAP_API_URL||process.env.NEXT_PUBLIC_ZAP_API_URL||process.env.ZAP_API_URL,M=process.env.REACT_APP_DZAP_API_KEY||process.env.NEXT_PUBLIC_DZAP_API_KEY||process.env.DZAP_API_KEY);var q=function(){var e={apiKey:M||null,rpcUrlsByChainId:{},eip2612DisabledChains:[747474],appEnv:k||u.development,baseApiUrl:C||"https://api.dzap.io",zapApiUrl:E||"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}}}(),L=Z.getInstance(q.getBaseUrl()),z=Z.getInstance(q.getBaseZapUrl()),G=function(e){var t=e.endpoint,n=e.data,a=e.method,r=void 0===a?H:a,s=e.cancelToken,i=e.shouldRetry,p=void 0!==i&&i;try{var o=q.getApiKey(),u={method:r,url:t,data:r===W?void 0:n,params:r===W?n:void 0,headers:P({"Content-Type":"application/json"},o?{"x-api-key":o}:{}),cancelToken:s,shouldRetry:p};return Promise.resolve(L(u).then(function(e){return e.data}).catch(function(e){return Promise.reject(e)}))}catch(e){return Promise.reject(e)}},K=function(e){var t=e.endpoint,n=e.data,a=e.method,r=void 0===a?H:a,s=e.cancelToken,i=e.shouldRetry,p=void 0!==i&&i;try{var o=q.getApiKey(),u={method:r,url:t,data:r===W?void 0:n,params:r===W?n:void 0,headers:P({"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){return G({endpoint:"/buildTx",data:e,method:H})},X=function(e){return G({endpoint:"/broadcast",data:e,method:H})},Q=function(e,t){return K({endpoint:"/buildTx",data:e,method:H,cancelToken:t})},J=function(){return G({endpoint:"chains",data:{},method:W,shouldRetry:!0})},$=function(e,t,n){return G({endpoint:"token/tokens",data:{chainId:e,source:t,account:n},method:W,shouldRetry:!0})},ee=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 G({endpoint:"token/details",data:s,method:W})},te="undefined"!=typeof process&&process.versions&&process.versions.node,ne=null;if(te)try{ne=require("node-cache")}catch(e){ne=null}var ae=/*#__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}(),re=/*#__PURE__*/function(){function e(){this.client=void 0,this.client=te&&ne?new ne({checkperiod:10,deleteOnExpire:!0}):new ae}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,D(a.key),a)}}(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n}();re._instance=void 0;var se=["0x0000000000000000000000000000000000001010","0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE","0x0000000000000000000000000000000000000000","0x000000000000000000000000000000000000800A","11111111111111111111111111111111","0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000","EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c","0x000000000000000000000000000000000000aA09","0x2::sui::SUI","0x1::aptos_coin::AptosCoin","0x0000000000000000000000000000000000001000"],ie="dZap",pe="defiLlama",oe="coingecko",ue=function(e,t){return!!t&&Object.values(t).some(function(t){return t.isEnabled&&t.nativeToken.contract===e})},de=function(t,n){return void 0===n&&(n=e.zeroAddress),e.isAddress(t)?se.includes(t)?n:e.getAddress(t):t},ye=function(){var e=this;this.id=oe,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(G({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:W})).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 G({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:W});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!ue(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}())}},le=/*#__PURE__*/function(){function e(){var e=this;this.id=pe,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(G({endpoint:(s=i,"https://coins.llama.fi/prices/current/"+s.join(",")),method:W})).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?ue(e,n)?s.chainKey+":"+s.nativeTokenKey:s.chainKey+":"+e:r+":"+e})},e}(),me=function(){this.id=ie,this.requiresChainConfig=!1,this.fetchPrices=function(e,t){try{return Promise.resolve(function(n,a){try{var r=Promise.resolve(function(e,t){return G({endpoint:"token/price",data:{tokenAddresses:e,chainId:t},method:W})}(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 ce="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function Te(e,t,n){if(!e.s){if(n instanceof fe){if(!n.s)return void(n.o=Te.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(Te.bind(null,e,t),Te.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var fe=/*#__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{Te(a,1,s(this.v))}catch(e){Te(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?Te(a,1,t?t(r):r):n?Te(a,1,n(r)):Te(a,2,r)}catch(e){Te(a,2,e)}},a},e}();function be(e){return e instanceof fe&&1&e.s}var ve=/*#__PURE__*/function(){function e(){this.providers=void 0,this.providers=this.initailizeProviders()}var t=e.prototype;return t.initailizeProviders=function(){return new Map([[ie,new me],[pe,new le],[oe,new ye]])},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&&re.set(y,P({},l,m),900),P({},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=re.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[ce]){var a,r,s,i=function(e){try{for(;!((a=p.next()).done||n&&n());)if((e=t(a.value))&&e.then){if(!be(e))return void e.then(i,s||(s=Te.bind(null,r=new fe,2)));e=e.v}r?Te(r,1,e):r=e}catch(e){Te(r||(r=new fe),2,e)}},p=e[ce]();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(!be(p))return void p.then(i,r||(r=Te.bind(null,a=new fe,2)));p=p.v}a?Te(a,1,p):a=p}catch(e){Te(a||(a=new fe),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}(),he=[{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"}],ge=[{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:[]}],we=[{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"}],Ie=[{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"}],Ae=e.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}}}),Se=[e.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}}}),Ae,e.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"]}}}),e.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"]}}}),e.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"]}}})],_e=[].concat(Object.values(v),Se).reduce(function(e,t){var n;return t.id?P({},e,((n={})[t.id]=t,n)):e},{}),Pe={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"}]},De=function(){var e=this;this.decodeSingleSwapData=function(e){var t,n=r.decodeFunctionData({data:e,abi:Pe.SingleSwap});return[null==n||null==(t=n.args)?void 0:t[4]]},this.decodeMultiSwapData=function(e){var t,n=r.decodeFunctionData({data:e,abi:Pe.MultiSwapAbi});return null==n||null==(t=n.args)?void 0:t[4]},this.decodeBatchPermitSwapData=function(e){var t,n=r.decodeFunctionData({data:e,abi:Pe.BatchPermitSwapAbi});return null==n||null==(t=n.args)||null==(t=t[5])?void 0:t.permitted},this.decodeGaslessExecuteMultiSwapData=function(e){var t,n=r.decodeFunctionData({data:e,abi:Pe.GaslessExecuteMultiSwapAbi});return null==n||null==(t=n.args)?void 0:t[7]},this.decodeGaslessExecuteMultiSwapWithWitnessData=function(e){var t,n=r.decodeFunctionData({data:e,abi:Pe.GaslessExecuteMultiSwapWithWitnessAbi});return null==n||null==(t=n.args)?void 0:t[7]},this.decodeGaslessExecuteSwapData=function(e){var t,n=r.decodeFunctionData({data:e,abi:Pe.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[de(t.token)]=t.amount,e},{});if(Array.isArray(a))return a.map(function(e){var t=de(e.fromToken);return P({},e,{fromAmount:o[t]||e.fromAmount})});var u=de(a.fromToken);return P({},a,{fromAmount:o[u]||a.fromAmount})}catch(e){return a}}},ke={batch:{wait:1e3},retryDelay:500},Ce=function(t){var n=t.rpcUrls,a=t.chainId,r=n&&Array.isArray(n)&&n.length>0;return e.createPublicClient({chain:_e[a],transport:e.fallback(r?n.map(function(t){return e.http(t,ke)}):[e.http()]),batch:{multicall:{wait:1e3}}})};function Ee(t){var n=t.destToken,a=t.destChainId,r=t.srcChainNativeAddress,s=t.destChainNativeAddress,i=void 0===s?e.zeroAddress:s;return t.srcChainId+"_"+de(t.srcToken,void 0===r?e.zeroAddress:r)+"-"+a+"_"+de(n,i)}BigInt(15),BigInt(10);var Me=function(e){return e instanceof n.Signer},Fe=function(e){return"0x0000000000000000000000000000000000000000"===e},Be=function(e,t){switch(e){case w.trade:switch(t){case m.v1:return ge;case m.v2:return we;default:throw new Error("Invalid Version for Trade")}case w.dca:return Ie;default:throw new Error("Invalid Service")}},Re="BridgeCallFailed",Ne=function(e){return Boolean(e)&&e.isAxiosError},Ue=function(t){var n,a,r=t.error;if((null==r?void 0:r.code)===exports.StatusCodes.WalletRPCFailure||(null==r||null==(n=r.cause)?void 0:n.code)===exports.StatusCodes.WalletRPCFailure)return{error:r,errorMsg:"Too many requests, failure on user wallet",code:exports.StatusCodes.WalletRPCFailure,status:exports.TxnStatus.error};if((null==r?void 0:r.code)===exports.StatusCodes.UserRejectedRequest||(null==r||null==(a=r.cause)?void 0:a.code)===exports.StatusCodes.UserRejectedRequest)return{error:r,errorMsg:"Rejected by User",code:exports.StatusCodes.UserRejectedRequest,status:exports.TxnStatus.rejected};var s,i=r.shortMessage,p=(s=r.metaMessages[0].match(/Error: (\w+)/))?s[1]:null;if(p==Re){var o=r.metaMessages[1];try{o=function(t){if(t.length<68)return t;var n="0x"+t.slice(10);return e.decodeAbiParameters(e.parseAbiParameters("string"),n)[0]}(r.metaMessages[1].match(/\((.*?)\)/)[1])}catch(e){}i=Re+" : "+o}else p&&(i=p);return{status:exports.TxnStatus.error,error:r,errorMsg:i,code:exports.StatusCodes.ContractExecutionError}},je=function(){};je.sendTransaction=function(e){var t=e.chainId,n=e.signer,a=e.from,r=e.to,s=e.data,i=e.value;try{return Promise.resolve(function(e,p){try{var o=Me(n)?(console.log("Using ethers signer."),Promise.resolve(n.sendTransaction({from:a,to:r,data:s,value:i})).then(function(e){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e.hash}})):(console.log("Using viem walletClient."),Promise.resolve(n.sendTransaction({chain:_e[t],account:a,to:r,data:s,value:BigInt(i)})).then(function(e){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e}}))}catch(e){return p(e)}return o&&o.then?o.then(void 0,p):o}(0,function(e){return console.log({error:e}),Ue({error:e})}))}catch(e){return Promise.reject(e)}};var Oe,Ve={Permit:[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},We={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"}]},He={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"}]},Ze={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"}]},qe=function(e){var t=Math.floor(Date.now()/1e3);return BigInt(t+e)},Le=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=Me(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)}},ze=[{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"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"}],Ge=function(e){var t=e.chainId,n=e.contracts,a=e.rpcUrls,r=e.multicallAddress,s=e.allowFailure,i=void 0!==s&&s;try{return Promise.resolve(function(e,s){try{var p=(o=Ce({chainId:t,rpcUrls:a}),Promise.resolve(o.multicall(P({contracts:n},r&&{multicallAddress:r},{allowFailure:i}))).then(function(e){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,data:e}}))}catch(e){return s(e)}var o;return p&&p.then?p.then(void 0,s):p}(0,function(e){return console.error("Multicall failed:",e),{status:exports.TxnStatus.error,code:e.code||exports.StatusCodes.Error,data:[]}}))}catch(e){return Promise.reject(e)}},Ke=q.getEip2612DisabledChains(),Ye=function(e){var t=e.address,n=e.chainId,a=e.rpcUrls,r=e.owner,s=e.permit;try{var i;return!1===(null==s||null==(i=s.eip2612)?void 0:i.supported)||Ke.includes(n)?Promise.resolve({supportsPermit:!1}):Promise.resolve(Ge({chainId:n,contracts:[{address:t,abi:ze,functionName:O.domainSeparator},{address:t,abi:ze,functionName:O.nonces,args:[r]},{address:t,abi:ze,functionName:O.version},{address:t,abi:ze,functionName:O.name}],rpcUrls:a,allowFailure:!0})).then(function(e){if(e.status!==exports.TxnStatus.success)return{supportsPermit:!1};var t=e.data,n=t[1],a=t[2],r=t[3];return t[0].status!==exports.TxnStatus.success||n.status!==exports.TxnStatus.success||r.status!==exports.TxnStatus.success?{supportsPermit:!1}:{supportsPermit:!0,data:{version:a.status===exports.TxnStatus.success?a.result:"1",name:r.result,nonce:n.result}}})}catch(e){return Promise.reject(e)}},Xe=((Oe={})[324]="0x0000000000225e31D15943971F47aD3022F714Fa",Oe[10242]="0x5Aeec43fF96b9B6c5a1dC1DAdA662ACE3c236C49",Oe[6001]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Oe[5115]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Oe[996]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Oe[14]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Oe[8822]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Oe[42766]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Oe[5165]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Oe[42101]="0x08208a5f56696E7AA3eAF7a307fa63B37bd8e8A5",Oe[2741]="0x0000000000225e31D15943971F47aD3022F714Fa",Oe[232]="0x0000000000225e31D15943971F47aD3022F714Fa",Oe),Qe={typeName:"DZapTransferWitness",type:{DZapTransferWitness:[{name:"owner",type:"address"},{name:"recipient",type:"address"}]}},Je={typeName:"DZapSwapWitness",type:{DZapSwapWitness:[{name:"txId",type:"bytes32"},{name:"user",type:"address"},{name:"executorFeesHash",type:"bytes32"},{name:"swapDataHash",type:"bytes32"}]}},$e={typeName:"DZapBridgeWitness",type:{DZapBridgeWitness:[{name:"txId",type:"bytes32"},{name:"user",type:"address"},{name:"executorFeesHash",type:"bytes32"},{name:"swapDataHash",type:"bytes32"},{name:"adapterDataHash",type:"bytes32"}]}},et=[{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 tt(e,t){return{name:"Permit2",chainId:t,verifyingContract:e}}var nt=[{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 at(e,t,n){if(!e.s){if(n instanceof rt){if(!n.s)return void(n.o=at.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(at.bind(null,e,t),at.bind(null,e,2));e.s=t,e.v=n;const a=e.o;a&&a(e)}}var rt=/*#__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{at(a,1,s(this.v))}catch(e){at(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?at(a,1,t?t(r):r):n?at(a,1,n(r)):at(a,2,r)}catch(e){at(a,2,e)}},a},e}();function st(e){return e instanceof rt&&1&e.s}var it=/*#__PURE__*/function(){function t(t,n){this.permit2Contract=void 0,this.permit2Contract=e.getContract({address:n,abi:he,client:t})}var n=t.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(st(r)&&(r=r.v),!r)return s;if(r.then){a=0;break}var s=n();if(s&&s.then){if(!st(s)){a=1;break}s=s.s}if(t){var i=t();if(i&&i.then&&!st(i)){a=2;break}}}var p=new rt,o=at.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&&!st(i))return void i.then(y).then(void 0,o);if(!(r=e())||st(r)&&!r.v)return void at(p,1,s);if(r.then)return void r.then(d).then(void 0,o);st(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):at(p,1,s)}function y(){(r=e())?r.then?r.then(d).then(void 0,o):d(r):at(p,1,s)}}(function(){return!a&&o<t.MAX_WORD_ITERATIONS},function(){return o++},function(){return Promise.resolve(s.permit2Contract.read.nonceBitmap([n,i])).then(function(n){if(n===e.maxUint256)return++i,void(p=0);var r=n;for(0!==p&&(r>>=BigInt(p));p<t.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(e,n){return e<<t.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(e,n){try{var a=n>>t.POSITION_BITS,r=Number(n&t.POSITION_MASK);return Promise.resolve(this.getNonceBitmap(e,a)).then(function(e){return(e>>BigInt(r)&BigInt(1))===BigInt(1)})}catch(e){return Promise.reject(e)}},t}();it.POSITION_BITS=BigInt(8),it.MAX_POSITION=256,it.POSITION_MASK=BigInt(255),it.MAX_WORD_ITERATIONS=1e3;var pt=function(e,t,n,a){try{var r=Ce({chainId:n,rpcUrls:a}),s=new it(r,e);return Promise.resolve(s.nextNonce(t))}catch(e){return Promise.reject(e)}};function ot(e){var t;return null!=(t=Xe[e])?t:"0x000000000022D473030F116dDEE9F6B43aC78BA3"}var ut,dt=function(t){try{return Promise.resolve(function(n,a){try{var r=(i=t.chainId,p=t.account,o=t.tokens,u=t.spender,d=t.rpcUrls,c=t.signer,T=t.permitType,f=t.firstTokenNonce,b=t.contractVersion,v=t.service,h=null!=(y=t.deadline)?y:qe(V),x=null!=(s=t.expiration)?s:e.maxUint48,g=ot(i),A=o.map(function(t){return P({},t,{amount:BigInt(t.amount||e.maxUint256).toString()})}),S=function(e){var t=e.account;return{witnessData:e.gasless&&e.swapDataHash?e.txType===I?{witness:{txId:e.txId,user:t,executorFeesHash:e.executorFeesHash,swapDataHash:e.swapDataHash},witnessTypeName:Je.typeName,witnessType:Je.type}:{witness:{txId:e.txId,user:t,executorFeesHash:e.executorFeesHash,swapDataHash:e.swapDataHash,adapterDataHash:e.adapterDataHash},witnessTypeName:$e.typeName,witnessType:$e.type}:{witness:{owner:t,recipient:e.spender},witnessTypeName:Qe.typeName,witnessType:Qe.type}}}(t),_=S.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=Ce({chainId:a,rpcUrls:r});return Promise.resolve(u.readContract({address:o,abi:nt,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)}}(P({},e,{token:e.tokens[0],expiration:e.expiration}));case B: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(pt(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)}}(P({},e,{token:e.tokens[0]}));case R: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(pt(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:T,spender:u,account:p,deadline:h,chainId:i,permit2Address:g,rpcUrls:d,tokens:A,expiration:x,firstTokenNonce:null!=f?f:null,service:v,contractVersion:b})).then(function(t){var n=t.nonce,a=function(e,t,n,a){if(function(e){return"details"in e&&void 0!==e.details}(e))return function(e,t,n){return{domain:tt(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:tt(t,n),types:P({},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:tt(t,n),types:P({},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:P({},e,{witness:a.witness})}}(e,t,n,a)}(t.permit2Values,g,i,_);return Promise.resolve(Le({signer:c,domain:a.domain,message:a.message,types:a.types,account:p,primaryType:T})).then(function(t){var a;a=T===R?e.encodeAbiParameters(et,[{permitted:A.map(function(e){return{token:e.address,amount:BigInt(e.amount)}}),nonce:n,deadline:h},t]):T===B?e.encodeAbiParameters(e.parseAbiParameters("uint256, uint256, bytes"),[n,h,t]):b===m.v1&&v!==w.zap?e.encodeAbiParameters(e.parseAbiParameters("uint160 allowanceAmount, uint48 nonce, uint48 expiration, uint256 sigDeadline, bytes signature"),[BigInt(o[0].amount),Number(n.toString()),Number(x.toString()),BigInt(h.toString()),t]):e.encodeAbiParameters(e.parseAbiParameters("uint48 nonce, uint48 expiration, uint256 sigDeadline, bytes signature"),[Number(n.toString()),Number(x.toString()),BigInt(h.toString()),t]);var r=v!==w.zap&&b===m.v1?l.PERMIT2_APPROVE:U[T],s=e.encodeAbiParameters(e.parseAbiParameters("uint8, bytes"),[r,a]);return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,permitData:s,nonce:n}})}))}catch(e){return a(e)}var s,i,p,o,u,d,y,c,T,f,b,v,h,x,g,A,S,_;return r&&r.then?r.then(void 0,a):r}(0,function(e){var t;return console.log("Error generating permit2 witness transfer signature:",e),(null==e||null==(t=e.cause)?void 0:t.code)===exports.StatusCodes.UserRejectedRequest||(null==e?void 0:e.code)===exports.StatusCodes.UserRejectedRequest?{status:exports.TxnStatus.rejected,code:exports.StatusCodes.UserRejectedRequest}:{status:exports.TxnStatus.error,code:exports.StatusCodes.Error}}))}catch(e){return Promise.reject(e)}};function yt(e,t,n){if(!e.s){if(n instanceof lt){if(!n.s)return void(n.o=yt.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(yt.bind(null,e,t),yt.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var lt=/*#__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{yt(a,1,s(this.v))}catch(e){yt(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?yt(a,1,t?t(r):r):n?yt(a,1,n(r)):yt(a,2,r)}catch(e){yt(a,2,e)}},a},e}();function mt(e){return e instanceof lt&&1&e.s}var ct=function(){};function Tt(t){return e.encodeFunctionData({abi:xe,functionName:O.approve,args:[t.spender,t.amount]})}function ft(e,t,n){if(!e.s){if(n instanceof bt){if(!n.s)return void(n.o=ft.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(ft.bind(null,e,t),ft.bind(null,e,2));e.s=t,e.v=n;const a=e.o;a&&a(e)}}ut=ct,ct.generateBatchPermitDataForTokens=function(e){try{return Promise.resolve(dt(e)).then(function(e){return P({},e,{permitType:N.PermitBatchWitnessTransferFrom})})}catch(e){return Promise.reject(e)}},ct.generatePermitDataForToken=function(t){try{var a=t.token,r=t.oneToMany,s=t.totalSrcAmount,i=t.chainId,p=t.rpcUrls,o=t.permitType,u=t.account,d=0===a.index;if(Fe(a.address))return Promise.resolve({status:exports.TxnStatus.success,code:exports.StatusCodes.Success,permitData:A,nonce:BigInt(0),permitType:N.EIP2612Permit});var y=r&&d?s:BigInt(a.amount);return Promise.resolve(Ye({address:a.address,chainId:i,rpcUrls:p,owner:u,permit:a.permit})).then(function(s){if(o===N.EIP2612Permit||o===N.AutoPermit&&s.supportsPermit){if(!s.supportsPermit||!s.data)throw new Error("Token does not support EIP-2612 permits");return r&&!d?{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,permitData:A,nonce:BigInt(0),permitType:N.EIP2612Permit}:Promise.resolve(function(t){try{return Promise.resolve(function(a,r){try{var s=function(){var a,r,s=t.chainId,i=t.spender,p=t.account,o=t.token,u=t.signer,d=t.contractVersion,y=t.service,l=t.name,c=t.nonce,T=t.version,f=t.deadline,b=void 0===f?qe(V):f,v=o.address,h=o.amount?BigInt(o.amount):e.maxUint256,x=null!=o&&null!=(a=o.permit)&&null!=(a=a.eip2612)&&null!=(a=a.data)&&a.domain?null==o||null==(r=o.permit)||null==(r=r.eip2612)||null==(r=r.data)?void 0:r.domain:{name:l,version:T,chainId:s,verifyingContract:v};return Promise.resolve(Le({signer:u,domain:x,message:{owner:p,spender:i,value:h,nonce:c,deadline:b},types:Ve,account:p,primaryType:"Permit"})).then(function(t){var a=n.ethers.utils.splitSignature(t),r=d===m.v1&&y!==w.zap?n.ethers.utils.defaultAbiCoder.encode(["address","address","uint256","uint256","uint8","bytes32","bytes32"],[p,i,h,b,a.v,a.r,a.s]):n.ethers.utils.defaultAbiCoder.encode(["uint256","uint8","bytes32","bytes32"],[b,a.v,a.r,a.s]),s=e.encodeAbiParameters(e.parseAbiParameters("uint8, bytes"),[exports.DZapPermitMode.PERMIT,r]);return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,permitData:s}})}()}catch(e){return r(e)}return s&&s.then?s.then(void 0,r):s}(0,function(e){var t;return console.log("Error generating permit signature:",e),(null==e||null==(t=e.cause)?void 0:t.code)===exports.StatusCodes.UserRejectedRequest||(null==e?void 0:e.code)===exports.StatusCodes.UserRejectedRequest?{status:exports.TxnStatus.rejected,code:exports.StatusCodes.UserRejectedRequest}:{status:exports.TxnStatus.error,code:exports.StatusCodes.Error}}))}catch(e){return Promise.reject(e)}}(P({},t,{token:{address:a.address,amount:y.toString(),index:0,permit:a.permit},gasless:!1,version:s.data.version,name:s.data.name,nonce:s.data.nonce}))).then(function(e){return{status:e.status,code:e.code,permitData:e.permitData,nonce:BigInt(0),permitType:N.EIP2612Permit}})}var i=o===N.AutoPermit?N.PermitWitnessTransferFrom:o;return r&&!d?{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,permitData:S,nonce:BigInt(0),permitType:i}:Promise.resolve(dt(P({},t,{tokens:[a],permitType:i}))).then(function(e){return P({},e,{permitType:i})})})}catch(e){return Promise.reject(e)}},ct.signGaslessUserIntent=function(t){try{var n,a=function(e){return n?e:Promise.resolve(dt(P({},t,{tokens:r.map(function(e,t){return P({},e,{index:t})}),account:s,permitType:p}))).then(function(e){return{status:e.status,code:e.code,data:e.permitData&&{type:p,batchPermitData:e.permitData}}})},r=t.tokens,s=t.sender,i=t.permitType,p=i===N.AutoPermit?N.PermitBatchWitnessTransferFrom:i,o=function(){if(p===N.EIP2612Permit)return Promise.resolve(function(t){try{return Promise.resolve(function(n,a){try{var r=(s=t.chainId,i=t.spender,p=t.account,o=t.signer,u=t.rpcUrls,d=t.deadline||qe(V),y=e.getContract({abi:Be("trade",t.contractVersion),address:i,client:Ce({chainId:s,rpcUrls:u})}),Promise.resolve(y.read.getNonce([p])).then(function(e){var n={name:F.name,version:F.version,chainId:s,verifyingContract:i,salt:F.salt},a=function(e){var t=e.account,n=e.deadline,a=e.nonce;return e.txType===I?{message:{txId:e.txId,user:t,executorFeesHash:e.executorFeesHash,swapDataHash:e.swapDataHash,nonce:a,deadline:n},types:We,primaryType:"SignedGasLessSwapData"}:e.swapDataHash?{message:{txId:e.txId,user:t,nonce:a,deadline:n,executorFeesHash:e.executorFeesHash,swapDataHash:e.swapDataHash,adapterDataHash:e.adapterDataHash},types:Ze,primaryType:"SignedGasLessSwapBridgeData"}:{message:{txId:e.txId,user:t,nonce:a,deadline:n,executorFeesHash:e.executorFeesHash,adapterDataHash:e.adapterDataHash},types:He,primaryType:"SignedGasLessBridgeData"}}(P({},t,{deadline:d,nonce:e}));return Promise.resolve(Le({signer:o,domain:n,message:a.message,types:a.types,account:p,primaryType:a.primaryType})).then(function(t){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,data:{signature:t,nonce:e,deadline:d}}})}))}catch(e){return a(e)}var s,i,p,o,u,d,y;return r&&r.then?r.then(void 0,a):r}(0,function(e){return Ue({error:e})}))}catch(e){return Promise.reject(e)}}(P({},t,{account:s}))).then(function(e){var t={status:e.status,code:e.code,data:(null==e?void 0:e.data)&&P({},e.data,{type:p})};return n=1,t})}();return Promise.resolve(o&&o.then?o.then(a):a(o))}catch(e){return Promise.reject(e)}},ct.v1PermitSupport=function(e){return e.contractVersion===m.v1&&e.service!==w.zap},ct.shouldUseBatchPermit=function(e){var t=e.permitType,n=e.isBatchPermitAllowed,a=void 0===n||n,r=e.tokens,s=t===N.PermitBatchWitnessTransferFrom,i=t===N.AutoPermit&&(null==r?void 0:r.length)>1&&!e.oneToMany,p=!ut.v1PermitSupport({contractVersion:e.contractVersion,service:e.service});return a&&(s||i)&&p},ct.signPermit=function(e){try{var t,n=e.tokens;if(0===n.length)return Promise.resolve({status:exports.TxnStatus.success,code:exports.StatusCodes.Success,tokens:n,permitType:e.permitType});var a=n.length>1&&n[0].address===n[1].address;if(ut.shouldUseBatchPermit({permitType:e.permitType,isBatchPermitAllowed:e.isBatchPermitAllowed,tokens:n,oneToMany:a,contractVersion:e.contractVersion,service:e.service}))return Promise.resolve(ut.generateBatchPermitDataForTokens(P({},e,{tokens:n.map(function(e,t){return P({},e,{index:t})}),account:e.sender,permitType:N.PermitBatchWitnessTransferFrom}))).then(function(t){function a(){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,batchPermitData:t.permitData,permitType:t.permitType}}if(t.status!==exports.TxnStatus.success)return{status:t.status,code:t.code,permitType:N.PermitBatchWitnessTransferFrom};var r=function(){if(e.signatureCallback)return Promise.resolve(e.signatureCallback({batchPermitData:t.permitData,tokens:n,permitType:t.permitType})).then(function(){})}();return r&&r.then?r.then(a):a()});var r=function(e){return t?e:{status:exports.TxnStatus.success,tokens:n,code:exports.StatusCodes.Success,permitType:p}},s=n.reduce(function(e,t){return e+BigInt(t.amount)},BigInt(0)),i=null,p=ut.v1PermitSupport({contractVersion:e.contractVersion,service:e.service})?N.PermitSingle:e.permitType,o=(u=n,d=function(r){var o=0===r;return Promise.resolve(ut.generatePermitDataForToken(P({},e,{token:P({},n[r],{index:r}),firstTokenNonce:null!=i?i:void 0,oneToMany:a,totalSrcAmount:s,account:e.sender,permitType:p}))).then(function(u){var d;if(p=u.permitType,u.status!==exports.TxnStatus.success)return t=1,{status:u.status,code:u.code,permitType:u.permitType};n[r].permitData=u.permitData,o&&!Fe(n[r].address)&&(i=null!=(d=u.nonce)?d:null);var y=function(){if(e.signatureCallback&&!Fe(n[r].address)){var t=a&&o?s:BigInt(n[r].amount);return Promise.resolve(e.signatureCallback({permitData:u.permitData,srcToken:n[r].address,amount:t.toString(),permitType:u.permitType})).then(function(){})}}();return y&&y.then?y.then(function(){}):void 0})},y=function(){return t},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=yt.bind(null,l=new lt,2)));t=t.v}l?yt(l,1,t):l=t}catch(e){yt(l||(l=new lt),2,e)}}(),l);return Promise.resolve(o&&o.then?o.then(r):r(o))}catch(e){return Promise.reject(e)}var u,d,y,l,m,c};var bt=/*#__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{ft(a,1,s(this.v))}catch(e){ft(a,2,e)}return a}return this}return this.o=function(e){try{var r=e.v;1&e.s?ft(a,1,t?t(r):r):n?ft(a,1,n(r)):ft(a,2,r)}catch(e){ft(a,2,e)}},a},e}();function vt(e){return e instanceof bt&&1&e.s}var ht,xt=function(t){var n=t.chainId,a=t.sender,r=t.tokens,s=t.rpcUrls,i=t.multicallAddress,p=t.mode,o=t.spender;try{var u={},d=r.filter(function(e){return Fe(e.address)}),y=r.filter(function(e){return!Fe(e.address)});return Promise.resolve(Promise.all(y.map(function(e){var t=e.address,r=e.amount,i=e.permit;try{if(p===j.AutoPermit)return Promise.resolve(Ye({address:t,chainId:n,rpcUrls:s,owner:a,permit:i})).then(function(e){return{token:t,spender:e.supportsPermit?o:ot(n),amount:r,isEIP2612PermitSupported:e.supportsPermit,isDefaultApprovalMode:!1}});if(p===j.Default)return Promise.resolve({token:t,spender:o,amount:r,isDefaultApprovalMode:!0});var u=ot(n);return Promise.resolve({token:t,spender:u,amount:r,isDefaultApprovalMode:!1})}catch(e){return Promise.reject(e)}}))).then(function(t){for(var r,p=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 _(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)?_(e,t):void 0}}(e))){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(d);!(r=p()).done;)u[r.value.address]={allowance:e.maxUint256,approvalNeeded:!1,signatureNeeded:!1};return 0===y.length?{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,data:u}:function(r,p){try{var o=Promise.resolve(function(e){var t=e.chainId,n=e.data,a=e.owner,r=e.multicallAddress,s=e.rpcUrls;try{var i=n.map(function(e){return{address:e.token,abi:xe,functionName:O.allowance,args:[a,e.spender]}});return Promise.resolve(Ge({chainId:t,contracts:i,rpcUrls:s,multicallAddress:r,allowFailure:!1})).then(function(e){var t=e.status,a=e.code,r=e.data;if(t!==exports.TxnStatus.success)return{status:t,code:a,data:{}};for(var s={},i=0;i<n.length;i++)s[n[i].token]=r[i];return{status:t,code:a,data:s}})}catch(e){return Promise.reject(e)}}({chainId:n,data:t,owner:a,multicallAddress:i,rpcUrls:s})).then(function(n){for(var a=n.data,r=0;r<t.length;r++){var s=t[r],i=s.token,p=s.isEIP2612PermitSupported,o=s.isDefaultApprovalMode,d=p?e.maxUint256:a[i],y=!p&&d<BigInt(s.amount);u[i]={allowance:d,approvalNeeded:y,signatureNeeded:!o}}return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,data:u}})}catch(e){return p(e)}return o&&o.then?o.then(void 0,p):o}(0,function(e){return console.error("Multicall allowance check failed:",e),{status:exports.TxnStatus.error,code:exports.StatusCodes.Error,data:u}})})}catch(e){return Promise.reject(e)}},gt=function(e,t){try{return Promise.resolve(function(n,a){try{var i=Promise.resolve(r.getAction(e,s.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 i&&i.then?i.then(void 0,a):i}(0,function(e){return console.warn("EIP-5792 batch calls not supported:",e),null}))}catch(e){return Promise.reject(e)}},wt=function(e,t){try{return Promise.resolve(r.getAction(e,s.waitForCallsStatus,"waitForCallsStatus")({id:t,timeout:864e5})).then(function(e){var t=e.receipts,n=e.statusCode;if(e.status===exports.TxnStatus.success){if(null==t||!t.length||!t.every(function(e){return e.transactionHash})||t.some(function(e){return e.status===exports.TxnStatus.reverted}))throw new Error("Transaction was reverted.");return t[t.length-1]}if(n>=400&&n<500)throw new Error("Transaction was canceled.");throw new Error("Transaction failed.")})}catch(e){return Promise.reject(e)}};function It(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}var At=function(){};ht=At,At.sendTransaction=function(e,t,n,a,r){try{var s,i=function(){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:s,additionalInfo:a,updatedQuotes:r}},p=Me(e)?Promise.resolve(e.sendTransaction({from:t.from,to:t.to,data:t.data,value:t.value,gasLimit:t.gasLimit})).then(function(e){s=e.hash}):Promise.resolve(e.sendTransaction({chain:_e[n],account:t.from,to:t.to,data:t.data,value:BigInt(t.value)})).then(function(e){s=e});return Promise.resolve(p&&p.then?p.then(i):i())}catch(e){return Promise.reject(e)}},At.sendTxnWithBatch=function(e,t,n,a,r,s,i,p){try{return Promise.resolve(function(e){var t=e.tokens,n=e.chainId,a=e.sender,r=e.spender,s=e.multicallAddress,i=e.rpcUrls;try{var p=t.filter(function(e){return!Fe(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:Tt({spender:r,amount:BigInt(e.amount)}),value:BigInt(0)}})})}catch(e){return Promise.reject(e)}}({tokens:e.data.map(function(e){return{address:e.srcToken,amount:e.amount}}),chainId:a,multicallAddress:i,sender:n.from,spender:n.to,rpcUrls:p})).then(function(e){var i=[].concat(e,[{to:n.to,data:n.data,value:BigInt(n.value)}]);return 0===e.length?ht.sendTransaction(t,n,a,r,s):Promise.resolve(gt(t,i)).then(function(e){return e?(console.log("Waiting for batch transaction completion..."),Promise.resolve(wt(t,e.id)).then(function(e){return console.log({receipt:e}),{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e.transactionHash,additionalInfo:r,updatedQuotes:s}})):{status:exports.TxnStatus.error,errorMsg:"Batch call failed",code:exports.StatusCodes.Error}})})}catch(e){return Promise.reject(e)}},At.sendHyperLiquidTransaction=function(e,t,n,a,r,s){try{var i,p,o=function(e){return i?e:Promise.resolve(X({chainId:a,txData:p,txId:n.txId})).then(function(e){if(e.status!==exports.TxnStatus.success)throw new Error("Failed to broadcast or save transaction");return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e.txnHash,additionalInfo:r,updatedQuotes:s}})},u=function(){if(998===a){var n=r?Object.values(r)[0]:null,o=n&&"typedData"in n?n.typedData:null;if(!r||!o){var u={status:exports.TxnStatus.error,errorMsg:"Missing additional info for HyperLiquid transaction",code:exports.StatusCodes.Error};return i=1,u}return Promise.resolve(function(e){try{return Promise.resolve(function(t,n){try{var a=(r=e.message,Promise.resolve(Le({signer:e.signer,account:e.account,domain:e.domain,message:r,primaryType:e.primaryType,types:e.types})).then(function(e){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,data:{signature:e,message:r}}}))}catch(e){return n(e)}var r;return a&&a.then?a.then(void 0,n):a}(0,function(e){return Ue({error:e})}))}catch(e){return Promise.reject(e)}}({signer:e,account:t.from,domain:o.domain,types:o.types,message:o.message,primaryType:o.primaryType})).then(function(e){var t;if(e.status!==exports.TxnStatus.success)throw new Error("Failed to sign transaction");p=null==(t=e.data)?void 0:t.signature})}return Promise.resolve(ht.sendTransaction(e,t,a,r,s)).then(function(e){if(e.status!==exports.TxnStatus.success)throw new Error("Failed to sign transaction");p=e.txnHash})}();return Promise.resolve(u&&u.then?u.then(o):o(u))}catch(e){return Promise.reject(e)}},At.buildAndSendTransaction=function(e){var t=e.request,n=e.signer,a=e.txnData,r=e.multicallAddress,s=e.batchTransaction,i=void 0!==s&&s,p=e.rpcUrls;try{return Promise.resolve(It(function(){function e(){var e=s.additionalInfo,a=s.updatedQuotes,u={from:s.from,to:s.to,data:s.data,value:s.value,gasLimit:s.gasLimit};return[o].concat(t.data.map(function(e){return e.toChain})).some(function(e){return 998===e})?ht.sendHyperLiquidTransaction(n,u,s,o,e,a):i&&!Me(n)?ht.sendTxnWithBatch(t,n,u,o,e,a,r,p):(console.log("Using viem walletClient - sending regular transaction."),ht.sendTransaction(n,u,o,e,a))}var s,o=t.fromChain,u=function(){if(!a)return Promise.resolve(Y(t)).then(function(e){s=e});s=a}();return u&&u.then?u.then(e):e()},function(e){var t,n,a,r,s,i,p,o,u;return console.log({error:e}),Ne(e)?(null==e||null==(t=e.response)?void 0:t.status)===exports.StatusCodes.SimulationFailure?{status:exports.TxnStatus.error,errorMsg:"Simulation Failed",error:(null==(p=e.response)?void 0:p.data).message,code:(null==(o=e.response)?void 0:o.data).code,action:(null==(u=e.response)?void 0:u.data).action}:{status:exports.TxnStatus.error,errorMsg:"Params Failed: "+JSON.stringify(null==e||null==(n=e.response)||null==(n=n.data)?void 0:n.message),error:null!=(a=null==e||null==(r=e.response)?void 0:r.data)?a:e,code:null!=(s=null==e||null==(i=e.response)?void 0:i.status)?s:exports.StatusCodes.Error}:Ue({error:e})}))}catch(e){return Promise.reject(e)}},At.buildGaslessTxAndSignPermit=function(e){var t=e.request,n=e.signer,a=e.rpcUrls,r=e.spender,s=e.txnData,i=e.txnStatusCallback;try{return Promise.resolve(It(function(){function e(){var e=t.hasPermit2ApprovalForAllTokens?N.PermitBatchWitnessTransferFrom:N.EIP2612Permit,s=p.txId;return Promise.resolve(ct.signGaslessUserIntent(P({tokens:t.data.map(function(e,t){return{address:e.srcToken,amount:e.amount,index:t}}),chainId:o,rpcUrls:a,sender:t.sender,spender:r,permitType:e,signer:n,gasless:!0,txId:s,service:"trade",contractVersion:m.v2},p.transaction))).then(function(e){var n;function a(e){if(n)return e;throw new Error("Gasless Transaction Failed")}var r=function(){if(e.status===exports.TxnStatus.success&&e.data){var a,r;i&&i(exports.TxnStatus.waitingForExecution);var p=e.data.type===N.EIP2612Permit?{permitData:t.data.map(function(e){return{token:e.srcToken,amount:e.amount,permit:e.permitData}}),gaslessIntentNonce:null==(a=e.data.nonce)?void 0:a.toString(),gaslessIntentSignature:e.data.signature,gaslessIntentDeadline:null==(r=e.data.deadline)?void 0:r.toString()}:{batchPermitData:e.data.batchPermitData};return Promise.resolve(function(e){return G({endpoint:"/gasless/executeTx",data:e,method:H})}({chainId:t.fromChain,txId:s,permit:p})).then(function(e){if(e.status!==exports.TxnStatus.success)throw new Error("Failed to execute gasless transaction");var t={status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e.txnHash};return n=1,t})}}();return r&&r.then?r.then(a):a(r)})}var p,o=t.fromChain,u=function(){if(!s)return Promise.resolve(Y(P({},t,{gasless:!0}))).then(function(e){p=e});p=s}();return u&&u.then?u.then(e):e()},function(e){var t,n,a,r,s,i,p,o,u;return console.log({error:e}),Ne(e)?(null==e||null==(t=e.response)?void 0:t.status)===exports.StatusCodes.SimulationFailure?{status:exports.TxnStatus.error,errorMsg:"Simulation Failed",error:(null==(p=e.response)?void 0:p.data).message,code:(null==(o=e.response)?void 0:o.data).code,action:(null==(u=e.response)?void 0:u.data).action}:{status:exports.TxnStatus.error,errorMsg:"Params Failed: "+JSON.stringify(null==e||null==(n=e.response)||null==(n=n.data)?void 0:n.message),error:null!=(a=null==e||null==(r=e.response)?void 0:r.data)?a:e,code:null!=(s=null==e||null==(i=e.response)?void 0:i.status)?s:exports.StatusCodes.Error}:Ue({error:e})}))}catch(e){return Promise.reject(e)}};var St,_t={execute:"execute"};function Pt(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function Dt(e,t,n){if(!e.s){if(n instanceof Ct){if(!n.s)return void(n.o=Dt.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(Dt.bind(null,e,t),Dt.bind(null,e,2));e.s=t,e.v=n;var a=e.o;a&&a(e)}}var kt=function(){};const Ct=/*#__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{Dt(a,1,e(this.v))}catch(e){Dt(a,2,e)}return a}return this}return this.o=function(e){try{const r=e.v;1&e.s?Dt(a,1,t?t(r):r):n?Dt(a,1,n(r)):Dt(a,2,r)}catch(e){Dt(a,2,e)}},a},e}();function Et(e){return e instanceof Ct&&1&e.s}St=kt,kt.execute=function(e){var t=e.chainId,n=e.txnData,a=e.signer;try{return Promise.resolve(Pt(function(){var e,r=n.callData,s=n.callTo,i=n.value,p=n.estimatedGas;return Me(a)?(console.log("Using ethers signer."),Promise.resolve(a.getAddress()).then(function(e){return Promise.resolve(a.sendTransaction({from:e,to:s,data:r,value:BigInt(i),gasLimit:BigInt(p)?BigInt(p):void 0})).then(function(e){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e.hash}})})):(console.log("Using viem walletClient."),Promise.resolve(a.sendTransaction({chain:_e[t],account:null==(e=a.account)?void 0:e.address,to:n.callTo,data:n.callData,value:BigInt(n.value)})).then(function(e){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e}}))},function(e){return console.log({error:e}),Ue({error:e})}))}catch(e){return Promise.reject(e)}},kt.approve=function(e){var t=e.chainId,n=e.data,a=e.signer;try{return Promise.resolve(Pt(function(){var e=n.callData,r=n.callTo,s=n.value,i=n.estimatedGas,p=Ce({chainId:t,rpcUrls:void 0});return Promise.resolve(p.getBlockNumber()).then(function(p){return console.log("block Number and data"),console.dir(P({blockNumber:p},n),{depth:null}),Me(a)?(console.log("Using ethers signer."),Promise.resolve(a.getAddress()).then(function(t){return Promise.resolve(a.sendTransaction({from:t,to:r,data:e,value:BigInt(s),gasLimit:BigInt(i)?BigInt(i):void 0})).then(function(e){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e.hash}})})):(console.log("Using viem walletClient."),Promise.resolve(a.sendTransaction({chain:_e[t],account:null==(o=a.account)?void 0:o.address,to:n.callTo,data:n.callData,value:BigInt(n.value)})).then(function(e){return{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:e}}));var o})},function(e){return console.log({error:e}),Ue({error:e})}))}catch(e){return Promise.reject(e)}},kt.zap=function(e){var t=e.request,n=e.steps,a=e.signer;try{var r;return Promise.resolve(Pt(function(){function e(e){var t,i;if(r)return e;function p(e){return t?e:{status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:i}}var o,u,d,y,l,m,c=(o=n,u=function(e){var r=n[e];return function(){if(r.action===_t.execute)return Promise.resolve(St.execute({chainId:s,txnData:r.data,signer:a})).then(function(e){if(e.status!==exports.TxnStatus.success)return t=1,e;i=e.txnHash})}()},d=function(){return t},m=-1,function e(t){try{for(;++m<o.length&&(!d||!d());)if((t=u(m))&&t.then){if(!Et(t))return void t.then(e,l||(l=Dt.bind(null,y=new Ct,2)));t=t.v}y?Dt(y,1,t):y=t}catch(e){Dt(y||(y=new Ct),2,e)}}(),y);return c&&c.then?c.then(p):p(c)}var s=t.srcChainId,i=function(){if(!n||0===n.length)return Promise.resolve(Q(t)).then(function(e){if(!(n=e.data.steps)||0===n.length){var t={status:exports.TxnStatus.error,code:exports.StatusCodes.FunctionNotFound,errorMsg:"No steps found in the zap route."};return r=1,t}})}();return i&&i.then?i.then(e):e(i)},function(e){return console.log({error:e}),Ue({error:e})}))}catch(e){return Promise.reject(e)}};var Mt=function(t,n,a){return n?new h.default(e.formatUnits(BigInt(t),n)).mul(a||0).toFixed(5):"0"},Ft=function(e){var t=new h.default(function(e){return e.fee.gasFee.reduce(function(e,t){return t.included?e:e.plus(t.amountUSD||"0")},new h.default(0)).toFixed(5)}(e));return e.fee.providerFee.forEach(function(e){e.included||(t=t.plus(new h.default(e.amountUSD||"0")))}),new h.default(e.destAmountUSD||"0").minus(t).toFixed(5)},Bt=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,Mt(s,i,o))},r=function(e){return e.map(function(e){return P({},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}},Rt=function(e,t){return e.path.map(function(n){return P({},n,{fee:Bt(n.fee,t).fee,srcAmountUSD:e.srcAmountUSD,destAmountUSD:e.destAmountUSD})})};function Nt(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}var Ut=/*#__PURE__*/function(){function t(){this.cancelTokenSource=null,this.priceService=void 0,this.priceService=new ve}t.getInstance=function(e,n){return t.instance||(t.instance=new t),e&&q.setApiKey(e),n&&q.setRpcUrlsByChainId(n),t.instance},t.getChainConfig=function(){try{var e=function(){return t.chainConfig},n=function(){if(!t.chainConfig)return Promise.resolve(J()).then(function(e){var n={};e.forEach(function(e){n[e.chainId]||(n[e.chainId]=e)}),t.chainConfig=n})}();return Promise.resolve(n&&n.then?n.then(e):e())}catch(e){return Promise.reject(e)}},t.getDZapAbi=function(e,t){return Be(e,t)};var n=t.prototype;return n.getTradeQuotes=function(e){try{var n=this;return Promise.resolve(function(e){return G({endpoint:"/quotes",data:e,method:H,shouldRetry:!0})}(e)).then(function(a){return Promise.resolve(t.getChainConfig()).then(function(t){return null===t?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:[ie]})).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=Mt(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=Mt(d.destAmount,l,b)}if(Number(d.srcAmountUSD)&&Number(d.destAmountUSD)){var v=new h.default(d.destAmountUSD).minus(d.srcAmountUSD).div(d.srcAmountUSD).mul(100);d.priceImpactPercent=v.toFixed(2)}var x=Bt(d.fee,a);p=p&&!x.isUpdated,d.fee=x.fee,d.path=Rt(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=Ft(e[1]),r=Ft(n);return Number(r)-Number(a)})),i.recommendedSource=Object.keys(i.quoteRates)[0])}}return e})}catch(e){return Promise.reject(e)}}(a,e,n.priceService,t)})})}catch(e){return Promise.reject(e)}},n.buildTradeTxn=function(e){try{return Promise.resolve(Y(e))}catch(e){return Promise.reject(e)}},n.getTradeTxnStatus=function(e){return function(e){return G({endpoint:"/status",data:{txHash:e.txHash,chainId:e.chainId},method:W})}({txHash:e.txHash,chainId:e.chainId})},n.getTradeMultiTxnStatus=function(e){return function(e){return G({endpoint:"/status/multi",data:{txHashes:e.txHashes,chainIds:e.chainIds},method:W})}({txHashes:e.txHashes,chainIds:e.chainIds})},n.getAllSupportedChains=function(){return J()},n.getAllTokens=function(n,a,r){try{var s=this;return Promise.resolve(Nt(function(){return Promise.resolve(Promise.allSettled([$(n,a,r),t.getChainConfig()])).then(function(t){var a=t[0],r=t[1],i="fulfilled"===a.status?a.value:{},p="fulfilled"===r.status?r.value:null;return p?Promise.resolve(function(t,n,a,r){try{return Promise.resolve(function(s,i){try{var p=0===(o=Object.values(t).filter(function(e){var t=e.price;return(!t||"0"===t)&&"0"!==e.balance}).map(function(e){return e.contract})).length?t:Promise.resolve(r.getPrices({chainId:n,tokenAddresses:o,chainConfig:a,notAllowSources:[ie]})).then(function(n){return o.forEach(function(a){t[a].price=n[a]||t[a].price,t[a].balanceInUsd=n[a]?parseFloat(n[a])*parseFloat(e.formatUnits(BigInt(t[a].balance),t[a].decimals)):null}),s=(a=Object.entries(t).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(e){return console.error("Error fetching token prices:",e),t}))}catch(e){return Promise.reject(e)}}(i,n,p,s.priceService)):i})},function(e){return console.error("Error fetching or updating tokens:",e),{}}))}catch(e){return Promise.reject(e)}},n.getTokenDetails=function(e,t,n,a,r){try{return Promise.resolve(ee(e,t,n,a,r))}catch(e){return Promise.reject(e)}},n.getTokensDetails=function(e,t,n,a,r){try{return Promise.resolve(ee(e,t,n,a,r))}catch(e){return Promise.reject(e)}},n.getTokenPrices=function(e,n){try{var a=this;return Promise.resolve(t.getChainConfig()).then(function(t){return Promise.resolve(a.priceService.getPrices({chainId:n,tokenAddresses:e,chainConfig:t}))})}catch(e){return Promise.reject(e)}},n.trade=function(e){var n=e.request,a=e.signer,r=e.txnData,s=e.batchTransaction,i=void 0!==s&&s,p=e.rpcUrls;try{return Promise.resolve(t.getChainConfig()).then(function(e){var t;return Promise.resolve(At.buildAndSendTransaction({request:n,signer:a,txnData:r,batchTransaction:i,multicallAddress:null==e||null==(t=e[n.fromChain])?void 0:t.multicallAddress,rpcUrls:p}))})}catch(e){return Promise.reject(e)}},n.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:w.trade})).then(function(e){return Promise.resolve(At.buildGaslessTxAndSignPermit({request:t,signer:n,rpcUrls:q.getRpcUrlsByChainId(t.fromChain),spender:e,txnData:a,txnStatusCallback:r}))})}catch(e){return Promise.reject(e)}},n.sendTransaction=function(e){var t=e.chainId,n=e.signer,a=e.txnData;try{return Promise.resolve(je.sendTransaction(P({signer:n,chainId:t},a)))}catch(e){return Promise.reject(e)}},n.waitForBatchTransactionReceipt=function(e){var t=e.walletClient,n=e.batchHash;try{return Promise.resolve(wt(t,n))}catch(e){return Promise.reject(e)}},n.decodeTxnData=function(n){var a=n.data,r=n.service,s=n.chainId;try{var i=Ce({chainId:s,rpcUrls:q.getRpcUrlsByChainId(s)});return Promise.resolve(Promise.all([t.getChainConfig(),i.getTransaction({hash:a.transactionHash})])).then(function(t){var n=t[0],i=t[1];if(null===n||null==(null==n?void 0:n[s]))throw new Error("Chains config not found");return function(t,n,a,r){var s,i,p=[],o=Be(a,(null==r?void 0:r.version)||m.v1);try{p=e.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(Ee({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})),P({},e,{fromToken:de(e.fromToken,null==r||null==(t=r.nativeToken)?void 0:t.contract),toToken:de(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,c,T,f,b=u.swapInfo,v=b.fromAmount,h=b.fromToken,x=b.toToken;BigInt(b.returnToAmount)!==BigInt(0)&&BigInt(v)!==BigInt(0)||d.push(Ee({srcToken:h,destToken:x,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=P({},u.swapInfo,{fromToken:de(u.swapInfo.fromToken,null==r||null==(l=r.nativeToken)?void 0:l.contract),toToken:de(u.swapInfo.toToken,null==r||null==(c=r.nativeToken)?void 0:c.contract)})}return{swapInfo:(new De).updateSwapInfo({data:t.input,eventSwapInfo:y})||y,swapFailPairs:d}}(i,a,r,n[s])})}catch(e){return Promise.reject(e)}},n.calculatePoints=function(e){try{return Promise.resolve(function(e){return G({endpoint:"user/calculatePoints",data:e,method:H})}(e))}catch(e){return Promise.reject(e)}},n.getDZapContractAddress=function(e){var n=e.chainId,a=e.service;try{return Promise.resolve(t.getChainConfig()).then(function(e){var t;if(!e[n].isEnabled||!e)throw new Error("Chains config not found");var r=e[n];if(null==r||!r.contracts)throw new Error("No contracts found for chain: "+n);var s=((t={})[w.trade]=r.contracts.router,t[w.dca]=r.contracts.dca,t[w.zap]=r.contracts.zap,t)[a];if(!s)throw new Error('Contract not found for service "'+a+'" on chain: '+n);return s})}catch(e){return Promise.reject(e)}},n.getAllowance=function(e){var n=e.chainId,a=e.sender,r=e.tokens,s=e.service,i=e.rpcUrls,p=e.spender,o=e.mode,u=void 0===o?j.AutoPermit:o;try{var d=this;return Promise.resolve(t.getChainConfig()).then(function(e){function t(t){var s,p=null==e||null==(s=e[n])?void 0:s.multicallAddress;return Promise.resolve(xt({chainId:n,sender:a,tokens:r,rpcUrls:i||q.getRpcUrlsByChainId(n),mode:u,spender:t,multicallAddress:p}))}return p?t(p):Promise.resolve(d.getDZapContractAddress({chainId:n,service:s})).then(t)})}catch(e){return Promise.reject(e)}},n.approve=function(t){var n=t.chainId,a=t.signer,r=t.tokens,s=t.approvalTxnCallback,i=t.service,p=t.mode,o=void 0===p?j.AutoPermit:p,u=t.rpcUrls,d=t.spender;try{var y=function(t){return Promise.resolve(function(t){var n,a,r,s,i,p,o=t.chainId,u=t.signer,d=t.rpcUrls,y=t.mode,l=t.tokens,m=t.approvalTxnCallback,c=t.spender;try{var T,f=function(e){return T?e:{status:exports.TxnStatus.success,code:exports.StatusCodes.Success}};y!==j.Default&&(c=ot(o));var b=(n=l,a=function(t){function n(e){if(T)return e;if(a.code!==exports.StatusCodes.Success){var n,r={status:a.status,code:(null==(n=a)?void 0:n.code)||exports.StatusCodes.FunctionNotFound};return T=1,r}return function(){if(m)return Promise.resolve(m({txnDetails:a,address:l[t].address})).then(function(e){if(e&&e!==exports.TxnStatus.success){var t,n={status:a.status,code:(null==(t=a)?void 0:t.code)||exports.StatusCodes.Error};return T=1,n}})}()}var a={status:exports.TxnStatus.success,code:exports.StatusCodes.Success,txnHash:""},r=Me(u)?Promise.resolve(u.getAddress()).then(function(n){var a=e.encodeFunctionData({abi:xe,functionName:O.approve,args:[c,BigInt(l[t].amount)]});return Promise.resolve(u.sendTransaction({from:n,chainId:o,to:l[t].address,data:a})).then(function(){var e={status:exports.TxnStatus.success,code:exports.StatusCodes.Success};return T=1,e})}):Promise.resolve(function(e){var t=e.chainId,n=e.contractAddress,a=e.abi,r=e.functionName,s=e.args,i=void 0===s?[]:s,p=e.value,o=void 0===p?"0":p,u=e.rpcUrls,d=void 0===u?[""]:u,y=e.signer;try{var l=Ce({chainId:t,rpcUrls:d});return Promise.resolve(function(e,t){try{var s=Promise.resolve(l.simulateContract({address:n,abi:a,functionName:r,args:i,account:y.account,value:BigInt(o)})).then(function(e){return Promise.resolve(y.writeContract(e.request)).then(function(e){return{txnHash:e,status:exports.TxnStatus.success,code:exports.StatusCodes.Success}})})}catch(e){return t(e)}return s&&s.then?s.then(void 0,t):s}(0,function(e){return console.log({e:e}),(null==e?void 0:e.code)===exports.StatusCodes.UserRejectedRequest?{status:exports.TxnStatus.rejected,code:null==e?void 0:e.code,txnHash:""}:{status:exports.TxnStatus.error,code:null==e?void 0:e.code,txnHash:""}}))}catch(e){return Promise.reject(e)}}({chainId:o,contractAddress:l[t].address,abi:xe,functionName:O.approve,args:[c,l[t].amount],rpcUrls:d,signer:u})).then(function(e){a=e});return r&&r.then?r.then(n):n(r)},r=function(){return T},p=-1,function e(t){try{for(;++p<n.length&&(!r||!r());)if((t=a(p))&&t.then){if(!vt(t))return void t.then(e,i||(i=ft.bind(null,s=new bt,2)));t=t.v}s?ft(s,1,t):s=t}catch(e){ft(s||(s=new bt),2,e)}}(),s);return Promise.resolve(b&&b.then?b.then(f):f(b))}catch(e){return Promise.reject(e)}}({chainId:n,signer:a,rpcUrls:u||q.getRpcUrlsByChainId(n),tokens:r,approvalTxnCallback:s,mode:o,spender:t}))};return Promise.resolve(d?y(d):Promise.resolve(this.getDZapContractAddress({chainId:n,service:i})).then(y))}catch(e){return Promise.reject(e)}},n.sign=function(e){try{var n=function(n){return Promise.resolve(t.getChainConfig()).then(function(t){var a,s=(null==e?void 0:e.permitType)||N.AutoPermit,i=P({},e,{rpcUrls:(null==e?void 0:e.rpcUrls)||q.getRpcUrlsByChainId(r),permitType:s,spender:n,gasless:!1,contractVersion:(null==(a=t[r])?void 0:a.version)||m.v1});return Promise.resolve(ct.signPermit(i))})},a=e.service,r=e.chainId,s=null==e?void 0:e.spender;return Promise.resolve(s?n(s):Promise.resolve(this.getDZapContractAddress({chainId:r,service:a})).then(n))}catch(e){return Promise.reject(e)}},n.zap=function(e){var t=e.request,n=e.steps,a=e.signer;try{return Promise.resolve(kt.zap({request:t,steps:n,signer:a}))}catch(e){return Promise.reject(e)}},n.buildZapTxn=function(e){try{var t=this;return t.cancelTokenSource&&t.cancelTokenSource.cancel("Cancelled due to new request"),t.cancelTokenSource=b.default.CancelToken.source(),Promise.resolve(Q(e,t.cancelTokenSource.token)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.getZapQuote=function(e){try{var t=this;return t.cancelTokenSource&&t.cancelTokenSource.cancel("Cancelled due to new request"),t.cancelTokenSource=b.default.CancelToken.source(),Promise.resolve(function(e,t){return K({endpoint:"/quote",data:e,method:H,cancelToken:t})}(e,t.cancelTokenSource.token)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.getZapTxnStatus=function(e){try{return Promise.resolve(function(e){return K({endpoint:"/status",data:e,method:W})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.getBalances=function(e,t){try{return Promise.resolve(function(e,t){return G({endpoint:"token/balance-of",data:{chainId:e,account:t},method:W})}(e,t)).then(function(e){return e.result})}catch(e){return Promise.reject(e)}},n.sendBatchCalls=function(e){var t=e.walletClient,n=e.calls;try{return Promise.resolve(gt(t,n))}catch(e){return Promise.reject(e)}},n.getZapPositions=function(e){try{return Promise.resolve(function(e){return K({endpoint:"/user/positions",data:e,method:W})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.getZapPools=function(e){try{return Promise.resolve(function(e){return K({endpoint:"/pools",data:e,method:W})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.getZapPoolDetails=function(e){try{return Promise.resolve(function(e){return K({endpoint:"/pool/details",data:e,method:W})}(e)).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.getZapChains=function(){try{return Promise.resolve(K({endpoint:"/config/chains",method:W})).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.getZapProviders=function(){try{return Promise.resolve(K({endpoint:"/config/providers",method:W})).then(function(e){return e.data})}catch(e){return Promise.reject(e)}},n.broadcastTradeTx=function(e){try{return Promise.resolve(X(e))}catch(e){return Promise.reject(e)}},n.broadcastZapTx=function(e){try{return Promise.resolve(Nt(function(){return Promise.resolve(function(e){return K({endpoint:"/broadcast",data:e,method:H})}(e)).then(function(e){var t;if(e.status===exports.TxnStatus.success)return{status:exports.TxnStatus.success,txnHash:e.data.txnHash};throw new Error((null==(t=e.data)?void 0:t.message)||"Failed to broadcast zap transaction")})},function(){return{status:exports.TxnStatus.error,message:"Failed to broadcast zap transaction"}}))}catch(e){return Promise.reject(e)}},t}();Ut.instance=void 0,Ut.chainConfig=null,Ut.getOtherAbi=function(e){return function(e){switch(e){case g.permit2:return he;case g.erc20:return xe;default:throw new Error("Invalid Abi")}}(e)},exports.ApprovalModes=j,exports.DZapClient=Ut,exports.OtherAbis=g,exports.PermitTypes=N,exports.QuoteFilters={fastest:"fastest",best:"best",all:"all"},exports.STATUS={pending:"pending",inProgress:"in-progress",success:"success",rejected:"rejected",error:"error"},exports.Services=w,exports.SignatureExpiryInSecs=V,exports.SwapInputDataDecoder=De,exports.checkEIP2612PermitSupport=Ye,exports.contractErrorActions={TRY_ANOTHER_ROUTE:"TRY_ANOTHER_ROUTE",INCREASE_SLIPPAGE:"INCREASE_SLIPPAGE",INCREASE_ALLOWANCE:"INCREASE_ALLOWANCE"},exports.erc20Functions=O,exports.formatToken=de,exports.getTokensPairKey=Ee,exports.zapPathAction={swap:"swap",bridge:"bridge",deposit:"deposit",withdraw:"withdraw",stake:"stake",unstake:"unstake"},exports.zapStepAction=_t;
2
2
  //# sourceMappingURL=index.js.map