Socket
Socket
Sign inDemoInstall

@rainbow-me/swaps

Package Overview
Dependencies
13
Maintainers
0
Versions
43
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.20.0 to 0.21.0

19

dist/quotes.d.ts

@@ -39,2 +39,15 @@ import { Signer } from '@ethersproject/abstract-signer';

/**
* Function to build the swap API URI to get the claim bridge quote
*/
export declare const buildRainbowClaimBridgeQuoteUrl: ({ chainId, toChainId, sellTokenAddress, buyTokenAddress, sellAmount, fromAddress, slippage, refuel, }: {
chainId: number;
toChainId?: number | undefined;
sellTokenAddress: EthereumAddress;
buyTokenAddress: EthereumAddress;
sellAmount?: string | number | bigint | BigNumber | import("@ethersproject/bytes").Bytes | undefined;
fromAddress: EthereumAddress;
slippage: number;
refuel?: boolean | undefined;
}) => string;
/**
* Function to get a minimum amount of source chain gas token to perform a refuel swap

@@ -84,2 +97,6 @@ *

/**
* Function to get a crosschain swap quote from rainbow's swap aggregator backend
*/
export declare const getClaimBridgeQuote: (params: QuoteParams) => Promise<CrosschainQuote | QuoteError | null>;
/**
* Function that fills a quote onchain via rainbow's swap aggregator smart contract

@@ -91,3 +108,3 @@ *

* @param {boolean} permit
* @param {number} ChainId
* @param {number} chainId
* @param {string} referrer

@@ -94,0 +111,0 @@ * @returns {Promise<Transaction>}

2

dist/swaps.cjs.production.min.js

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@ethersproject/contracts"),t=require("@ethersproject/bignumber"),n=require("@ethereumjs/util"),a=require("@ethersproject/bytes"),r=require("@metamask/eth-sig-util"),i=require("@ethersproject/keccak256"),s=require("@ethersproject/strings");function o(e,t,n,a,r,i,s){try{var o=e[i](s),u=o.value}catch(e){return void n(e)}o.done?t(u):Promise.resolve(u).then(a,r)}function u(e){return function(){var t=this,n=arguments;return new Promise((function(a,r){var i=e.apply(t,n);function s(e){o(i,a,r,s,u,"next",e)}function u(e){o(i,a,r,s,u,"throw",e)}s(void 0)}))}}function p(){return(p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(this,arguments)}var d,l,y,c,m,f,b=(function(e){var t=function(e){var t=Object.prototype,n=t.hasOwnProperty,a="function"==typeof Symbol?Symbol:{},r=a.iterator||"@@iterator",i=a.asyncIterator||"@@asyncIterator",s=a.toStringTag||"@@toStringTag";function o(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{o({},"")}catch(e){o=function(e,t,n){return e[t]=n}}function u(e,t,n,a){var r=Object.create((t&&t.prototype instanceof l?t:l).prototype),i=new A(a||[]);return r._invoke=function(e,t,n){var a="suspendedStart";return function(r,i){if("executing"===a)throw new Error("Generator is already running");if("completed"===a){if("throw"===r)throw i;return{value:void 0,done:!0}}for(n.method=r,n.arg=i;;){var s=n.delegate;if(s){var o=x(s,n);if(o){if(o===d)continue;return o}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===a)throw a="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a="executing";var u=p(e,t,n);if("normal"===u.type){if(a=n.done?"completed":"suspendedYield",u.arg===d)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(a="completed",n.method="throw",n.arg=u.arg)}}}(e,n,i),r}function p(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function l(){}function y(){}function c(){}var m={};o(m,r,(function(){return this}));var f=Object.getPrototypeOf,b=f&&f(f(S([])));b&&b!==t&&n.call(b,r)&&(m=b);var h=c.prototype=l.prototype=Object.create(m);function T(e){["next","throw","return"].forEach((function(t){o(e,t,(function(e){return this._invoke(t,e)}))}))}function v(e,t){var a;this._invoke=function(r,i){function s(){return new t((function(a,s){!function a(r,i,s,o){var u=p(e[r],e,i);if("throw"!==u.type){var d=u.arg,l=d.value;return l&&"object"==typeof l&&n.call(l,"__await")?t.resolve(l.__await).then((function(e){a("next",e,s,o)}),(function(e){a("throw",e,s,o)})):t.resolve(l).then((function(e){d.value=e,s(d)}),(function(e){return a("throw",e,s,o)}))}o(u.arg)}(r,i,a,s)}))}return a=a?a.then(s,s):s()}}function x(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,x(e,t),"throw"===t.method))return d;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var a=p(n,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,d;var r=a.arg;return r?r.done?(t[e.resultName]=r.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function w(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function g(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(w,this),this.reset(!0)}function S(e){if(e){var t=e[r];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var a=-1,i=function t(){for(;++a<e.length;)if(n.call(e,a))return t.value=e[a],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:E}}function E(){return{value:void 0,done:!0}}return y.prototype=c,o(h,"constructor",c),o(c,"constructor",y),y.displayName=o(c,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,o(e,s,"GeneratorFunction")),e.prototype=Object.create(h),e},e.awrap=function(e){return{__await:e}},T(v.prototype),o(v.prototype,i,(function(){return this})),e.AsyncIterator=v,e.async=function(t,n,a,r,i){void 0===i&&(i=Promise);var s=new v(u(t,n,a,r),i);return e.isGeneratorFunction(n)?s:s.next().then((function(e){return e.done?e.value:s.next()}))},T(h),o(h,s,"Generator"),o(h,r,(function(){return this})),o(h,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var a=t.pop();if(a in e)return n.value=a,n.done=!1,n}return n.done=!0,n}},e.values=S,A.prototype={constructor:A,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(g),!e)for(var t in this)"t"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function a(n,a){return s.type="throw",s.arg=e,t.next=n,a&&(t.method="next",t.arg=void 0),!!a}for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r],s=i.completion;if("root"===i.tryLoc)return a("end");if(i.tryLoc<=this.prev){var o=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(o&&u){if(this.prev<i.catchLoc)return a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(o){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(e,t){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc<=this.prev&&n.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var s=i?i.completion:{};return s.type=e,s.arg=t,i?(this.method="next",this.next=i.finallyLoc,d):this.complete(s)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),d},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),g(n),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var a=n.completion;if("throw"===a.type){var r=a.arg;g(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:S(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},e}(e.exports);try{regeneratorRuntime=t}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}}(f={exports:{}}),f.exports),h=[{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:[{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:[{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:[],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",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:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}];(d=exports.ChainId||(exports.ChainId={}))[d.mainnet=1]="mainnet",d[d.ropsten=3]="ropsten",d[d.kovan=42]="kovan",d[d.goerli=5]="goerli",d[d.rinkeby=4]="rinkeby",d[d.optimism=10]="optimism",d[d.bsc=56]="bsc",d[d.polygon=137]="polygon",d[d.arbitrum=42161]="arbitrum",d[d.zora=7777777]="zora",d[d.base=8453]="base",d[d.avalanche=43114]="avalanche",d[d.blast=81457]="blast",d[d.degen=666666666]="degen",(l=exports.Source||(exports.Source={})).Aggregator0x="0x",l.Aggregator1inch="1inch",l.AggregatorRainbow="rainbow",l.Aggregotor1inch="1inch",l.CrosschainAggregatorSocket="socket",l.CrosschainAggregatorRelay="relay",(y=exports.SwapType||(exports.SwapType={})).normal="normal",y.crossChain="cross-chain";var T="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",v="https://swap.p.rainbow.me",x=new Map([[exports.ChainId.mainnet,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"],[exports.ChainId.optimism,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"],[exports.ChainId.polygon,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"],[exports.ChainId.arbitrum,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"],[exports.ChainId.bsc,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"],[exports.ChainId.zora,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"],[exports.ChainId.base,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"],[exports.ChainId.avalanche,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"],[exports.ChainId.blast,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"]]),w=((c={})[""+exports.ChainId.mainnet]="0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",c[""+exports.ChainId.optimism]="0x4200000000000000000000000000000000000006",c[""+exports.ChainId.polygon]="0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",c[""+exports.ChainId.arbitrum]="0x82af49447d8a07e3bd95bd0d56f35241523fbab1",c[""+exports.ChainId.bsc]="0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",c[""+exports.ChainId.zora]="0x4200000000000000000000000000000000000006",c[""+exports.ChainId.base]="0x4200000000000000000000000000000000000006",c[""+exports.ChainId.avalanche]="0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",c[""+exports.ChainId.blast]="0x4300000000000000000000000000000000000004",c[""+exports.ChainId.degen]="0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387",c),g=((m={})[""+exports.ChainId.mainnet]="0x6b175474e89094c44da98b954eedeac495271d0f",m),A="0x77777feddddffc19ff86db637967013e6c6a116c",S="0x0d438f3b5175bebc262bf23753c1e53d03432bde",E="0x1b40183efb4dd766f11bda7a7c3ad8982e998421",C=t.BigNumber.from("2").pow("256").sub("1").toString(),I=function(){var t=u(b.mark((function t(n,a,r,i){var s;return b.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r=exports.ChainId.mainnet),void 0===i&&(i={}),s=new e.Contract(w[r],JSON.stringify(h),a),t.abrupt("return",s.deposit(p({},i,{value:n})));case 4:case"end":return t.stop()}}),t)})));return function(e,n,a,r){return t.apply(this,arguments)}}(),k=function(){var t=u(b.mark((function t(n,a,r,i){var s;return b.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===r&&(r=exports.ChainId.mainnet),void 0===i&&(i={}),s=new e.Contract(w[r],JSON.stringify(h),a),t.abrupt("return",s.withdraw(n,i));case 4:case"end":return t.stop()}}),t)})));return function(e,n,a,r){return t.apply(this,arguments)}}(),_=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"EthWithdrawn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newOwner",type:"address"},{indexed:!0,internalType:"address",name:"oldOwner",type:"address"}],name:"OwnerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"target",type:"address"}],name:"SwapTargetAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"target",type:"address"}],name:"SwapTargetRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenWithdrawn",type:"event"},{inputs:[{internalType:"address",name:"buyTokenAddress",type:"address"},{internalType:"address payable",name:"target",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"uint256",name:"feeAmount",type:"uint256"}],name:"fillQuoteEthToToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"sellTokenAddress",type:"address"},{internalType:"address payable",name:"target",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"uint256",name:"sellAmount",type:"uint256"},{internalType:"uint256",name:"feePercentageBasisPoints",type:"uint256"}],name:"fillQuoteTokenToEth",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"sellTokenAddress",type:"address"},{internalType:"address payable",name:"target",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"uint256",name:"sellAmount",type:"uint256"},{internalType:"uint256",name:"feePercentageBasisPoints",type:"uint256"},{components:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"isDaiStylePermit",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct PermitHelper.Permit",name:"permitData",type:"tuple"}],name:"fillQuoteTokenToEthWithPermit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"sellTokenAddress",type:"address"},{internalType:"address",name:"buyTokenAddress",type:"address"},{internalType:"address payable",name:"target",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"uint256",name:"sellAmount",type:"uint256"},{internalType:"uint256",name:"feeAmount",type:"uint256"}],name:"fillQuoteTokenToToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"sellTokenAddress",type:"address"},{internalType:"address",name:"buyTokenAddress",type:"address"},{internalType:"address payable",name:"target",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"uint256",name:"sellAmount",type:"uint256"},{internalType:"uint256",name:"feeAmount",type:"uint256"},{components:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"isDaiStylePermit",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct PermitHelper.Permit",name:"permitData",type:"tuple"}],name:"fillQuoteTokenToTokenWithPermit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"swapTargets",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bool",name:"add",type:"bool"}],name:"updateSwapTargets",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawEth",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:"withdrawToken",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],P=[{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:[{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:"pure",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:[],name:"name",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:"holder",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"bool",name:"allowed",type:"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:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}],M=[{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:[{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:[{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"}],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:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}],R=[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],N=function(){var e=u(b.mark((function e(t,n,a,i){return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return","0x"+r.TypedDataUtils.hashStruct("EIP712Domain",{chainId:a,name:t,verifyingContract:i,version:n},{EIP712Domain:R},r.SignTypedDataVersion.V4).toString("hex"));case 1:case"end":return e.stop()}}),e)})));return function(t,n,a,r){return e.apply(this,arguments)}}(),O=function(){var e=u(b.mark((function e(t,n,a,r){var i,s;return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,t.version();case 3:return e.abrupt("return",e.sent);case 7:return e.prev=7,e.t0=e.catch(0),i="1",e.prev=10,e.next=13,t.DOMAIN_SEPARATOR();case 13:return s=e.sent,e.next=16,N(n,i,a,r);case 16:if(s!==e.sent){e.next=19;break}return e.abrupt("return",i);case 19:e.next=26;break;case 21:if(e.prev=21,e.t1=e.catch(10),1!==a||-1===[A,S,E].map((function(e){return e.toLowerCase()})).indexOf(t.address.toLowerCase())){e.next=25;break}return e.abrupt("return","1");case 25:case 26:return e.abrupt("return",null);case 27:case"end":return e.stop()}}),e,null,[[0,7],[10,21]])})));return function(t,n,a,r){return e.apply(this,arguments)}}(),L=function(){var e=u(b.mark((function e(t,n){return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,t.nonces(n);case 3:return e.abrupt("return",e.sent);case 7:return e.prev=7,e.t0=e.catch(0),e.prev=9,e.next=12,t._nonces(n);case 12:return e.abrupt("return",e.sent);case 16:return e.prev=16,e.t1=e.catch(9),e.abrupt("return",0);case 19:case"end":return e.stop()}}),e,null,[[0,7],[9,16]])})));return function(t,n){return e.apply(this,arguments)}}(),D=[{name:"name",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],V=[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}],B=[{name:"holder",type:"address"},{name:"spender",type:"address"},{name:"nonce",type:"uint256"},{name:"expiry",type:"uint256"},{name:"allowed",type:"bool"}];function U(e,t,n,a,r,i,s){return F.apply(this,arguments)}function F(){return(F=u(b.mark((function i(s,o,u,p,d,l,y){var c,m,f,h,T,v,x,w,A,S,E,C,I;return b.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return m=o.toLowerCase()===(null==(c=g[y])?void 0:c.toLowerCase()),f=new e.Contract(o,m?P:M,s),i.next=4,f.name();case 4:return h=i.sent,i.next=7,Promise.all([L(f,u),O(f,h,y,f.address)]);case 7:return v=(T=i.sent)[0],x=T[1],w={nonce:Number(v.toString()),spender:p},m?(w.holder=u,w.allowed=!0,w.expiry=Number(l.toString())):(w.value=t.BigNumber.from(d).toHexString(),w.deadline=Number(l.toString()),w.owner=u),A={chainId:y,name:h,verifyingContract:f.address},null!==x&&(A.version=x),S={domain:A,message:w,primaryType:"Permit",types:{EIP712Domain:null!==x?R:D,Permit:m?B:V}},E=Buffer.from(n.addHexPrefix(s.privateKey).substring(2),"hex"),C=r.signTypedData({data:S,privateKey:E,version:r.SignTypedDataVersion.V4}),I=a.splitSignature(C),i.abrupt("return",{deadline:l,isDaiStylePermit:m,nonce:v,r:I.r,s:I.s,v:I.v,value:w.value||t.BigNumber.from("0").toHexString()});case 20:case"end":return i.stop()}}),i)})))).apply(this,arguments)}function W(e){return i.keccak256(s.toUtf8Bytes(e)).substring(2,10)}function H(e,t,n){if(void 0===n||""===n)throw new Error("quote's destination addresses must be defined (API Response)");var a=function(e,t){var n=void 0!==e;return n&&e===exports.Source.CrosschainAggregatorSocket?{expectedAddress:x.get(t),shouldOverride:!0}:n&&e===exports.Source.CrosschainAggregatorRelay?{expectedAddress:"0xf70da97812CB96acDF810712Aa562db8dfA3dbEF",shouldOverride:!1}:{expectedAddress:void 0,shouldOverride:!1}}(e,t),r=a.expectedAddress,i=a.shouldOverride;if(void 0===r||""===r)throw new Error("expected source "+e+"'s destination address on chainID "+t+" must be defined (Swap SDK)");if(r.toLowerCase()!==(null==n?void 0:n.toLowerCase()))throw new Error("source "+e+"'s destination address '"+n+"' on chainID "+t+" is not consistent, expected: '"+r+"'");return{expectedAddress:r,shouldOverride:i}}function Q(e){var t,n=e.source,a=void 0!==n;return a&&n===exports.Source.CrosschainAggregatorSocket?e.to:a&&n===exports.Source.CrosschainAggregatorRelay?(null==(t=e.sellTokenAddress)?void 0:t.toLowerCase())===T.toLowerCase()?e.to:function(e){if(null!=e&&e.startsWith("0xa9059cbb")){var t=e.slice("0xa9059cbb".length);if(!(t.length<128))return"0x"+t.slice(0,64).replace(/^0+/,"")}}(e.data):void 0}var j=function(e){return e===exports.ChainId.zora?"0xa61550e9ddd2797e16489db09343162be98d9483":"0x00000000009726632680fb29d3f7a9734e3010e2"},G=function(e){var t=e.chainId,n=e.sellTokenAddress,a=e.buyTokenAddress,r=e.buyAmount,i=e.sellAmount,s=e.fromAddress,o=e.source,u=e.feePercentageBasisPoints,d=e.slippage,l=new URLSearchParams(p({buyToken:a,chainId:String(t),enableZoraSwaps:String(!0),fromAddress:s,sellToken:n,slippage:String(d),swapType:exports.SwapType.normal},o?{source:o}:{},i?{sellAmount:String(i)}:{buyAmount:String(r)},a===T?{destReceiver:j(t)}:{},void 0!==u?{feePercentageBasisPoints:String(u)}:{}));return v+"/v1/quote?"+l.toString()},X=function(e){var t=e.toChainId,n=e.sellTokenAddress,a=e.sellAmount,r=e.fromAddress,i=e.slippage,s=e.refuel,o=e.feePercentageBasisPoints,u=new URLSearchParams(p({buyToken:e.buyTokenAddress,chainId:String(e.chainId),fromAddress:r,refuel:String(s),sellAmount:String(a),sellToken:n,slippage:String(i),swapType:exports.SwapType.crossChain,toChainId:String(t)},void 0!==o?{feePercentageBasisPoints:String(o)}:{}));return v+"/v1/quote?bridgeVersion=3&"+u.toString()},K=function(){var e=u(b.mark((function e(n){var a,r,i,s,o;return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=n.chainId,r=n.toChainId,e.next=4,fetch("https://swap.p.rainbow.me/v1/chains");case 4:return i=e.sent,e.next=7,i.json();case 7:if(s=e.sent.result.find((function(e){return e.chainId===a}))){e.next=11;break}return e.abrupt("return",null);case 11:if(o=s.limits.find((function(e){return e.chainId===r}))){e.next=14;break}return e.abrupt("return",null);case 14:return e.abrupt("return",t.BigNumber.from(o.minAmount).mul(2).toString());case 15:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),q=function(){var e=u(b.mark((function e(t){var n,a,r,i,s,o,u,p,d,l,y,c,m,f,h,v,x,g,A,S;return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=t.source,i=void 0===(r=t.chainId)?exports.ChainId.mainnet:r,s=t.fromAddress,u=t.buyTokenAddress,p=t.sellAmount,d=t.buyAmount,l=t.slippage,y=t.feePercentageBasisPoints,c=(o=t.sellTokenAddress).toLowerCase(),m=u.toLowerCase(),f=T.toLowerCase(),h=null==(n=w[i])?void 0:n.toLowerCase(),x=c===h&&m===f,!(v=c===f&&m===h)&&!x){e.next=9;break}return e.abrupt("return",{buyAmount:p||d,buyAmountMinusFees:p||d,buyTokenAddress:u,defaultGasLimit:v?"30000":"40000",fee:0,feeInEth:0,feePercentageBasisPoints:0,from:s,inputTokenDecimals:18,outputTokenDecimals:18,sellAmount:p||d,sellAmountMinusFees:p||d,sellTokenAddress:o});case 9:if(!isNaN(Number(p))||!isNaN(Number(d))){e.next=11;break}return e.abrupt("return",null);case 11:return g=G({buyAmount:d,buyTokenAddress:u,chainId:i,feePercentageBasisPoints:y,fromAddress:s,sellAmount:p,sellTokenAddress:o,slippage:l,source:a}),e.next=14,fetch(g);case 14:return A=e.sent,e.next=17,A.json();case 17:if(!(S=e.sent).error){e.next=20;break}return e.abrupt("return",S);case 20:return e.abrupt("return",S);case 21:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Y=function(){var e=u(b.mark((function e(t){var n,a,r,i,s,o,u,p,d,l,y,c,m,f,h,T,v;return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=void 0===(n=t.chainId)?exports.ChainId.mainnet:n,r=t.toChainId,i=t.fromAddress,s=t.sellTokenAddress,o=t.buyTokenAddress,p=t.slippage,l=void 0!==(d=t.refuel)&&d,y=t.feePercentageBasisPoints,(u=t.sellAmount)&&r){e.next=3;break}return e.abrupt("return",null);case 3:return c=X({buyTokenAddress:o,chainId:a,feePercentageBasisPoints:y,fromAddress:i,refuel:l,sellAmount:u,sellTokenAddress:s,slippage:p,toChainId:r}),e.next=6,fetch(c);case 6:return m=e.sent,e.next=9,m.json();case 9:if(!(f=e.sent).error){e.next=12;break}return e.abrupt("return",f);case 12:h=f,e.prev=13,T=H(h.source,h.chainId,h.allowanceTarget),v=T.expectedAddress,T.shouldOverride&&(h.allowanceTarget=v),e.next=21;break;case 18:return e.prev=18,e.t0=e.catch(13),e.abrupt("return",{error:!0,message:e.t0 instanceof Error?e.t0.message:"unexpected error happened while checking crosschain quote's address: "+h.allowanceTarget});case 21:return e.abrupt("return",h);case 22:case"end":return e.stop()}}),e,null,[[13,18]])})));return function(t){return e.apply(this,arguments)}}(),J=function(){var e=u(b.mark((function e(t){return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.provider.getBlock("latest");case 2:return e.abrupt("return",e.sent.timestamp+3600);case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),z=function(){var t=u(b.mark((function t(n,a,r,i,s,o){var u,d,l,y,c,m,f,h,v,x,w,g,A,S,E;return b.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(u=new e.Contract(j(s),_,r),l=n.sellTokenAddress,y=n.buyTokenAddress,c=n.to,m=n.data,f=n.fee,h=n.value,v=n.sellAmount,x=n.feePercentageBasisPoints,w=T.toLowerCase(),(null==l?void 0:l.toLowerCase())!==w){t.next=9;break}return t.next=6,u.populateTransaction.fillQuoteEthToToken(y,c,m,f,p({},a,{value:h}));case 6:d=t.sent,t.next=42;break;case 9:if((null==y?void 0:y.toLowerCase())!==w){t.next=27;break}if(!i){t.next=22;break}return t.next=13,J(r);case 13:return g=t.sent,t.next=16,U(r,l,n.from,u.address,C,g,s);case 16:return A=t.sent,t.next=19,u.populateTransaction.fillQuoteTokenToEthWithPermit(l,c,m,v,x,A,p({},a,{value:h}));case 19:d=t.sent,t.next=25;break;case 22:return t.next=24,u.populateTransaction.fillQuoteTokenToEth(l,c,m,v,x,p({},a,{value:h}));case 24:d=t.sent;case 25:t.next=42;break;case 27:if(!i){t.next=39;break}return t.next=30,J(r);case 30:return S=t.sent,t.next=33,U(r,l,n.from,u.address,C,S,s);case 33:return E=t.sent,t.next=36,u.populateTransaction.fillQuoteTokenToTokenWithPermit(l,y,c,m,v,f,E,p({},a,{value:h}));case 36:d=t.sent,t.next=42;break;case 39:return t.next=41,u.populateTransaction.fillQuoteTokenToToken(l,y,c,m,v,f,p({},a,{value:h}));case 41:d=t.sent;case 42:return o&&(d.data=""+d.data+W(o)),t.next=45,r.sendTransaction(p({data:d.data,from:d.from,to:d.to},p({},a,{value:h})));case 45:return t.abrupt("return",t.sent);case 47:case"end":return t.stop()}}),t)})));return function(e,n,a,r,i,s){return t.apply(this,arguments)}}(),Z=function(){var e=u(b.mark((function e(t,n,a,r){var i,s,o,u,d,l,y;return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.data,s=t.from,o=t.value,u=t.to,d=H(t.source,t.fromChainId,Q(t)),l=d.expectedAddress,d.shouldOverride&&(u=l),y=i,r&&(y=""+y+W(r)),e.next=8,a.sendTransaction(p({data:y,from:s,to:u},p({},n,{value:o})));case 8:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})));return function(t,n,a,r){return e.apply(this,arguments)}}(),$=function(e){var t=e.toChainId,n=e.sellTokenAddress,a=e.buyAmount,r=e.sellAmount,i=new URLSearchParams(p({buyToken:e.buyTokenAddress,chainId:String(e.chainId),sellToken:n,toChainId:String(t)},r?{sellAmount:String(r)}:{buyAmount:String(a)}));return v+"/v1/slippage?"+i.toString()},ee=function(){var e=u(b.mark((function e(t){var n,a,r,i,s,o,u,p,d,l;return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=void 0===(n=t.chainId)?exports.ChainId.mainnet:n,r=t.toChainId,i=t.sellTokenAddress,s=t.buyTokenAddress,o=t.sellAmount,u=t.buyAmount,!isNaN(Number(o))||!isNaN(Number(u))){e.next=3;break}return e.abrupt("return",null);case 3:return p=$({buyAmount:u,buyTokenAddress:s,chainId:a,sellAmount:o,sellTokenAddress:i,toChainId:r}),e.next=6,fetch(p);case 6:return d=e.sent,e.next=9,d.json();case 9:if(!(l=e.sent).error){e.next=12;break}return e.abrupt("return",l);case 12:return e.abrupt("return",null==l?void 0:l.data);case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();exports.ALLOWS_PERMIT={"0x0d438f3b5175bebc262bf23753c1e53d03432bde":!0,"0x111111111117dc0aa78b770fa6a738034120c302":!0,"0x1b40183efb4dd766f11bda7a7c3ad8982e998421":!0,"0x1f9840a85d5af5bf1d1762f925bdaddc4201f984":!0,"0x31c8eacbffdd875c74b94b077895bd78cf1e64a3":!0,"0x6b175474e89094c44da98b954eedeac495271d0f":!0,"0x6dea81c8171d0ba574754ef6f8b412f2ed88c54d":!0,"0x77777feddddffc19ff86db637967013e6c6a116c":!0,"0x888888435fde8e7d4c54cab67f206e4199454c60":!0,"0x888888888889c00c67689029d7856aac1065ec11":!0,"0x88acdd2a6425c3faae4bc9650fd7e27e0bebb7ab":!0,"0x956f47f50a910163d8bf957cf5846d573e7f87ca":!0,"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":!0,"0xba100000625a3754423978a60c9317c58a424e3d":!0,"0xc7283b66eb1eb5fb86327f08e1b5816b0720212b":!0},exports.API_BASE_URL=v,exports.DAI=g,exports.ERC20_TRANSFER_SIGNATURE="0xa9059cbb",exports.ETH_ADDRESS=T,exports.MAX_INT=C,exports.PERMIT_EXPIRATION_TS=3600,exports.RAINBOW_ROUTER_CONTRACT_ADDRESS="0x00000000009726632680fb29d3f7a9734e3010e2",exports.RAINBOW_ROUTER_CONTRACT_ADDRESS_ZORA="0xa61550e9ddd2797e16489db09343162be98d9483",exports.RELAY_LINK_BRIDGING_RELAYER_ADDRESS="0xf70da97812CB96acDF810712Aa562db8dfA3dbEF",exports.SOCKET_GATEWAY_CONTRACT_ADDRESSESS=x,exports.TORN_ADDRESS=A,exports.USDC_ADDRESS="0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",exports.VSP_ADDRESS=E,exports.WNXM_ADDRESS=S,exports.WRAPPED_ASSET=w,exports.buildRainbowCrosschainQuoteUrl=X,exports.fillCrosschainQuote=Z,exports.fillQuote=z,exports.getCrosschainQuote=Y,exports.getCrosschainQuoteExecutionDetails=function(e,t,n){var a=e.from,r=e.data,i=e.value,s=e.to,o=H(e.source,e.fromChainId,Q(e));return o.shouldOverride&&(s=o.expectedAddress),{method:n.estimateGas({data:r,from:a,to:s,value:i}),params:p({},t,{value:i})}},exports.getMinRefuelAmount=K,exports.getQuote=q,exports.getQuoteExecutionDetails=function(t,n,a){var r=new e.Contract(j(t.chainId),_,a),i=t.sellTokenAddress,s=t.buyTokenAddress,o=t.to,u=t.data,d=t.fee,l=t.value,y=t.sellAmount,c=t.feePercentageBasisPoints,m=T.toLowerCase();return(null==i?void 0:i.toLowerCase())===m?{method:r.estimateGas.fillQuoteEthToToken,methodArgs:[s,o,u,d],methodName:"fillQuoteEthToToken",params:p({},n,{value:l}),router:r}:(null==s?void 0:s.toLowerCase())===m?{method:r.estimateGas.fillQuoteTokenToEth,methodArgs:[i,o,u,y,c],methodName:"fillQuoteTokenToEth",params:p({},n,{value:l}),router:r}:{method:r.estimateGas.fillQuoteTokenToToken,methodArgs:[i,s,o,u,y,d],methodName:"fillQuoteTokenToToken",params:p({},n,{value:l}),router:r}},exports.getRainbowRouterContractAddress=j,exports.getSlippage=ee,exports.getWrappedAssetMethod=function(t,n,a){return void 0===a&&(a=exports.ChainId.mainnet),new e.Contract(w[a],JSON.stringify(h),n).estimateGas[t]},exports.signPermit=U,exports.sources={AAVE:"Aave",AAVE_LIQUIDATOR:"Aave Liquidator",AAVE_V2:"Aave V2",BALANCER:"Balancer",BALANCER_V2:"Balancer V2",BANCOR:"Bancor",BLACKHOLESWAP:"Blackholeswap",CHAI:"Chai",CLIPPER:"Clipper",COFIX:"CoFix",COMPOUND:"Compound",CONVERGENCE_X:"Convergence X",CREAM_LENDING:"Creamswap Lending",CREAMSWAP:"Creamswap",CURVE:"Curve",CURVE_V2:"Curve V2",CURVE_V2_ETH_CRV:"CURVE V2 ETH CRV",CURVE_V2_ETH_CVX:"CURVE V2 ETH CVX",CURVE_V2_EURS_2_ASSET:"Curve V2 EURS",CURVE_V2_EURT_2_ASSET:"CURVE V2 EURT",CURVE_V2_SPELL_2_ASSET:"Curve Spell",CURVE_V2_THRESHOLDNETWORK_2_ASSET:"Curve Threshold",CURVE_V2_XAUT_2_ASSET:"CURVE V2 XAUt",CURVE_V2_YFI_2_ASSET:"Curve Yfi",DEFI_PLAZA:"DeFi Plaza",DEFISWAP:"DeFi Swap",DFX_FINANCE:"Dfx Finance",DODO:"DODO",DODO_V2:"DODO v2",DXSWAP:"Swapr",FIXED_FEE_SWAP:"Fixed Fee Swap",FIXED_FEE_SWAP_V3:"Fixed Rate Swap",IEARN:"yEarn",INDEXED_FINANCE:"Indexed Finance",KYBER:"Kyber",KYBER_DMM:"Kyber DMM",LINKSWAP:"Link Swap",LUASWAP:"Lua Swap",MINISWAP:"Mini Swap",MOONISWAP:"Mooniswap",MSTABLE:"mStable",OASIS:"Oasis",ONE_INCH_LIMIT_ORDER:"1inch Limit Order Protocol",ONE_INCH_LIMIT_ORDER_V2:"1inch Limit Order Protocol V2",ONE_INCH_LP:"1inch LP v1.0",ONE_INCH_LP_1_1:"1inch LP v1.1",ONE_INCH_LP_MIGRATOR:"Mooniswap Migrator",ONE_INCH_LP_MIGRATOR_V1_1:"1inch LP v1.0 Migrator",PMM1:"PMM1",PMM2:"PMM2",PMM3:"PMM3",PMM4:"PMM4",PMMX:"LiqPool X",POWERINDEX:"POWERINDEX",PSM:"PSM",S_FINANCE:"sFinance",SADDLE:"Saddle Finance",SAKESWAP:"Sake Swap",SETH_WRAPPER:"sETH Wrapper",SHELL:"Shell",SHIBASWAP:"Shiba Swap",SMOOTHY_FINANCE:"Smoothy Finance",ST_ETH:"stETH",SUSHI:"Sushiswap",SUSHISWAP_MIGRATOR:"SushiSwap Migrator",SWERVE:"Swerve",SYNAPSE:"Synapse",SYNTHETIX:"Synthetix",SYNTHETIX_WRAPPER:"Synthetix Wrapper",UNIFI:"Unifi",UNISWAP_V1:"Uniswap V1",UNISWAP_V2:"Uniswap V2",UNISWAP_V2_MIGRATOR:"Uniswap Migrator",UNISWAP_V3:"UNISWAP V3",VALUELIQUID:"Value Liquid",WETH:"WETH",WSTETH:"wstETH",XSIGMA:"xSigma",ZRX:"0x",Native:"Native",Uniswap:"Uniswap",UniswapV2:"Uniswap_V2",Eth2Dai:"Eth2Dai",Kyber:"Kyber",Curve:"Curve",LiquidityProvider:"LiquidityProvider",MultiBridge:"MultiBridge",Balancer:"Balancer",BalancerV2:"Balancer_V2",Cream:"CREAM",Bancor:"Bancor",MakerPsm:"MakerPsm",MStable:"mStable",Mooniswap:"Mooniswap",MultiHop:"MultiHop",Shell:"Shell",Swerve:"Swerve",SnowSwap:"SnowSwap",SushiSwap:"SushiSwap",Dodo:"DODO",DodoV2:"DODO_V2",CryptoCom:"CryptoCom",Linkswap:"Linkswap",KyberDmm:"KyberDMM",Smoothy:"Smoothy",Component:"Component",Saddle:"Saddle",XSigma:"xSigma",UniswapV3:"Uniswap_V3",CurveV2:"Curve_V2",Lido:"Lido",ShibaSwap:"ShibaSwap",Clipper:"Clipper",PancakeSwap:"PancakeSwap",PancakeSwapV2:"PancakeSwap_V2",BakerySwap:"BakerySwap",Nerve:"Nerve",Belt:"Belt",Ellipsis:"Ellipsis",ApeSwap:"ApeSwap",CafeSwap:"CafeSwap",CheeseSwap:"CheeseSwap",JulSwap:"JulSwap",ACryptos:"ACryptoS",QuickSwap:"QuickSwap",ComethSwap:"ComethSwap",Dfyn:"Dfyn",WaultSwap:"WaultSwap",Polydex:"Polydex",FirebirdOneSwap:"FirebirdOneSwap",JetSwap:"JetSwap",IronSwap:"IronSwap"},exports.unwrapNativeAsset=k,exports.wrapNativeAsset=I;
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@ethersproject/contracts"),t=require("@ethersproject/bignumber"),n=require("@ethereumjs/util"),r=require("@ethersproject/bytes"),a=require("@metamask/eth-sig-util"),i=require("@ethersproject/keccak256"),s=require("@ethersproject/strings");function o(e,t,n,r,a,i,s){try{var o=e[i](s),u=o.value}catch(e){return void n(e)}o.done?t(u):Promise.resolve(u).then(r,a)}function u(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var i=e.apply(t,n);function s(e){o(i,r,a,s,u,"next",e)}function u(e){o(i,r,a,s,u,"throw",e)}s(void 0)}))}}function p(){return(p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var d,l,c,y,m,f,b=(function(e){var t=function(e){var t=Object.prototype,n=t.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},a=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",s=r.toStringTag||"@@toStringTag";function o(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{o({},"")}catch(e){o=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var a=Object.create((t&&t.prototype instanceof l?t:l).prototype),i=new A(r||[]);return a._invoke=function(e,t,n){var r="suspendedStart";return function(a,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===a)throw i;return{value:void 0,done:!0}}for(n.method=a,n.arg=i;;){var s=n.delegate;if(s){var o=x(s,n);if(o){if(o===d)continue;return o}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=p(e,t,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===d)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}(e,n,i),a}function p(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function l(){}function c(){}function y(){}var m={};o(m,a,(function(){return this}));var f=Object.getPrototypeOf,b=f&&f(f(S([])));b&&b!==t&&n.call(b,a)&&(m=b);var h=y.prototype=l.prototype=Object.create(m);function T(e){["next","throw","return"].forEach((function(t){o(e,t,(function(e){return this._invoke(t,e)}))}))}function v(e,t){var r;this._invoke=function(a,i){function s(){return new t((function(r,s){!function r(a,i,s,o){var u=p(e[a],e,i);if("throw"!==u.type){var d=u.arg,l=d.value;return l&&"object"==typeof l&&n.call(l,"__await")?t.resolve(l.__await).then((function(e){r("next",e,s,o)}),(function(e){r("throw",e,s,o)})):t.resolve(l).then((function(e){d.value=e,s(d)}),(function(e){return r("throw",e,s,o)}))}o(u.arg)}(a,i,r,s)}))}return r=r?r.then(s,s):s()}}function x(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,x(e,t),"throw"===t.method))return d;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var r=p(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,d;var a=r.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function w(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function g(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(w,this),this.reset(!0)}function S(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r<e.length;)if(n.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:C}}function C(){return{value:void 0,done:!0}}return c.prototype=y,o(h,"constructor",y),o(y,"constructor",c),c.displayName=o(y,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===c||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,o(e,s,"GeneratorFunction")),e.prototype=Object.create(h),e},e.awrap=function(e){return{__await:e}},T(v.prototype),o(v.prototype,i,(function(){return this})),e.AsyncIterator=v,e.async=function(t,n,r,a,i){void 0===i&&(i=Promise);var s=new v(u(t,n,r,a),i);return e.isGeneratorFunction(n)?s:s.next().then((function(e){return e.done?e.value:s.next()}))},T(h),o(h,s,"Generator"),o(h,a,(function(){return this})),o(h,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},e.values=S,A.prototype={constructor:A,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(g),!e)for(var t in this)"t"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(n,r){return s.type="throw",s.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],s=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var o=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(o&&u){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(o){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var s=i?i.completion:{};return s.type=e,s.arg=t,i?(this.method="next",this.next=i.finallyLoc,d):this.complete(s)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),d},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),g(n),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;g(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:S(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},e}(e.exports);try{regeneratorRuntime=t}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}}(f={exports:{}}),f.exports),h=[{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:[{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:[{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:[],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",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:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}];(d=exports.ChainId||(exports.ChainId={}))[d.mainnet=1]="mainnet",d[d.ropsten=3]="ropsten",d[d.kovan=42]="kovan",d[d.goerli=5]="goerli",d[d.rinkeby=4]="rinkeby",d[d.optimism=10]="optimism",d[d.bsc=56]="bsc",d[d.polygon=137]="polygon",d[d.arbitrum=42161]="arbitrum",d[d.zora=7777777]="zora",d[d.base=8453]="base",d[d.avalanche=43114]="avalanche",d[d.blast=81457]="blast",d[d.degen=666666666]="degen",(l=exports.Source||(exports.Source={})).Aggregator0x="0x",l.Aggregator1inch="1inch",l.AggregatorRainbow="rainbow",l.Aggregotor1inch="1inch",l.CrosschainAggregatorSocket="socket",l.CrosschainAggregatorRelay="relay",(c=exports.SwapType||(exports.SwapType={})).normal="normal",c.crossChain="cross-chain";var T="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",v="https://swap.p.rainbow.me",x=new Map([[exports.ChainId.mainnet,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"],[exports.ChainId.optimism,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"],[exports.ChainId.polygon,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"],[exports.ChainId.arbitrum,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"],[exports.ChainId.bsc,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"],[exports.ChainId.zora,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"],[exports.ChainId.base,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"],[exports.ChainId.avalanche,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"],[exports.ChainId.blast,"0x3a23F943181408EAC424116Af7b7790c94Cb97a5"]]),w=((y={})[""+exports.ChainId.mainnet]="0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",y[""+exports.ChainId.optimism]="0x4200000000000000000000000000000000000006",y[""+exports.ChainId.polygon]="0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",y[""+exports.ChainId.arbitrum]="0x82af49447d8a07e3bd95bd0d56f35241523fbab1",y[""+exports.ChainId.bsc]="0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",y[""+exports.ChainId.zora]="0x4200000000000000000000000000000000000006",y[""+exports.ChainId.base]="0x4200000000000000000000000000000000000006",y[""+exports.ChainId.avalanche]="0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",y[""+exports.ChainId.blast]="0x4300000000000000000000000000000000000004",y[""+exports.ChainId.degen]="0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387",y),g=((m={})[""+exports.ChainId.mainnet]="0x6b175474e89094c44da98b954eedeac495271d0f",m),A="0x77777feddddffc19ff86db637967013e6c6a116c",S="0x0d438f3b5175bebc262bf23753c1e53d03432bde",C="0x1b40183efb4dd766f11bda7a7c3ad8982e998421",E=t.BigNumber.from("2").pow("256").sub("1").toString(),I=function(){var t=u(b.mark((function t(n,r,a,i){var s;return b.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===a&&(a=exports.ChainId.mainnet),void 0===i&&(i={}),s=new e.Contract(w[a],JSON.stringify(h),r),t.abrupt("return",s.deposit(p({},i,{value:n})));case 4:case"end":return t.stop()}}),t)})));return function(e,n,r,a){return t.apply(this,arguments)}}(),k=function(){var t=u(b.mark((function t(n,r,a,i){var s;return b.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===a&&(a=exports.ChainId.mainnet),void 0===i&&(i={}),s=new e.Contract(w[a],JSON.stringify(h),r),t.abrupt("return",s.withdraw(n,i));case 4:case"end":return t.stop()}}),t)})));return function(e,n,r,a){return t.apply(this,arguments)}}(),P=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"EthWithdrawn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newOwner",type:"address"},{indexed:!0,internalType:"address",name:"oldOwner",type:"address"}],name:"OwnerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"target",type:"address"}],name:"SwapTargetAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"target",type:"address"}],name:"SwapTargetRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenWithdrawn",type:"event"},{inputs:[{internalType:"address",name:"buyTokenAddress",type:"address"},{internalType:"address payable",name:"target",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"uint256",name:"feeAmount",type:"uint256"}],name:"fillQuoteEthToToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"sellTokenAddress",type:"address"},{internalType:"address payable",name:"target",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"uint256",name:"sellAmount",type:"uint256"},{internalType:"uint256",name:"feePercentageBasisPoints",type:"uint256"}],name:"fillQuoteTokenToEth",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"sellTokenAddress",type:"address"},{internalType:"address payable",name:"target",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"uint256",name:"sellAmount",type:"uint256"},{internalType:"uint256",name:"feePercentageBasisPoints",type:"uint256"},{components:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"isDaiStylePermit",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct PermitHelper.Permit",name:"permitData",type:"tuple"}],name:"fillQuoteTokenToEthWithPermit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"sellTokenAddress",type:"address"},{internalType:"address",name:"buyTokenAddress",type:"address"},{internalType:"address payable",name:"target",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"uint256",name:"sellAmount",type:"uint256"},{internalType:"uint256",name:"feeAmount",type:"uint256"}],name:"fillQuoteTokenToToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"sellTokenAddress",type:"address"},{internalType:"address",name:"buyTokenAddress",type:"address"},{internalType:"address payable",name:"target",type:"address"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"uint256",name:"sellAmount",type:"uint256"},{internalType:"uint256",name:"feeAmount",type:"uint256"},{components:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"isDaiStylePermit",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct PermitHelper.Permit",name:"permitData",type:"tuple"}],name:"fillQuoteTokenToTokenWithPermit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"swapTargets",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bool",name:"add",type:"bool"}],name:"updateSwapTargets",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawEth",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:"withdrawToken",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],_=[{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:[{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:"pure",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:[],name:"name",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:"holder",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"bool",name:"allowed",type:"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:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}],M=[{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:[{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:[{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"}],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:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}],R=[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],N=function(){var e=u(b.mark((function e(t,n,r,i){return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return","0x"+a.TypedDataUtils.hashStruct("EIP712Domain",{chainId:r,name:t,verifyingContract:i,version:n},{EIP712Domain:R},a.SignTypedDataVersion.V4).toString("hex"));case 1:case"end":return e.stop()}}),e)})));return function(t,n,r,a){return e.apply(this,arguments)}}(),L=function(){var e=u(b.mark((function e(t,n,r,a){var i,s;return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,t.version();case 3:return e.abrupt("return",e.sent);case 7:return e.prev=7,e.t0=e.catch(0),i="1",e.prev=10,e.next=13,t.DOMAIN_SEPARATOR();case 13:return s=e.sent,e.next=16,N(n,i,r,a);case 16:if(s!==e.sent){e.next=19;break}return e.abrupt("return",i);case 19:e.next=26;break;case 21:if(e.prev=21,e.t1=e.catch(10),1!==r||-1===[A,S,C].map((function(e){return e.toLowerCase()})).indexOf(t.address.toLowerCase())){e.next=25;break}return e.abrupt("return","1");case 25:case 26:return e.abrupt("return",null);case 27:case"end":return e.stop()}}),e,null,[[0,7],[10,21]])})));return function(t,n,r,a){return e.apply(this,arguments)}}(),O=function(){var e=u(b.mark((function e(t,n){return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,t.nonces(n);case 3:return e.abrupt("return",e.sent);case 7:return e.prev=7,e.t0=e.catch(0),e.prev=9,e.next=12,t._nonces(n);case 12:return e.abrupt("return",e.sent);case 16:return e.prev=16,e.t1=e.catch(9),e.abrupt("return",0);case 19:case"end":return e.stop()}}),e,null,[[0,7],[9,16]])})));return function(t,n){return e.apply(this,arguments)}}(),D=[{name:"name",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],V=[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}],B=[{name:"holder",type:"address"},{name:"spender",type:"address"},{name:"nonce",type:"uint256"},{name:"expiry",type:"uint256"},{name:"allowed",type:"bool"}];function U(e,t,n,r,a,i,s){return F.apply(this,arguments)}function F(){return(F=u(b.mark((function i(s,o,u,p,d,l,c){var y,m,f,h,T,v,x,w,A,S,C,E,I;return b.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return m=o.toLowerCase()===(null==(y=g[c])?void 0:y.toLowerCase()),f=new e.Contract(o,m?_:M,s),i.next=4,f.name();case 4:return h=i.sent,i.next=7,Promise.all([O(f,u),L(f,h,c,f.address)]);case 7:return v=(T=i.sent)[0],x=T[1],w={nonce:Number(v.toString()),spender:p},m?(w.holder=u,w.allowed=!0,w.expiry=Number(l.toString())):(w.value=t.BigNumber.from(d).toHexString(),w.deadline=Number(l.toString()),w.owner=u),A={chainId:c,name:h,verifyingContract:f.address},null!==x&&(A.version=x),S={domain:A,message:w,primaryType:"Permit",types:{EIP712Domain:null!==x?R:D,Permit:m?B:V}},C=Buffer.from(n.addHexPrefix(s.privateKey).substring(2),"hex"),E=a.signTypedData({data:S,privateKey:C,version:a.SignTypedDataVersion.V4}),I=r.splitSignature(E),i.abrupt("return",{deadline:l,isDaiStylePermit:m,nonce:v,r:I.r,s:I.s,v:I.v,value:w.value||t.BigNumber.from("0").toHexString()});case 20:case"end":return i.stop()}}),i)})))).apply(this,arguments)}function W(e){return i.keccak256(s.toUtf8Bytes(e)).substring(2,10)}function H(e,t,n){if(void 0===n||""===n)throw new Error("quote's destination addresses must be defined (API Response)");var r=function(e,t){var n=void 0!==e;return n&&e===exports.Source.CrosschainAggregatorSocket?{expectedAddress:x.get(t),shouldOverride:!0}:n&&e===exports.Source.CrosschainAggregatorRelay?{expectedAddress:"0xf70da97812CB96acDF810712Aa562db8dfA3dbEF",shouldOverride:!1}:{expectedAddress:void 0,shouldOverride:!1}}(e,t),a=r.expectedAddress,i=r.shouldOverride;if(void 0===a||""===a)throw new Error("expected source "+e+"'s destination address on chainID "+t+" must be defined (Swap SDK)");if(a.toLowerCase()!==(null==n?void 0:n.toLowerCase()))throw new Error("source "+e+"'s destination address '"+n+"' on chainID "+t+" is not consistent, expected: '"+a+"'");return{expectedAddress:a,shouldOverride:i}}function Q(e){var t,n=e.source,r=void 0!==n;return r&&n===exports.Source.CrosschainAggregatorSocket?e.to:r&&n===exports.Source.CrosschainAggregatorRelay?(null==(t=e.sellTokenAddress)?void 0:t.toLowerCase())===T.toLowerCase()?e.to:function(e){if(null!=e&&e.startsWith("0xa9059cbb")){var t=e.slice("0xa9059cbb".length);if(!(t.length<128))return"0x"+t.slice(0,64).replace(/^0+/,"")}}(e.data):void 0}var j=function(e){return e===exports.ChainId.zora?"0xa61550e9ddd2797e16489db09343162be98d9483":"0x00000000009726632680fb29d3f7a9734e3010e2"},G=function(e){var t=e.chainId,n=e.sellTokenAddress,r=e.buyTokenAddress,a=e.buyAmount,i=e.sellAmount,s=e.fromAddress,o=e.source,u=e.feePercentageBasisPoints,d=e.slippage,l=new URLSearchParams(p({buyToken:r,chainId:String(t),enableZoraSwaps:String(!0),fromAddress:s,sellToken:n,slippage:String(d),swapType:exports.SwapType.normal},o?{source:o}:{},i?{sellAmount:String(i)}:{buyAmount:String(a)},r===T?{destReceiver:j(t)}:{},void 0!==u?{feePercentageBasisPoints:String(u)}:{}));return v+"/v1/quote?"+l.toString()},X=function(e){var t=e.toChainId,n=e.sellTokenAddress,r=e.sellAmount,a=e.fromAddress,i=e.slippage,s=e.refuel,o=e.feePercentageBasisPoints,u=new URLSearchParams(p({buyToken:e.buyTokenAddress,chainId:String(e.chainId),fromAddress:a,refuel:String(s),sellAmount:String(r),sellToken:n,slippage:String(i),swapType:exports.SwapType.crossChain,toChainId:String(t)},void 0!==o?{feePercentageBasisPoints:String(o)}:{}));return v+"/v1/quote?bridgeVersion=3&"+u.toString()},q=function(e){var t=e.toChainId,n=e.sellTokenAddress,r=e.sellAmount,a=e.fromAddress,i=e.slippage,s=e.refuel,o=new URLSearchParams({buyToken:e.buyTokenAddress,chainId:String(e.chainId),claim:String(!0),feePercentageBasisPoints:"0",fromAddress:a,refuel:String(s),sellAmount:String(r),sellToken:n,slippage:String(i),source:exports.Source.CrosschainAggregatorRelay.toString(),swapType:exports.SwapType.crossChain,toChainId:String(t)});return v+"/v1/quote?bridgeVersion=3&"+o.toString()},K=function(){var e=u(b.mark((function e(n){var r,a,i,s,o;return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.chainId,a=n.toChainId,e.next=4,fetch("https://swap.p.rainbow.me/v1/chains");case 4:return i=e.sent,e.next=7,i.json();case 7:if(s=e.sent.result.find((function(e){return e.chainId===r}))){e.next=11;break}return e.abrupt("return",null);case 11:if(o=s.limits.find((function(e){return e.chainId===a}))){e.next=14;break}return e.abrupt("return",null);case 14:return e.abrupt("return",t.BigNumber.from(o.minAmount).mul(2).toString());case 15:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Y=function(){var e=u(b.mark((function e(t){var n,r,a,i,s,o,u,p,d,l,c,y,m,f,h,v,x,g,A,S;return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.source,i=void 0===(a=t.chainId)?exports.ChainId.mainnet:a,s=t.fromAddress,u=t.buyTokenAddress,p=t.sellAmount,d=t.buyAmount,l=t.slippage,c=t.feePercentageBasisPoints,y=(o=t.sellTokenAddress).toLowerCase(),m=u.toLowerCase(),f=T.toLowerCase(),h=null==(n=w[i])?void 0:n.toLowerCase(),x=y===h&&m===f,!(v=y===f&&m===h)&&!x){e.next=9;break}return e.abrupt("return",{buyAmount:p||d,buyAmountMinusFees:p||d,buyTokenAddress:u,defaultGasLimit:v?"30000":"40000",fee:0,feeInEth:0,feePercentageBasisPoints:0,from:s,inputTokenDecimals:18,outputTokenDecimals:18,sellAmount:p||d,sellAmountMinusFees:p||d,sellTokenAddress:o});case 9:if(!isNaN(Number(p))||!isNaN(Number(d))){e.next=11;break}return e.abrupt("return",null);case 11:return g=G({buyAmount:d,buyTokenAddress:u,chainId:i,feePercentageBasisPoints:c,fromAddress:s,sellAmount:p,sellTokenAddress:o,slippage:l,source:r}),e.next=14,fetch(g);case 14:return A=e.sent,e.next=17,A.json();case 17:if(!(S=e.sent).error){e.next=20;break}return e.abrupt("return",S);case 20:return e.abrupt("return",S);case 21:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),J=function(){var e=u(b.mark((function e(t){var n,r,a,i,s,o,u,p,d,l,c,y;return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=void 0===(n=t.chainId)?exports.ChainId.mainnet:n,a=t.toChainId,i=t.fromAddress,s=t.sellTokenAddress,o=t.buyTokenAddress,p=t.slippage,l=void 0!==(d=t.refuel)&&d,c=t.feePercentageBasisPoints,(u=t.sellAmount)&&a){e.next=3;break}return e.abrupt("return",null);case 3:return y=X({buyTokenAddress:o,chainId:r,feePercentageBasisPoints:c,fromAddress:i,refuel:l,sellAmount:u,sellTokenAddress:s,slippage:p,toChainId:a}),e.abrupt("return",Z(y));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),z=function(){var e=u(b.mark((function e(t){var n,r,a,i,s,o,u,p,d,l,c;return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=void 0===(n=t.chainId)?exports.ChainId.optimism:n,a=t.toChainId,i=t.fromAddress,s=t.sellTokenAddress,o=t.buyTokenAddress,p=t.slippage,l=void 0!==(d=t.refuel)&&d,(u=t.sellAmount)&&a){e.next=3;break}return e.abrupt("return",null);case 3:return c=q({buyTokenAddress:o,chainId:r,fromAddress:i,refuel:l,sellAmount:u,sellTokenAddress:s,slippage:p,toChainId:a}),e.abrupt("return",Z(c));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Z=function(){var e=u(b.mark((function e(t){var n,r,a,i,s;return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(t);case 2:return n=e.sent,e.next=5,n.json();case 5:if(!(r=e.sent).error){e.next=8;break}return e.abrupt("return",r);case 8:a=r,e.prev=9,i=H(a.source,a.chainId,a.allowanceTarget),s=i.expectedAddress,i.shouldOverride&&(a.allowanceTarget=s),e.next=17;break;case 14:return e.prev=14,e.t0=e.catch(9),e.abrupt("return",{error:!0,message:e.t0 instanceof Error?e.t0.message:"unexpected error happened while checking crosschain quote's address: "+a.allowanceTarget});case 17:return e.abrupt("return",a);case 18:case"end":return e.stop()}}),e,null,[[9,14]])})));return function(t){return e.apply(this,arguments)}}(),$=function(){var e=u(b.mark((function e(t){return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.provider.getBlock("latest");case 2:return e.abrupt("return",e.sent.timestamp+3600);case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),ee=function(){var t=u(b.mark((function t(n,r,a,i,s,o){var u,d,l,c,y,m,f,h,v,x,w,g,A,S,C;return b.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(u=new e.Contract(j(s),P,a),l=n.sellTokenAddress,c=n.buyTokenAddress,y=n.to,m=n.data,f=n.fee,h=n.value,v=n.sellAmount,x=n.feePercentageBasisPoints,w=T.toLowerCase(),(null==l?void 0:l.toLowerCase())!==w){t.next=9;break}return t.next=6,u.populateTransaction.fillQuoteEthToToken(c,y,m,f,p({},r,{value:h}));case 6:d=t.sent,t.next=42;break;case 9:if((null==c?void 0:c.toLowerCase())!==w){t.next=27;break}if(!i){t.next=22;break}return t.next=13,$(a);case 13:return g=t.sent,t.next=16,U(a,l,n.from,u.address,E,g,s);case 16:return A=t.sent,t.next=19,u.populateTransaction.fillQuoteTokenToEthWithPermit(l,y,m,v,x,A,p({},r,{value:h}));case 19:d=t.sent,t.next=25;break;case 22:return t.next=24,u.populateTransaction.fillQuoteTokenToEth(l,y,m,v,x,p({},r,{value:h}));case 24:d=t.sent;case 25:t.next=42;break;case 27:if(!i){t.next=39;break}return t.next=30,$(a);case 30:return S=t.sent,t.next=33,U(a,l,n.from,u.address,E,S,s);case 33:return C=t.sent,t.next=36,u.populateTransaction.fillQuoteTokenToTokenWithPermit(l,c,y,m,v,f,C,p({},r,{value:h}));case 36:d=t.sent,t.next=42;break;case 39:return t.next=41,u.populateTransaction.fillQuoteTokenToToken(l,c,y,m,v,f,p({},r,{value:h}));case 41:d=t.sent;case 42:return o&&(d.data=""+d.data+W(o)),t.next=45,a.sendTransaction(p({data:d.data,from:d.from,to:d.to},p({},r,{value:h})));case 45:return t.abrupt("return",t.sent);case 47:case"end":return t.stop()}}),t)})));return function(e,n,r,a,i,s){return t.apply(this,arguments)}}(),te=function(){var e=u(b.mark((function e(t,n,r,a){var i,s,o,u,d,l,c;return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.data,s=t.from,o=t.value,u=t.to,d=H(t.source,t.fromChainId,Q(t)),l=d.expectedAddress,d.shouldOverride&&(u=l),c=i,a&&(c=""+c+W(a)),e.next=8,r.sendTransaction(p({data:c,from:s,to:u},p({},n,{value:o})));case 8:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})));return function(t,n,r,a){return e.apply(this,arguments)}}(),ne=function(e){var t=e.toChainId,n=e.sellTokenAddress,r=e.buyAmount,a=e.sellAmount,i=new URLSearchParams(p({buyToken:e.buyTokenAddress,chainId:String(e.chainId),sellToken:n,toChainId:String(t)},a?{sellAmount:String(a)}:{buyAmount:String(r)}));return v+"/v1/slippage?"+i.toString()},re=function(){var e=u(b.mark((function e(t){var n,r,a,i,s,o,u,p,d,l;return b.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=void 0===(n=t.chainId)?exports.ChainId.mainnet:n,a=t.toChainId,i=t.sellTokenAddress,s=t.buyTokenAddress,o=t.sellAmount,u=t.buyAmount,!isNaN(Number(o))||!isNaN(Number(u))){e.next=3;break}return e.abrupt("return",null);case 3:return p=ne({buyAmount:u,buyTokenAddress:s,chainId:r,sellAmount:o,sellTokenAddress:i,toChainId:a}),e.next=6,fetch(p);case 6:return d=e.sent,e.next=9,d.json();case 9:if(!(l=e.sent).error){e.next=12;break}return e.abrupt("return",l);case 12:return e.abrupt("return",null==l?void 0:l.data);case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();exports.ALLOWS_PERMIT={"0x0d438f3b5175bebc262bf23753c1e53d03432bde":!0,"0x111111111117dc0aa78b770fa6a738034120c302":!0,"0x1b40183efb4dd766f11bda7a7c3ad8982e998421":!0,"0x1f9840a85d5af5bf1d1762f925bdaddc4201f984":!0,"0x31c8eacbffdd875c74b94b077895bd78cf1e64a3":!0,"0x6b175474e89094c44da98b954eedeac495271d0f":!0,"0x6dea81c8171d0ba574754ef6f8b412f2ed88c54d":!0,"0x77777feddddffc19ff86db637967013e6c6a116c":!0,"0x888888435fde8e7d4c54cab67f206e4199454c60":!0,"0x888888888889c00c67689029d7856aac1065ec11":!0,"0x88acdd2a6425c3faae4bc9650fd7e27e0bebb7ab":!0,"0x956f47f50a910163d8bf957cf5846d573e7f87ca":!0,"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":!0,"0xba100000625a3754423978a60c9317c58a424e3d":!0,"0xc7283b66eb1eb5fb86327f08e1b5816b0720212b":!0},exports.API_BASE_URL=v,exports.DAI=g,exports.ERC20_TRANSFER_SIGNATURE="0xa9059cbb",exports.ETH_ADDRESS=T,exports.MAX_INT=E,exports.PERMIT_EXPIRATION_TS=3600,exports.RAINBOW_ROUTER_CONTRACT_ADDRESS="0x00000000009726632680fb29d3f7a9734e3010e2",exports.RAINBOW_ROUTER_CONTRACT_ADDRESS_ZORA="0xa61550e9ddd2797e16489db09343162be98d9483",exports.RELAY_LINK_BRIDGING_RELAYER_ADDRESS="0xf70da97812CB96acDF810712Aa562db8dfA3dbEF",exports.SOCKET_GATEWAY_CONTRACT_ADDRESSESS=x,exports.TORN_ADDRESS=A,exports.USDC_ADDRESS="0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",exports.VSP_ADDRESS=C,exports.WNXM_ADDRESS=S,exports.WRAPPED_ASSET=w,exports.buildRainbowClaimBridgeQuoteUrl=q,exports.buildRainbowCrosschainQuoteUrl=X,exports.fillCrosschainQuote=te,exports.fillQuote=ee,exports.getClaimBridgeQuote=z,exports.getCrosschainQuote=J,exports.getCrosschainQuoteExecutionDetails=function(e,t,n){var r=e.from,a=e.data,i=e.value,s=e.to,o=H(e.source,e.fromChainId,Q(e));return o.shouldOverride&&(s=o.expectedAddress),{method:n.estimateGas({data:a,from:r,to:s,value:i}),params:p({},t,{value:i})}},exports.getMinRefuelAmount=K,exports.getQuote=Y,exports.getQuoteExecutionDetails=function(t,n,r){var a=new e.Contract(j(t.chainId),P,r),i=t.sellTokenAddress,s=t.buyTokenAddress,o=t.to,u=t.data,d=t.fee,l=t.value,c=t.sellAmount,y=t.feePercentageBasisPoints,m=T.toLowerCase();return(null==i?void 0:i.toLowerCase())===m?{method:a.estimateGas.fillQuoteEthToToken,methodArgs:[s,o,u,d],methodName:"fillQuoteEthToToken",params:p({},n,{value:l}),router:a}:(null==s?void 0:s.toLowerCase())===m?{method:a.estimateGas.fillQuoteTokenToEth,methodArgs:[i,o,u,c,y],methodName:"fillQuoteTokenToEth",params:p({},n,{value:l}),router:a}:{method:a.estimateGas.fillQuoteTokenToToken,methodArgs:[i,s,o,u,c,d],methodName:"fillQuoteTokenToToken",params:p({},n,{value:l}),router:a}},exports.getRainbowRouterContractAddress=j,exports.getSlippage=re,exports.getWrappedAssetMethod=function(t,n,r){return void 0===r&&(r=exports.ChainId.mainnet),new e.Contract(w[r],JSON.stringify(h),n).estimateGas[t]},exports.signPermit=U,exports.sources={AAVE:"Aave",AAVE_LIQUIDATOR:"Aave Liquidator",AAVE_V2:"Aave V2",BALANCER:"Balancer",BALANCER_V2:"Balancer V2",BANCOR:"Bancor",BLACKHOLESWAP:"Blackholeswap",CHAI:"Chai",CLIPPER:"Clipper",COFIX:"CoFix",COMPOUND:"Compound",CONVERGENCE_X:"Convergence X",CREAM_LENDING:"Creamswap Lending",CREAMSWAP:"Creamswap",CURVE:"Curve",CURVE_V2:"Curve V2",CURVE_V2_ETH_CRV:"CURVE V2 ETH CRV",CURVE_V2_ETH_CVX:"CURVE V2 ETH CVX",CURVE_V2_EURS_2_ASSET:"Curve V2 EURS",CURVE_V2_EURT_2_ASSET:"CURVE V2 EURT",CURVE_V2_SPELL_2_ASSET:"Curve Spell",CURVE_V2_THRESHOLDNETWORK_2_ASSET:"Curve Threshold",CURVE_V2_XAUT_2_ASSET:"CURVE V2 XAUt",CURVE_V2_YFI_2_ASSET:"Curve Yfi",DEFI_PLAZA:"DeFi Plaza",DEFISWAP:"DeFi Swap",DFX_FINANCE:"Dfx Finance",DODO:"DODO",DODO_V2:"DODO v2",DXSWAP:"Swapr",FIXED_FEE_SWAP:"Fixed Fee Swap",FIXED_FEE_SWAP_V3:"Fixed Rate Swap",IEARN:"yEarn",INDEXED_FINANCE:"Indexed Finance",KYBER:"Kyber",KYBER_DMM:"Kyber DMM",LINKSWAP:"Link Swap",LUASWAP:"Lua Swap",MINISWAP:"Mini Swap",MOONISWAP:"Mooniswap",MSTABLE:"mStable",OASIS:"Oasis",ONE_INCH_LIMIT_ORDER:"1inch Limit Order Protocol",ONE_INCH_LIMIT_ORDER_V2:"1inch Limit Order Protocol V2",ONE_INCH_LP:"1inch LP v1.0",ONE_INCH_LP_1_1:"1inch LP v1.1",ONE_INCH_LP_MIGRATOR:"Mooniswap Migrator",ONE_INCH_LP_MIGRATOR_V1_1:"1inch LP v1.0 Migrator",PMM1:"PMM1",PMM2:"PMM2",PMM3:"PMM3",PMM4:"PMM4",PMMX:"LiqPool X",POWERINDEX:"POWERINDEX",PSM:"PSM",S_FINANCE:"sFinance",SADDLE:"Saddle Finance",SAKESWAP:"Sake Swap",SETH_WRAPPER:"sETH Wrapper",SHELL:"Shell",SHIBASWAP:"Shiba Swap",SMOOTHY_FINANCE:"Smoothy Finance",ST_ETH:"stETH",SUSHI:"Sushiswap",SUSHISWAP_MIGRATOR:"SushiSwap Migrator",SWERVE:"Swerve",SYNAPSE:"Synapse",SYNTHETIX:"Synthetix",SYNTHETIX_WRAPPER:"Synthetix Wrapper",UNIFI:"Unifi",UNISWAP_V1:"Uniswap V1",UNISWAP_V2:"Uniswap V2",UNISWAP_V2_MIGRATOR:"Uniswap Migrator",UNISWAP_V3:"UNISWAP V3",VALUELIQUID:"Value Liquid",WETH:"WETH",WSTETH:"wstETH",XSIGMA:"xSigma",ZRX:"0x",Native:"Native",Uniswap:"Uniswap",UniswapV2:"Uniswap_V2",Eth2Dai:"Eth2Dai",Kyber:"Kyber",Curve:"Curve",LiquidityProvider:"LiquidityProvider",MultiBridge:"MultiBridge",Balancer:"Balancer",BalancerV2:"Balancer_V2",Cream:"CREAM",Bancor:"Bancor",MakerPsm:"MakerPsm",MStable:"mStable",Mooniswap:"Mooniswap",MultiHop:"MultiHop",Shell:"Shell",Swerve:"Swerve",SnowSwap:"SnowSwap",SushiSwap:"SushiSwap",Dodo:"DODO",DodoV2:"DODO_V2",CryptoCom:"CryptoCom",Linkswap:"Linkswap",KyberDmm:"KyberDMM",Smoothy:"Smoothy",Component:"Component",Saddle:"Saddle",XSigma:"xSigma",UniswapV3:"Uniswap_V3",CurveV2:"Curve_V2",Lido:"Lido",ShibaSwap:"ShibaSwap",Clipper:"Clipper",PancakeSwap:"PancakeSwap",PancakeSwapV2:"PancakeSwap_V2",BakerySwap:"BakerySwap",Nerve:"Nerve",Belt:"Belt",Ellipsis:"Ellipsis",ApeSwap:"ApeSwap",CafeSwap:"CafeSwap",CheeseSwap:"CheeseSwap",JulSwap:"JulSwap",ACryptos:"ACryptoS",QuickSwap:"QuickSwap",ComethSwap:"ComethSwap",Dfyn:"Dfyn",WaultSwap:"WaultSwap",Polydex:"Polydex",FirebirdOneSwap:"FirebirdOneSwap",JetSwap:"JetSwap",IronSwap:"IronSwap"},exports.unwrapNativeAsset=k,exports.wrapNativeAsset=I;
//# sourceMappingURL=swaps.cjs.production.min.js.map
{
"version": "0.20.0",
"version": "0.21.0",
"name": "@rainbow-me/swaps",

@@ -4,0 +4,0 @@ "license": "GPL-3.0",

@@ -164,2 +164,41 @@ import { Signer } from '@ethersproject/abstract-signer';

/**
* Function to build the swap API URI to get the claim bridge quote
*/
export const buildRainbowClaimBridgeQuoteUrl = ({
chainId,
toChainId,
sellTokenAddress,
buyTokenAddress,
sellAmount,
fromAddress,
slippage,
refuel,
}: {
chainId: number;
toChainId?: number;
sellTokenAddress: EthereumAddress;
buyTokenAddress: EthereumAddress;
sellAmount?: BigNumberish;
fromAddress: EthereumAddress;
slippage: number;
refuel?: boolean;
}) => {
const searchParams = new URLSearchParams({
buyToken: buyTokenAddress,
chainId: String(chainId),
claim: String(true),
feePercentageBasisPoints: '0',
fromAddress,
refuel: String(refuel),
sellAmount: String(sellAmount),
sellToken: sellTokenAddress,
slippage: String(slippage),
source: Source.CrosschainAggregatorRelay.toString(),
swapType: SwapType.crossChain,
toChainId: String(toChainId),
});
return `${API_BASE_URL}/v1/quote?bridgeVersion=3&` + searchParams.toString();
};
/**
* Function to get a minimum amount of source chain gas token to perform a refuel swap

@@ -326,3 +365,47 @@ *

const response = await fetch(url);
return fetchAndSanityCheckCrosschainQuote(url);
};
/**
* Function to get a crosschain swap quote from rainbow's swap aggregator backend
*/
export const getClaimBridgeQuote = async (
params: QuoteParams
): Promise<CrosschainQuote | QuoteError | null> => {
const {
chainId = ChainId.optimism,
toChainId,
fromAddress,
sellTokenAddress,
buyTokenAddress,
sellAmount,
slippage,
refuel = false,
} = params;
if (!sellAmount || !toChainId) {
return null;
}
const url = buildRainbowClaimBridgeQuoteUrl({
buyTokenAddress,
chainId,
fromAddress,
refuel,
sellAmount,
sellTokenAddress,
slippage,
toChainId,
});
return fetchAndSanityCheckCrosschainQuote(url);
};
/**
* Function to encapsulate logic to fetch and check a crosschain quote
*/
const fetchAndSanityCheckCrosschainQuote = async (
crosschainQuoteURL: string
): Promise<CrosschainQuote | QuoteError | null> => {
const response = await fetch(crosschainQuoteURL);
const quote = await response.json();

@@ -368,3 +451,3 @@ if (quote.error) {

* @param {boolean} permit
* @param {number} ChainId
* @param {number} chainId
* @param {string} referrer

@@ -371,0 +454,0 @@ * @returns {Promise<Transaction>}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc