@swapkit/toolboxes 4.0.0-beta.63 → 4.0.0-beta.64
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/src/index.cjs +3 -3
- package/dist/src/index.cjs.map +3 -3
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +3 -3
- package/dist/src/utxo/index.cjs +3 -3
- package/dist/src/utxo/index.cjs.map +3 -3
- package/dist/src/utxo/index.js +3 -3
- package/dist/src/utxo/index.js.map +3 -3
- package/dist/types/utxo/helpers/txSize.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/src/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var yX=Object.create;var{getPrototypeOf:TX,defineProperty:BT,getOwnPropertyNames:q1,getOwnPropertyDescriptor:fX}=Object,z1=Object.prototype.hasOwnProperty;var Y=(T,f,x)=>{x=T!=null?yX(TX(T)):{};let y=f||!T||!T.__esModule?BT(x,"default",{value:T,enumerable:!0}):x;for(let X of q1(T))if(!z1.call(y,X))BT(y,X,{get:()=>T[X],enumerable:!0});return y},Q1=new WeakMap,_y=(T)=>{var f=Q1.get(T),x;if(f)return f;if(f=BT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")q1(T).map((y)=>!z1.call(f,y)&&BT(f,y,{get:()=>T[y],enumerable:!(x=fX(T,y))||x.enumerable}));return Q1.set(T,f),f};var qy=(T,f)=>{for(var x in f)BT(T,x,{get:f[x],enumerable:!0,configurable:!0,set:(y)=>f[x]=()=>y})};var l=(T,f)=>()=>(T&&(f=T(T=0)),f);function GT(T){return Cy.base64.encode(Uint8Array.from(Cy.bech32.fromWords(Cy.bech32.decode(T).words)))}function WT(T,f="thor"){return Cy.bech32.encode(f,Cy.bech32.toWords(Cy.base64.decode(T)))}function XX(T){return gT.fromByteArray(T)}function LX(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new M1.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return gT.toByteArray(T)}var Cy,M1,gT;var P5=l(()=>{Cy=require("@scure/base"),M1=require("@swapkit/helpers"),gT=require("base64-js")});function Dy(T){switch(T){case O.Chain.Maya:return{amount:[],gas:"10000000000"};case O.Chain.THORChain:return{amount:[],gas:"500000000"};case O.Chain.Kujira:return W1;case O.Chain.Noble:return H1;default:return G1}}async function Iy(T){let f=await import("@cosmjs/stargate"),x=f.StargateClient??f.default?.StargateClient,y=typeof window!=="undefined"?{}:{referrer:"https://sdk.swapkit.dev",referer:"https://sdk.swapkit.dev"};return x.connect({url:T,headers:y})}async function YT(T,f,x={}){let y=await import("@cosmjs/stargate"),X=y.SigningStargateClient??y.default?.SigningStargateClient,L=y.GasPrice??y.default?.GasPrice,Z=typeof x==="string"?x:"0.0003uatom",J=typeof x==="string"?{}:x;return X.connectWithSigner(T,f,{gasPrice:L.fromString(Z),...J})}async function V5(T,f){let x=await import("@cosmjs/stargate");return(x.SigningStargateClient??x.default?.SigningStargateClient).offline(T,f)}var O,l5="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",B1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",G1,W1,H1,Ey=(T,f=!1)=>{if(f)return T.toLowerCase();switch(T){case"uUSK":case"USK":return l5;case"uYUM":case"YUM":return B1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},HT=({symbol:T,chain:f})=>{if(f===O.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${O.Chain.Maya}.${T}`).toUpperCase();if(f===O.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${O.Chain.THORChain}.${T}`:T).toUpperCase();return Ey(T,!1)},Y1=(T)=>{let{isStagenet:f}=O.SKConfig.get("envs"),x=O.SKConfig.get("rpcUrls");switch(T){case O.ChainId.Kujira:return x.KUJI;case O.ChainId.Noble:return x.NOBLE;case O.ChainId.THORChain:case"thorchain-mainnet-v1":return f?x.THOR_STAGENET:x.THOR;case O.ChainId.Maya:return f?x.MAYA_STAGENET:x.MAYA;default:return x.GAIA}},xX=(T)=>{switch(T){case O.Chain.Maya:case O.Chain.THORChain:return"/types.MsgSend";case O.Chain.Cosmos:case O.Chain.Kujira:case O.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new O.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},$5=async({sender:T,recipient:f,assetValue:x,memo:y="",feeRate:X,sequence:L,accountNumber:Z})=>{let{chain:J,chainId:Q}=x,q=Y1(Q),B=await(await Iy(q)).getAccount(T);if(!B)throw new O.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let M=O.AssetValue.from({chain:J}),H=Ey(M.symbol),G=Dy(J),R=H&&X?{amount:[{denom:H,amount:X.toString()}],gas:G.gas}:G,I={fromAddress:T,toAddress:f,amount:[{amount:x.getBaseValue("string"),denom:Ey(x.symbol)}]};return{accountNumber:Z??B.accountNumber,chainId:Q,fee:R,memo:y,sequence:L??B.sequence,msgs:[{typeUrl:xX(J),value:I}]}},ZX,F5=(T,f)=>{let x=ZX[T.toLowerCase()];if(!x)return O.AssetValue.from({asset:T,value:f,fromBaseDecimal:8});let{chain:y,asset:X,decimals:L}=x,Z=y?{chain:y}:{asset:X};return O.AssetValue.from({...Z,value:f,fromBaseDecimal:L})};var UT=l(()=>{O=require("@swapkit/helpers"),G1={amount:[{denom:"uatom",amount:"500"}],gas:"200000"},W1={amount:[{denom:"ukuji",amount:"1000"}],gas:"200000"},H1={amount:[{denom:"uusdc",amount:"1000"}],gas:"200000"};ZX={rune:{chain:O.Chain.THORChain,decimals:O.BaseDecimal[O.Chain.THORChain]},tcy:{asset:"THOR.TCY",decimals:O.BaseDecimal[O.Chain.THORChain]},"x/kuji":{asset:"THOR.KUJI",decimals:O.BaseDecimal[O.Chain.THORChain]},uatom:{chain:O.Chain.Cosmos,decimals:O.BaseDecimal[O.Chain.Cosmos]},atom:{chain:O.Chain.Cosmos,decimals:O.BaseDecimal[O.Chain.Cosmos]},cacao:{chain:O.Chain.Maya,decimals:10},maya:{asset:`${O.Chain.Maya}.${O.Chain.Maya}`,decimals:4},ukuji:{chain:O.Chain.Kujira,decimals:O.BaseDecimal[O.Chain.Kujira]},kuji:{chain:O.Chain.Kujira,decimals:O.BaseDecimal[O.Chain.Kujira]},uusdc:{chain:O.Chain.Noble,decimals:O.BaseDecimal[O.Chain.Noble]},usdc:{chain:O.Chain.Noble,decimals:O.BaseDecimal[O.Chain.Noble]},[l5.toLowerCase()]:{asset:`${O.Chain.Kujira}.USK`,decimals:O.BaseDecimal[O.Chain.Kujira]}}});var U1={};qy(U1,{$root:()=>N});var a,F,zy,k,N;var _1=l(()=>{a=Y(require("protobufjs/minimal.js")),F=a.default.Reader,zy=a.default.Writer,k=a.default.util,N=a.default.roots.default||(a.default.roots.default={});N.common=(()=>{let T={};return T.Asset=(()=>{function f(x){if(x){for(let y=Object.keys(x),X=0;X<y.length;++X)if(x[y[X]]!=null)this[y[X]]=x[y[X]]}}return f.prototype.chain="",f.prototype.symbol="",f.prototype.ticker="",f.prototype.synth=!1,f.create=function x(y){return new f(y)},f.encode=function x(y,X){if(!X)X=zy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))X.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))X.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))X.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))X.uint32(32).bool(y.synth);return X},f.encodeDelimited=function x(y,X){return this.encode(y,X).ldelim()},f.decode=function x(y,X){if(!(y instanceof F))y=F.create(y);let L=X===void 0?y.len:y.pos+X,Z=new N.common.Asset;while(y.pos<L){let J=y.uint32();switch(J>>>3){case 1:Z.chain=y.string();break;case 2:Z.symbol=y.string();break;case 3:Z.ticker=y.string();break;case 4:Z.synth=y.bool();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function x(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function x(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!k.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!k.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!k.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},f.fromObject=function x(y){if(y instanceof N.common.Asset)return y;let X=new N.common.Asset;if(y.chain!=null)X.chain=String(y.chain);if(y.symbol!=null)X.symbol=String(y.symbol);if(y.ticker!=null)X.ticker=String(y.ticker);if(y.synth!=null)X.synth=Boolean(y.synth);return X},f.toObject=function x(y,X){if(!X)X={};let L={};if(X.defaults)L.chain="",L.symbol="",L.ticker="",L.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))L.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))L.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))L.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))L.synth=y.synth;return L},f.prototype.toJSON=function x(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.Coin=(()=>{function f(x){if(x){for(let y=Object.keys(x),X=0;X<y.length;++X)if(x[y[X]]!=null)this[y[X]]=x[y[X]]}}return f.prototype.asset=null,f.prototype.amount="",f.prototype.decimals=k.Long?k.Long.fromBits(0,0,!1):0,f.create=function x(y){return new f(y)},f.encode=function x(y,X){if(!X)X=zy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))N.common.Asset.encode(y.asset,X.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))X.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))X.uint32(24).int64(y.decimals);return X},f.encodeDelimited=function x(y,X){return this.encode(y,X).ldelim()},f.decode=function x(y,X){if(!(y instanceof F))y=F.create(y);let L=X===void 0?y.len:y.pos+X,Z=new N.common.Coin;while(y.pos<L){let J=y.uint32();switch(J>>>3){case 1:Z.asset=N.common.Asset.decode(y,y.uint32());break;case 2:Z.amount=y.string();break;case 3:Z.decimals=y.int64();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function x(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function x(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let X=N.common.Asset.verify(y.asset);if(X)return"asset."+X}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!k.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!k.isInteger(y.decimals)&&!(y.decimals&&k.isInteger(y.decimals.low)&&k.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},f.fromObject=function x(y){if(y instanceof N.common.Coin)return y;let X=new N.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");X.asset=N.common.Asset.fromObject(y.asset)}if(y.amount!=null)X.amount=String(y.amount);if(y.decimals!=null){if(k.Long)(X.decimals=k.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")X.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")X.decimals=y.decimals;else if(typeof y.decimals==="object")X.decimals=new k.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return X},f.toObject=function x(y,X){if(!X)X={};let L={};if(X.defaults)if(L.asset=null,L.amount="",k.Long){let Z=new k.Long(0,0,!1);L.decimals=X.longs===String?Z.toString():X.longs===Number?Z.toNumber():Z}else L.decimals=X.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))L.asset=N.common.Asset.toObject(y.asset,X);if(y.amount!=null&&y.hasOwnProperty("amount"))L.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")L.decimals=X.longs===String?String(y.decimals):y.decimals;else L.decimals=X.longs===String?k.Long.prototype.toString.call(y.decimals):X.longs===Number?new k.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return L},f.prototype.toJSON=function x(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.PubKeySet=(()=>{function f(x){if(x){for(let y=Object.keys(x),X=0;X<y.length;++X)if(x[y[X]]!=null)this[y[X]]=x[y[X]]}}return f.prototype.secp256k1="",f.prototype.ed25519="",f.create=function x(y){return new f(y)},f.encode=function x(y,X){if(!X)X=zy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))X.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))X.uint32(18).string(y.ed25519);return X},f.encodeDelimited=function x(y,X){return this.encode(y,X).ldelim()},f.decode=function x(y,X){if(!(y instanceof F))y=F.create(y);let L=X===void 0?y.len:y.pos+X,Z=new N.common.PubKeySet;while(y.pos<L){let J=y.uint32();switch(J>>>3){case 1:Z.secp256k1=y.string();break;case 2:Z.ed25519=y.string();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function x(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function x(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!k.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!k.isString(y.ed25519))return"ed25519: string expected"}return null},f.fromObject=function x(y){if(y instanceof N.common.PubKeySet)return y;let X=new N.common.PubKeySet;if(y.secp256k1!=null)X.secp256k1=String(y.secp256k1);if(y.ed25519!=null)X.ed25519=String(y.ed25519);return X},f.toObject=function x(y,X){if(!X)X={};let L={};if(X.defaults)L.secp256k1="",L.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))L.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))L.ed25519=y.ed25519;return L},f.prototype.toJSON=function x(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.Tx=(()=>{function f(x){if(this.coins=[],this.gas=[],x){for(let y=Object.keys(x),X=0;X<y.length;++X)if(x[y[X]]!=null)this[y[X]]=x[y[X]]}}return f.prototype.id="",f.prototype.chain="",f.prototype.fromAddress="",f.prototype.toAddress="",f.prototype.coins=k.emptyArray,f.prototype.gas=k.emptyArray,f.prototype.memo="",f.create=function x(y){return new f(y)},f.encode=function x(y,X){if(!X)X=zy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))X.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))X.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))X.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))X.uint32(34).string(y.toAddress);if(y.coins?.length)for(let L=0;L<y.coins.length;++L)N.common.Coin.encode(y.coins[L],X.uint32(42).fork()).ldelim();if(y.gas?.length)for(let L=0;L<y.gas.length;++L)N.common.Coin.encode(y.gas[L],X.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))X.uint32(58).string(y.memo);return X},f.encodeDelimited=function x(y,X){return this.encode(y,X).ldelim()},f.decode=function x(y,X){if(!(y instanceof F))y=F.create(y);let L=X===void 0?y.len:y.pos+X,Z=new N.common.Tx;while(y.pos<L){let J=y.uint32();switch(J>>>3){case 1:Z.id=y.string();break;case 2:Z.chain=y.string();break;case 3:Z.fromAddress=y.string();break;case 4:Z.toAddress=y.string();break;case 5:if(!Z.coins?.length)Z.coins=[];Z.coins.push(N.common.Coin.decode(y,y.uint32()));break;case 6:if(!Z.gas?.length)Z.gas=[];Z.gas.push(N.common.Coin.decode(y,y.uint32()));break;case 7:Z.memo=y.string();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function x(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function x(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!k.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!k.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!k.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!k.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let X=0;X<y.coins.length;++X){let L=N.common.Coin.verify(y.coins[X]);if(L)return"coins."+L}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let X=0;X<y.gas.length;++X){let L=N.common.Coin.verify(y.gas[X]);if(L)return"gas."+L}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!k.isString(y.memo))return"memo: string expected"}return null},f.fromObject=function x(y){if(y instanceof N.common.Tx)return y;let X=new N.common.Tx;if(y.id!=null)X.id=String(y.id);if(y.chain!=null)X.chain=String(y.chain);if(y.fromAddress!=null)X.fromAddress=String(y.fromAddress);if(y.toAddress!=null)X.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");X.coins=[];for(let L=0;L<y.coins.length;++L){if(typeof y.coins[L]!=="object")throw TypeError(".common.Tx.coins: object expected");X.coins[L]=N.common.Coin.fromObject(y.coins[L])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");X.gas=[];for(let L=0;L<y.gas.length;++L){if(typeof y.gas[L]!=="object")throw TypeError(".common.Tx.gas: object expected");X.gas[L]=N.common.Coin.fromObject(y.gas[L])}}if(y.memo!=null)X.memo=String(y.memo);return X},f.toObject=function x(y,X){if(!X)X={};let L={};if(X.arrays||X.defaults)L.coins=[],L.gas=[];if(X.defaults)L.id="",L.chain="",L.fromAddress="",L.toAddress="",L.memo="";if(y.id!=null&&y.hasOwnProperty("id"))L.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))L.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))L.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))L.toAddress=y.toAddress;if(y.coins?.length){L.coins=[];for(let Z=0;Z<y.coins.length;++Z)L.coins[Z]=N.common.Coin.toObject(y.coins[Z],X)}if(y.gas?.length){L.gas=[];for(let Z=0;Z<y.gas.length;++Z)L.gas[Z]=N.common.Coin.toObject(y.gas[Z],X)}if(y.memo!=null&&y.hasOwnProperty("memo"))L.memo=y.memo;return L},f.prototype.toJSON=function x(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.Fee=(()=>{function f(x){if(this.coins=[],x){for(let y=Object.keys(x),X=0;X<y.length;++X)if(x[y[X]]!=null)this[y[X]]=x[y[X]]}}return f.prototype.coins=k.emptyArray,f.prototype.poolDeduct="",f.create=function x(y){return new f(y)},f.encode=function x(y,X){if(!X)X=zy.create();if(y.coins?.length)for(let L=0;L<y.coins.length;++L)N.common.Coin.encode(y.coins[L],X.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))X.uint32(18).string(y.poolDeduct);return X},f.encodeDelimited=function x(y,X){return this.encode(y,X).ldelim()},f.decode=function x(y,X){if(!(y instanceof F))y=F.create(y);let L=X===void 0?y.len:y.pos+X,Z=new N.common.Fee;while(y.pos<L){let J=y.uint32();switch(J>>>3){case 1:if(!Z.coins?.length)Z.coins=[];Z.coins.push(N.common.Coin.decode(y,y.uint32()));break;case 2:Z.poolDeduct=y.string();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function x(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function x(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let X=0;X<y.coins.length;++X){let L=N.common.Coin.verify(y.coins[X]);if(L)return"coins."+L}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!k.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},f.fromObject=function x(y){if(y instanceof N.common.Fee)return y;let X=new N.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");X.coins=[];for(let L=0;L<y.coins.length;++L){if(typeof y.coins[L]!=="object")throw TypeError(".common.Fee.coins: object expected");X.coins[L]=N.common.Coin.fromObject(y.coins[L])}}if(y.poolDeduct!=null)X.poolDeduct=String(y.poolDeduct);return X},f.toObject=function x(y,X){if(!X)X={};let L={};if(X.arrays||X.defaults)L.coins=[];if(X.defaults)L.poolDeduct="";if(y.coins?.length){L.coins=[];for(let Z=0;Z<y.coins.length;++Z)L.coins[Z]=N.common.Coin.toObject(y.coins[Z],X)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))L.poolDeduct=y.poolDeduct;return L},f.prototype.toJSON=function x(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.ProtoUint=(()=>{function f(x){if(x){for(let y=Object.keys(x),X=0;X<y.length;++X)if(x[y[X]]!=null)this[y[X]]=x[y[X]]}}return f.prototype.value="",f.create=function x(y){return new f(y)},f.encode=function x(y,X){if(!X)X=zy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))X.uint32(10).string(y.value);return X},f.encodeDelimited=function x(y,X){return this.encode(y,X).ldelim()},f.decode=function x(y,X){if(!(y instanceof F))y=F.create(y);let L=X===void 0?y.len:y.pos+X,Z=new N.common.ProtoUint;while(y.pos<L){let J=y.uint32();switch(J>>>3){case 1:Z.value=y.string();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function x(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function x(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!k.isString(y.value))return"value: string expected"}return null},f.fromObject=function x(y){if(y instanceof N.common.ProtoUint)return y;let X=new N.common.ProtoUint;if(y.value!=null)X.value=String(y.value);return X},f.toObject=function x(y,X){if(!X)X={};let L={};if(X.defaults)L.value="";if(y.value!=null&&y.hasOwnProperty("value"))L.value=y.value;return L},f.prototype.toJSON=function x(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T})();N.types=(()=>{let T={};return T.MsgDeposit=(()=>{function f(x){if(this.coins=[],x){for(let y=Object.keys(x),X=0;X<y.length;++X)if(x[y[X]]!=null)this[y[X]]=x[y[X]]}}return f.prototype.coins=k.emptyArray,f.prototype.memo="",f.prototype.signer=k.newBuffer([]),f.create=function x(y){return new f(y)},f.encode=function x(y,X){if(!X)X=zy.create();if(y.coins?.length)for(let L=0;L<y.coins.length;++L)N.common.Coin.encode(y.coins[L],X.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))X.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))X.uint32(26).bytes(y.signer);return X},f.encodeDelimited=function x(y,X){return this.encode(y,X).ldelim()},f.decode=function x(y,X){if(!(y instanceof F))y=F.create(y);let L=X===void 0?y.len:y.pos+X,Z=new N.types.MsgDeposit;while(y.pos<L){let J=y.uint32();switch(J>>>3){case 1:if(!Z.coins?.length)Z.coins=[];Z.coins.push(N.common.Coin.decode(y,y.uint32()));break;case 2:Z.memo=y.string();break;case 3:Z.signer=y.bytes();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function x(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function x(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let X=0;X<y.coins.length;++X){let L=N.common.Coin.verify(y.coins[X]);if(L)return"coins."+L}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!k.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||k.isString(y.signer)))return"signer: buffer expected"}return null},f.fromObject=function x(y){if(y instanceof N.types.MsgDeposit)return y;let X=new N.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");X.coins=[];for(let L=0;L<y.coins.length;++L){if(typeof y.coins[L]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");X.coins[L]=N.common.Coin.fromObject(y.coins[L])}}if(y.memo!=null)X.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")k.base64.decode(y.signer,X.signer=k.newBuffer(k.base64.length(y.signer)),0);else if(y.signer.length)X.signer=y.signer}return X},f.toObject=function x(y,X){if(!X)X={};let L={};if(X.arrays||X.defaults)L.coins=[];if(X.defaults){if(L.memo="",X.bytes===String)L.signer="";else if(L.signer=[],X.bytes!==Array)L.signer=k.newBuffer(L.signer)}if(y.coins?.length){L.coins=[];for(let Z=0;Z<y.coins.length;++Z)L.coins[Z]=N.common.Coin.toObject(y.coins[Z],X)}if(y.memo!=null&&y.hasOwnProperty("memo"))L.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))L.signer=X.bytes===String?k.base64.encode(y.signer,0,y.signer.length):X.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return L},f.prototype.toJSON=function x(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.MsgSend=(()=>{function f(x){if(this.amount=[],x){for(let y=Object.keys(x),X=0;X<y.length;++X)if(x[y[X]]!=null)this[y[X]]=x[y[X]]}}return f.prototype.fromAddress=k.newBuffer([]),f.prototype.toAddress=k.newBuffer([]),f.prototype.amount=k.emptyArray,f.create=function x(y){return new f(y)},f.encode=function x(y,X){if(!X)X=zy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))X.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))X.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let L=0;L<y.amount.length;++L)N.cosmos.base.v1beta1.Coin.encode(y.amount[L],X.uint32(26).fork()).ldelim();return X},f.encodeDelimited=function x(y,X){return this.encode(y,X).ldelim()},f.decode=function x(y,X){if(!(y instanceof F))y=F.create(y);let L=X===void 0?y.len:y.pos+X,Z=new N.types.MsgSend;while(y.pos<L){let J=y.uint32();switch(J>>>3){case 1:Z.fromAddress=y.bytes();break;case 2:Z.toAddress=y.bytes();break;case 3:if(!Z.amount?.length)Z.amount=[];Z.amount.push(N.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function x(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function x(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||k.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||k.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let X=0;X<y.amount.length;++X){let L=N.cosmos.base.v1beta1.Coin.verify(y.amount[X]);if(L)return"amount."+L}}return null},f.fromObject=function x(y){if(y instanceof N.types.MsgSend)return y;let X=new N.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")k.base64.decode(y.fromAddress,X.fromAddress=k.newBuffer(k.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)X.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")k.base64.decode(y.toAddress,X.toAddress=k.newBuffer(k.base64.length(y.toAddress)),0);else if(y.toAddress.length)X.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");X.amount=[];for(let L=0;L<y.amount.length;++L){if(typeof y.amount[L]!=="object")throw TypeError(".types.MsgSend.amount: object expected");X.amount[L]=N.cosmos.base.v1beta1.Coin.fromObject(y.amount[L])}}return X},f.toObject=function x(y,X){if(!X)X={};let L={};if(X.arrays||X.defaults)L.amount=[];if(X.defaults){if(X.bytes===String)L.fromAddress="";else if(L.fromAddress=[],X.bytes!==Array)L.fromAddress=k.newBuffer(L.fromAddress);if(X.bytes===String)L.toAddress="";else if(L.toAddress=[],X.bytes!==Array)L.toAddress=k.newBuffer(L.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))L.fromAddress=X.bytes===String?k.base64.encode(y.fromAddress,0,y.fromAddress.length):X.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))L.toAddress=X.bytes===String?k.base64.encode(y.toAddress,0,y.toAddress.length):X.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){L.amount=[];for(let Z=0;Z<y.amount.length;++Z)L.amount[Z]=N.cosmos.base.v1beta1.Coin.toObject(y.amount[Z],X)}return L},f.prototype.toJSON=function x(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T})();N.cosmos=(()=>{let T={};return T.base=(()=>{let f={};return f.v1beta1=(()=>{let x={};return x.Coin=(()=>{function y(X){if(X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function X(L){return new y(L)},y.encode=function X(L,Z){if(!Z)Z=zy.create();if(L.denom!=null&&Object.hasOwnProperty.call(L,"denom"))Z.uint32(10).string(L.denom);if(L.amount!=null&&Object.hasOwnProperty.call(L,"amount"))Z.uint32(18).string(L.amount);return Z},y.encodeDelimited=function X(L,Z){return this.encode(L,Z).ldelim()},y.decode=function X(L,Z){if(!(L instanceof F))L=F.create(L);let J=Z===void 0?L.len:L.pos+Z,Q=new N.cosmos.base.v1beta1.Coin;while(L.pos<J){let q=L.uint32();switch(q>>>3){case 1:Q.denom=L.string();break;case 2:Q.amount=L.string();break;default:L.skipType(q&7);break}}return Q},y.decodeDelimited=function X(L){if(!(L instanceof F))L=new F(L);return this.decode(L,L.uint32())},y.verify=function X(L){if(typeof L!=="object"||L===null)return"object expected";if(L.denom!=null&&L.hasOwnProperty("denom")){if(!k.isString(L.denom))return"denom: string expected"}if(L.amount!=null&&L.hasOwnProperty("amount")){if(!k.isString(L.amount))return"amount: string expected"}return null},y.fromObject=function X(L){if(L instanceof N.cosmos.base.v1beta1.Coin)return L;let Z=new N.cosmos.base.v1beta1.Coin;if(L.denom!=null)Z.denom=String(L.denom);if(L.amount!=null)Z.amount=String(L.amount);return Z},y.toObject=function X(L,Z){if(!Z)Z={};let J={};if(Z.defaults)J.denom="",J.amount="";if(L.denom!=null&&L.hasOwnProperty("denom"))J.denom=L.denom;if(L.amount!=null&&L.hasOwnProperty("amount"))J.amount=L.amount;return J},y.prototype.toJSON=function X(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},y})(),x.DecCoin=(()=>{function y(X){if(X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function X(L){return new y(L)},y.encode=function X(L,Z){if(!Z)Z=zy.create();if(L.denom!=null&&Object.hasOwnProperty.call(L,"denom"))Z.uint32(10).string(L.denom);if(L.amount!=null&&Object.hasOwnProperty.call(L,"amount"))Z.uint32(18).string(L.amount);return Z},y.encodeDelimited=function X(L,Z){return this.encode(L,Z).ldelim()},y.decode=function X(L,Z){if(!(L instanceof F))L=F.create(L);let J=Z===void 0?L.len:L.pos+Z,Q=new N.cosmos.base.v1beta1.DecCoin;while(L.pos<J){let q=L.uint32();switch(q>>>3){case 1:Q.denom=L.string();break;case 2:Q.amount=L.string();break;default:L.skipType(q&7);break}}return Q},y.decodeDelimited=function X(L){if(!(L instanceof F))L=new F(L);return this.decode(L,L.uint32())},y.verify=function X(L){if(typeof L!=="object"||L===null)return"object expected";if(L.denom!=null&&L.hasOwnProperty("denom")){if(!k.isString(L.denom))return"denom: string expected"}if(L.amount!=null&&L.hasOwnProperty("amount")){if(!k.isString(L.amount))return"amount: string expected"}return null},y.fromObject=function X(L){if(L instanceof N.cosmos.base.v1beta1.DecCoin)return L;let Z=new N.cosmos.base.v1beta1.DecCoin;if(L.denom!=null)Z.denom=String(L.denom);if(L.amount!=null)Z.amount=String(L.amount);return Z},y.toObject=function X(L,Z){if(!Z)Z={};let J={};if(Z.defaults)J.denom="",J.amount="";if(L.denom!=null&&L.hasOwnProperty("denom"))J.denom=L.denom;if(L.amount!=null&&L.hasOwnProperty("amount"))J.amount=L.amount;return J},y.prototype.toJSON=function X(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},y})(),x.IntProto=(()=>{function y(X){if(X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return y.prototype.int="",y.create=function X(L){return new y(L)},y.encode=function X(L,Z){if(!Z)Z=zy.create();if(L.int!=null&&Object.hasOwnProperty.call(L,"int"))Z.uint32(10).string(L.int);return Z},y.encodeDelimited=function X(L,Z){return this.encode(L,Z).ldelim()},y.decode=function X(L,Z){if(!(L instanceof F))L=F.create(L);let J=Z===void 0?L.len:L.pos+Z,Q=new N.cosmos.base.v1beta1.IntProto;while(L.pos<J){let q=L.uint32();switch(q>>>3){case 1:Q.int=L.string();break;default:L.skipType(q&7);break}}return Q},y.decodeDelimited=function X(L){if(!(L instanceof F))L=new F(L);return this.decode(L,L.uint32())},y.verify=function X(L){if(typeof L!=="object"||L===null)return"object expected";if(L.int!=null&&L.hasOwnProperty("int")){if(!k.isString(L.int))return"int: string expected"}return null},y.fromObject=function X(L){if(L instanceof N.cosmos.base.v1beta1.IntProto)return L;let Z=new N.cosmos.base.v1beta1.IntProto;if(L.int!=null)Z.int=String(L.int);return Z},y.toObject=function X(L,Z){if(!Z)Z={};let J={};if(Z.defaults)J.int="";if(L.int!=null&&L.hasOwnProperty("int"))J.int=L.int;return J},y.prototype.toJSON=function X(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},y})(),x.DecProto=(()=>{function y(X){if(X){for(let L=Object.keys(X),Z=0;Z<L.length;++Z)if(X[L[Z]]!=null)this[L[Z]]=X[L[Z]]}}return y.prototype.dec="",y.create=function X(L){return new y(L)},y.encode=function X(L,Z){if(!Z)Z=zy.create();if(L.dec!=null&&Object.hasOwnProperty.call(L,"dec"))Z.uint32(10).string(L.dec);return Z},y.encodeDelimited=function X(L,Z){return this.encode(L,Z).ldelim()},y.decode=function X(L,Z){if(!(L instanceof F))L=F.create(L);let J=Z===void 0?L.len:L.pos+Z,Q=new N.cosmos.base.v1beta1.DecProto;while(L.pos<J){let q=L.uint32();switch(q>>>3){case 1:Q.dec=L.string();break;default:L.skipType(q&7);break}}return Q},y.decodeDelimited=function X(L){if(!(L instanceof F))L=new F(L);return this.decode(L,L.uint32())},y.verify=function X(L){if(typeof L!=="object"||L===null)return"object expected";if(L.dec!=null&&L.hasOwnProperty("dec")){if(!k.isString(L.dec))return"dec: string expected"}return null},y.fromObject=function X(L){if(L instanceof N.cosmos.base.v1beta1.DecProto)return L;let Z=new N.cosmos.base.v1beta1.DecProto;if(L.dec!=null)Z.dec=String(L.dec);return Z},y.toObject=function X(L,Z){if(!Z)Z={};let J={};if(Z.defaults)J.dec="";if(L.dec!=null&&L.hasOwnProperty("dec"))J.dec=L.dec;return J},y.prototype.toJSON=function X(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},y})(),x})(),f})(),T})()});async function ny(){let{$root:T}=await Promise.resolve().then(() => (_1(),U1)),f=await import("@cosmjs/proto-signing"),x=f.Registry??f.default?.Registry,y=await import("@cosmjs/stargate"),X=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new x([...X,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function vy(T){let f=await import("@cosmjs/stargate"),x=f.AminoTypes??f.default?.AminoTypes,y=T===R1.Chain.THORChain?"thorchain":"mayachain";return new x({"/types.MsgSend":{aminoType:`${y}/MsgSend`,toAmino:({fromAddress:X,toAddress:L,...Z})=>({...Z,from_address:WT(X),to_address:WT(L)}),fromAmino:({from_address:X,to_address:L,...Z})=>({...Z,fromAddress:GT(X),toAddress:GT(L)})},"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,toAmino:({signer:X,...L})=>({...L,signer:WT(X)}),fromAmino:({signer:X,...L})=>({...L,signer:GT(X)})}})}var R1;var K5=l(()=>{R1=require("@swapkit/helpers");P5()});function u5(T){return function f(x){let{assetValue:y,recipient:X,memo:L,sender:Z,asSignable:J,asAminoMessage:Q}=x;if(X)return D1(T)({sender:Z,recipient:X,assetValue:y,memo:L,asSignable:J,asAminoMessage:Q});return I1(T)({sender:Z,assetValue:y,memo:L,asSignable:J,asAminoMessage:Q})}}function ly(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((f)=>{let x=My.AssetValue.from({asset:f.asset}),y=(x.isSynthetic?x.symbol.split("/")?.[1]:x.symbol)?.toUpperCase(),X=(x.isSynthetic?x.symbol.split("/")?.[0]:x.chain)?.toUpperCase();return{...f,asset:{chain:X,symbol:y,ticker:x.ticker,synth:x.isSynthetic}}})}}}async function _T({chain:T,memo:f,msgs:x}){let y=await ny(),X=await vy(T),L={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:f,messages:x.map((Z)=>X.fromAmino(Z))}};return y.encode(L)}var My,JX,QX,A5=({sender:T,recipient:f,assetValue:x})=>{return{type:`${x.chain===My.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{from_address:T,to_address:f,amount:[{amount:x.getBaseValue("string"),denom:Ey(x.symbol,!0)}]}}},S5=({sender:T,assetValue:f,memo:x=""})=>{return{type:`${f.chain===My.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:f.getBaseValue("string"),asset:HT(f)}],signer:T,memo:x}}},tT=({sender:T,recipient:f,assetValue:x,memo:y})=>{return!f?S5({sender:T,assetValue:x,memo:y}):A5({sender:T,recipient:f,assetValue:x})},Py=async(T,f)=>{return(await vy(f)).fromAmino(T)},N1=async({rpcUrl:T,sender:f})=>{let y=await(await Iy(T)).getAccount(f);if(!y)throw new My.SwapKitError("toolbox_cosmos_account_not_found",{sender:f});return y},D1=(T)=>async({sender:f,recipient:x,assetValue:y,memo:X="",asSignable:L=!0,asAminoMessage:Z=!1,sequence:J,accountNumber:Q})=>{let q=await N1({rpcUrl:T,sender:f}),z=y.chain,B=A5({sender:f,recipient:x,assetValue:y}),M=L?await Py(Z?B:ly(B),z):B;return{chainId:My.ChainToChainId[z],accountNumber:Q||q.accountNumber,sequence:J||q.sequence,msgs:[M],fee:Dy(y.chain),memo:X}},I1=(T)=>async({sender:f,assetValue:x,memo:y="",asSignable:X=!0,asAminoMessage:L=!1,sequence:Z,accountNumber:J})=>{let Q=await N1({rpcUrl:T,sender:f}),q=x.chain,z=S5({sender:f,assetValue:x,memo:y}),B=X?await Py(L?z:ly(z),q):z;return{chainId:My.ChainToChainId[q],accountNumber:J||Q.accountNumber,sequence:Z||Q.sequence,msgs:[B],fee:Dy(x.chain),memo:y}};var O1=l(()=>{My=require("@swapkit/helpers");UT();K5();JX=Dy(My.Chain.THORChain).gas,QX=Dy(My.Chain.Maya).gas});var k1=()=>{};var w1=l(()=>{k1()});var b5=l(()=>{P5();O1();K5();w1()});async function n5(T,f){try{let y=(await h5.SwapKitApi.getGasRate()).find((X)=>X.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(x){return f}}async function j5({phrase:T,prefix:f,...x}){let y=await import("@cosmjs/proto-signing"),X=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,L=await import("@cosmjs/crypto"),Z=L.stringToPath??L.default?.stringToPath,J="derivationPath"in x?x.derivationPath:`${C.DerivationPath[x.chain]}/${x.index}`;return X.fromMnemonic(T,{prefix:f,hdPaths:[Z(J)]})}async function qX({privateKey:T,prefix:f}){let x=await import("@cosmjs/proto-signing");return(x.DirectSecp256k1Wallet??x.default?.DirectSecp256k1Wallet).fromKey(T,f)}function P1(T){return async function f({signature:x,message:y,address:X}){let L=await T(X);if(!L?.pubkey)throw new C.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let Z=await import("@cosmjs/crypto"),J=Z.Secp256k1Signature??Z.default?.Secp256k1Signature,Q=Z.Secp256k1??Z.default?.Secp256k1,q=J.fromFixedLength(Vy.base64.decode(x));return Q.verifySignature(q,Vy.base64.decode(y),L.pubkey.value)}}async function NT({chain:T,...f}){let x=C.SKConfig.get("rpcUrls")[T],y=C.CosmosChainPrefixes[T],X="index"in f?f.index||0:0,L=C.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:C.updateDerivationPath(C.NetworkDerivationPath[T],{index:X})),Z=await RT.match(f).with({phrase:RT.P.string},({phrase:B})=>j5({phrase:B,prefix:y,derivationPath:L})).with({signer:RT.P.any},({signer:B})=>B).otherwise(()=>{return});async function J(B){return(await Iy(x)).getAccount(B)}async function Q(){let[B]=await Z?.getAccounts()||[];return B?.address}async function q(){let[B]=await Z?.getAccounts()||[];if(!B?.pubkey)throw new C.SwapKitError("toolbox_cosmos_signer_not_defined");return Vy.base64.encode(B?.pubkey)}async function z({recipient:B,assetValue:M,memo:H="",feeRate:G,feeOptionKey:R=C.FeeOption.Fast}){let I=await Q();if(!(Z&&I))throw new C.SwapKitError("toolbox_cosmos_signer_not_defined");let S=C.AssetValue.from({chain:T}),b=HT(S),d=G||WX((await E1(T,C1[T]))[R],b),c=await YT(x,Z),s=[{denom:Ey(`u${M.symbol}`).toLowerCase(),amount:M.getBaseValue("string")}],{transactionHash:r}=await c.sendTokens(I,B,s,d,H);return r}return{transfer:z,getAddress:Q,getAccount:J,getBalance:async(B,M)=>{let H=await v1(x)(B);return await Promise.all(H.filter(({denom:G})=>G&&!G.includes("IBC/")).map(({denom:G,amount:R})=>{let I=[C.Chain.THORChain,C.Chain.Maya].includes(T)&&(G.includes("/")||G.includes("˜"))?`${T}.${G}`:G;return F5(I,R)}))},getSignerFromPhrase:async({phrase:B,derivationPath:M})=>j5({phrase:B,prefix:y,derivationPath:C.derivationPathToString(M),index:X}),getSignerFromPrivateKey:async(B)=>{let M=await import("@cosmjs/proto-signing");return(M.DirectSecp256k1Wallet??M.default?.DirectSecp256k1Wallet).fromKey(B,y)},createPrivateKeyFromPhrase:YX(L),validateAddress:V1(y),getPubKey:q,getFees:()=>E1(T,C1[T]),fetchFeeRateFromSwapKit:n5,getBalanceAsDenoms:v1(x),createTransaction:$5,verifySignature:P1(J)}}async function l1(T,f){try{let y=(await h5.SwapKitApi.getGasRate()).find((X)=>X.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(x){return f}}function MX({address:T,chain:f,prefix:x}){let y=x||GX(f);if(!(y&&T))throw new C.SwapKitError("toolbox_cosmos_validate_address_prefix_not_found");return V1(y)(T)}function BX({assetValue:{chain:T}}){return C.AssetValue.from({chain:T,value:HX(T)})}function GX(T){let{isStagenet:f}=C.SKConfig.get("envs"),x=T?[C.Chain.THORChain,C.Chain.Maya].includes(T)&&f:!1,y=T?C.CosmosChainPrefixes[T]:void 0;return x?`s${y}`:y}async function E1(T,f){let x=await n5(C.ChainToChainId[T],f);return{average:C.SwapKitNumber.fromBigInt(BigInt(x),C.BaseDecimal[T]),fast:C.SwapKitNumber.fromBigInt(BigInt(C.applyFeeMultiplier(x,C.FeeOption.Fast,!0)),C.BaseDecimal[T]),fastest:C.SwapKitNumber.fromBigInt(BigInt(C.applyFeeMultiplier(x,C.FeeOption.Fastest,!0)),C.BaseDecimal[T])}}function WX(T,f){return{amount:[{denom:f,amount:T.getBaseValue("string")}],gas:"200000"}}function HX(T){return{[C.Chain.Cosmos]:0.007,[C.Chain.Kujira]:0.02,[C.Chain.Noble]:0.01,[C.Chain.THORChain]:0.02,[C.Chain.Maya]:0.02}[T]||0}function V1(T){return function f(x){if(!x.startsWith(T))return!1;try{let{prefix:y,words:X}=Vy.bech32.decode(x);return Vy.bech32.encode(y,X)===x.toLocaleLowerCase()}catch(y){return!1}}}function v1(T){return async function f(x){return(await(await Iy(T)).getAllBalances(x)).map((Z)=>({...Z,denom:Z.denom.includes("/")?Z.denom.toUpperCase():Z.denom}))}}function YX(T){return async function f(x){let y=await import("@cosmjs/crypto"),X=y.stringToPath??y.default?.stringToPath,L=y.Slip10Curve??y.default?.Slip10Curve,Z=y.Slip10??y.default?.Slip10,J=y.EnglishMnemonic??y.default?.EnglishMnemonic,Q=y.Bip39??y.default?.Bip39,q=new J(x),z=await Q.mnemonicToSeed(q),{privkey:B}=Z.derivePath(L.Secp256k1,z,X(T));return B}}var Vy,C,h5,RT,C1,zX;var dT=l(()=>{Vy=require("@scure/base"),C=require("@swapkit/helpers"),h5=require("@swapkit/helpers/api"),RT=require("ts-pattern");UT();C1={[C.Chain.Cosmos]:500,[C.Chain.Kujira]:1000,[C.Chain.Noble]:1000,[C.Chain.THORChain]:5000000,[C.Chain.Maya]:5000000};zX=l1});function UX({prefix:T,derivationPath:f}){return async function x(y,X=0){let L=await import("@cosmjs/amino"),Z=L.Secp256k1HdWallet??L.default?.Secp256k1HdWallet,J=await import("@cosmjs/crypto"),Q=J.stringToPath??J.default?.stringToPath;return Z.fromMnemonic(y,{hdPaths:[Q(`${f}/${X}`)],prefix:T})}}function _X(T){return $y.base64.encode(T)}function RX(T){return async function f({wallet:x,tx:y}){let{msgs:X,accountNumber:L,sequence:Z,chainId:J,fee:Q,memo:q}=typeof y==="string"?JSON.parse(y):y,z=(await x.getAccounts())?.[0]?.address||"",B=await vy(T),M=await ny(),H=await V5(x,{registry:M,aminoTypes:B}),G=[];for(let S of X){let b=await Py(S,T);G.push(b)}let{signatures:[R]}=await H.sign(z,G,Q,q,{accountNumber:L,sequence:Z,chainId:J}),I=await _T({chain:T,memo:q,msgs:X.map(ly)});return{signature:_X(R),bodyBytes:I}}}function NX({prefix:T,rpcUrl:f}){return async function x(y,X,L,Z,J){let{encodeSecp256k1Pubkey:Q,pubkeyToAddress:q}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:z}=(await import("@cosmjs/stargate")).default,{sequence:B,fee:M}=JSON.parse(y),H=await $1(L,Z),G=X.map((S)=>[q(Q($y.base64.decode(S.pubKey)),T),$y.base64.decode(S.signature)]),R=await Iy(f),{transactionHash:I}=await R.broadcastTx(z(H,B,M,J,new Map(G)));return I}}async function $1(T,f,x=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:X}=(await import("@cosmjs/amino")).default;return y(T.map((L)=>X($y.base64.decode(L))),f,x)}function DX(T){return $y.base64.decode(T)}async function IX({privateKey:T,message:f}){let{Secp256k1:x}=(await import("@cosmjs/crypto")).default,y=await x.createSignature($y.base64.decode(f),T);return $y.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function p5({chain:T,...f}){let x=p.SKConfig.get("nodeUrls")[T],y=p.SKConfig.get("rpcUrls")[T],{isStagenet:X}=p.SKConfig.get("envs"),L=T===p.Chain.THORChain,Z=`${X?"s":""}${p.CosmosChainPrefixes[T]}`,J="index"in f?f.index||0:0,Q="derivationPath"in f&&f.derivationPath?f.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[T],{index:J}),q=await NT({chain:T,...f}),z=await DT.match(f).with({phrase:DT.P.string},({phrase:G})=>q.getSignerFromPhrase({phrase:G,derivationPath:Q})).with({signer:DT.P.any},({signer:G})=>G).otherwise(()=>{return}),B=Dy(T);async function M(){let G,R=`${x}/${L?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:I}}=await p.RequestClient.get(R);if(!I||Number.isNaN(I)||I<0)throw new p.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:I.toString()});G=new p.SwapKitNumber(I)}catch{G=new p.SwapKitNumber({value:L?0.02:1,decimal:p.BaseDecimal[T]})}return{[p.FeeOption.Average]:G,[p.FeeOption.Fast]:G,[p.FeeOption.Fastest]:G}}async function H({assetValue:G,memo:R="",recipient:I}){let{TxRaw:S}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),b=(await z?.getAccounts())?.[0]?.address;if(!(b&&z))throw new p.SwapKitError("toolbox_cosmos_no_signer");let d="signAmino"in z,c=await ny(),s=await vy(T),r=await YT(y,z,{registry:c,aminoTypes:s}),Ly=tT({assetValue:G,sender:b,recipient:I,memo:R});if(d){let w=await Py(Ly,T),{signatures:V,authInfoBytes:v}=await r.sign(b,[w],B,R),A=S.encode({signatures:V,authInfoBytes:v,bodyBytes:await _T({chain:T,msgs:[Ly].map(ly),memo:R})}).finish();return(await r.broadcastTx(A)).transactionHash}let E=ly(Ly),U=await Py(E,T);return(await r.signAndBroadcast(b,[U],B,R)).transactionHash}return{...q,broadcastMultisigTx:NX({prefix:Z,rpcUrl:y}),buildAminoMsg:tT,buildEncodedTxBody:_T,convertToSignable:Py,createDefaultAminoTypes:()=>vy(T),createDefaultRegistry:ny,createMultisig:$1,createTransaction:u5(y),deposit:H,getFees:M,importSignature:DX,parseAminoMessageForDirectSigning:ly,secp256k1HdWalletFromMnemonic:UX({derivationPath:p.derivationPathToString(Q),prefix:Z}),signMultisigTx:RX(T),signWithPrivateKey:IX,transfer:H,pubkeyToAddress:async(G)=>{let{pubkeyToAddress:R}=(await import("@cosmjs/amino")).default;return R(G,Z)}}}var $y,p,DT;var o5=l(()=>{$y=require("@scure/base"),p=require("@swapkit/helpers"),DT=require("ts-pattern");b5();UT();dT()});var Fy,OX=(T,f)=>{switch(T){case Fy.Chain.Cosmos:case Fy.Chain.Kujira:case Fy.Chain.Noble:return NT({chain:T,...f});case Fy.Chain.Maya:case Fy.Chain.THORChain:return p5({chain:T,...f});default:throw new Fy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var F1=l(()=>{Fy=require("@swapkit/helpers");dT();o5();dT();o5()});var iT={};qy(iT,{verifySignature:()=>P1,transferMsgAmino:()=>A5,toBase64:()=>XX,parseAminoMessageForDirectSigning:()=>ly,getSignerFromPrivateKey:()=>qX,getSignerFromPhrase:()=>j5,getRPC:()=>Y1,getMsgSendDenom:()=>Ey,getFeeRateFromThorswap:()=>zX,getFeeRateFromSwapKit:()=>l1,getDenomWithChain:()=>HT,getDefaultChainFee:()=>Dy,getCreateTransaction:()=>u5,getCosmosToolbox:()=>OX,getAssetFromDenom:()=>F5,fromBase64:()=>LX,fetchFeeRateFromSwapKit:()=>n5,estimateTransactionFee:()=>BX,depositMsgAmino:()=>S5,createThorchainToolbox:()=>p5,createStargateClient:()=>Iy,createSigningStargateClient:()=>YT,createOfflineStargateClient:()=>V5,createDefaultRegistry:()=>ny,createDefaultAminoTypes:()=>vy,createCosmosToolbox:()=>NT,cosmosValidateAddress:()=>MX,cosmosCreateTransaction:()=>$5,convertToSignable:()=>Py,buildTransferTx:()=>D1,buildEncodedTxBody:()=>_T,buildDepositTx:()=>I1,buildAminoMsg:()=>tT,bech32ToBase64:()=>GT,base64ToBech32:()=>WT,YUM_KUJIRA_FACTORY_DENOM:()=>B1,USK_KUJIRA_FACTORY_DENOM:()=>l5,THORCHAIN_GAS_VALUE:()=>JX,MAYA_GAS_VALUE:()=>QX,DEFAULT_NOBLE_FEE_MAINNET:()=>H1,DEFAULT_KUJI_FEE_MAINNET:()=>W1,DEFAULT_COSMOS_FEE_MAINNET:()=>G1});module.exports=_y(iT);var rT=l(()=>{b5();F1();UT()});function A1(){function T(){let f=Date.now(),x=m5||f;return m5=x,f>m5?f:x+1}return kX+T().toString(36)}function sT(T){return async function f(x,y=!0){return(await K1.SwapKitApi.getChainBalance({chain:T,address:x,scamFilter:y})).map(({identifier:L,value:Z,decimal:J})=>{return new aT.AssetValue({decimal:J||aT.BaseDecimal[T],value:Z,identifier:L})})}}var aT,K1,kX,m5=0;var eT=l(()=>{aT=require("@swapkit/helpers"),K1=require("@swapkit/helpers/api"),kX=typeof process!=="undefined"&&process.pid?process.pid.toString(36):""});function IT(T){let f=y5.SKConfig.get("apis")[T];if(f)return y5.warnOnce(!0,"Using custom EVM API. Be sure to implement all methods to avoid issues."),f;return CX(T)}function wX(T){return T}function CX(T){return{getBalance:sT(T)}}var y5;var T5=l(()=>{y5=require("@swapkit/helpers");eT()});function ay({chain:T=W.Chain.Ethereum,provider:f,signer:x,isEIP1559Compatible:y=!0}){return{getAddress:()=>{return x?x.getAddress():void 0},estimateTransactionFee:r5({provider:f,isEIP1559Compatible:y,chain:T}),call:i5({provider:f,signer:x,isEIP1559Compatible:y,chain:T}),estimateCall:j1({provider:f,signer:x}),EIP1193SendTransaction:ey(f),approve:lX({provider:f,signer:x,isEIP1559Compatible:y,chain:T}),approvedAmount:b1({provider:f,chain:T}),broadcastTransaction:f.broadcastTransaction,createApprovalTx:KX({provider:f,signer:x,chain:T}),createContract:t5({provider:f,chain:T}),createContractTxObject:py({provider:f,chain:T}),createTransferTx:c5({provider:f,signer:x,chain:T}),createTransaction:c5({provider:f,signer:x,chain:T}),estimateGasLimit:$X({provider:f,signer:x,chain:T}),estimateGasPrices:Ky({chain:T,provider:f,isEIP1559Compatible:y}),isApproved:PX({provider:f,chain:T}),sendTransaction:h1({provider:f,signer:x,isEIP1559Compatible:y,chain:T}),signMessage:x?.signMessage,transfer:VX({provider:f,signer:x,isEIP1559Compatible:y,chain:T}),validateAddress:(X)=>g5({address:X})}}function g5({address:T}){try{return Zy.getAddress(T),!0}catch(f){return!1}}function sy(T){return T instanceof Zy.BrowserProvider}function wT(T,f,x){return new Zy.Contract(T,Zy.Interface.from(f),x)}function t5({provider:T}){return function f(x,y){return new Zy.Contract(x,Zy.Interface.from(y),T)}}function d5({abi:T,funcName:f}){let x=T.find((y)=>y.name===f);if(!x)throw new W.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:f});return x.stateMutability&&EX.includes(x.stateMutability)}function S1(T){return Zy.getAddress(T)}function ey(T){return function f({value:x,...y}){if(!sy(T))throw new W.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");return T.send("eth_sendTransaction",[{value:OT(BigInt(x||0)),...y}])}}function u1(T,f){let x=yT(T,f);if(x)return Zy.getAddress(x.toLowerCase());throw new W.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function yT({chain:T,symbol:f,ticker:x},y){try{let X=T===W.Chain.BinanceSmartChain&&f==="BNB"&&x==="BNB",L=T===y&&f===y&&x===y,Z=[W.Chain.Arbitrum,W.Chain.Aurora,W.Chain.Base,W.Chain.Optimism].includes(T)&&f==="ETH"&&x==="ETH";if(L||X||Z)return vX[y];return Zy.getAddress(f.slice(x.length+1).replace(/^0X/,""))}catch(X){return null}}function py({provider:T}){return async({contractAddress:f,abi:x,funcName:y,funcParams:X=[],txOverrides:L})=>wT(f,x,T).getFunction(y).populateTransaction(...X.concat(L).filter((Z)=>typeof Z!=="undefined"))}function Ky({chain:T,provider:f,isEIP1559Compatible:x=!0}){if(T===W.Chain.Arbitrum)return async function y(){try{let{gasPrice:X}=await f.getFeeData();if(!X)throw new W.SwapKitError("toolbox_evm_no_fee_data");return{[W.FeeOption.Average]:{gasPrice:X},[W.FeeOption.Fast]:{gasPrice:X},[W.FeeOption.Fastest]:{gasPrice:X}}}catch(X){throw new W.SwapKitError("toolbox_evm_gas_estimation_error",{error:X.msg??X.toString()})}};if(T===W.Chain.Optimism)return async function y(){try{let{maxFeePerGas:X,maxPriorityFeePerGas:L,gasPrice:Z}=await f.getFeeData(),J=ET(f)(),Q=Z;if(!(X&&L))throw new W.SwapKitError("toolbox_evm_no_fee_data");return{[W.FeeOption.Average]:{l1GasPrice:J,gasPrice:Q,maxFeePerGas:X,maxPriorityFeePerGas:L},[W.FeeOption.Fast]:{l1GasPrice:W.applyFeeMultiplierToBigInt(J||0n,W.FeeOption.Fast),gasPrice:W.applyFeeMultiplierToBigInt(Q,W.FeeOption.Fast),maxFeePerGas:X,maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(L,W.FeeOption.Fast)},[W.FeeOption.Fastest]:{l1GasPrice:W.applyFeeMultiplierToBigInt(J||0n,W.FeeOption.Fastest),gasPrice:W.applyFeeMultiplierToBigInt(Q,W.FeeOption.Fastest),maxFeePerGas:X,maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(L,W.FeeOption.Fastest)}}}catch(X){throw new W.SwapKitError("toolbox_evm_gas_estimation_error",{error:X.msg??X.toString()})}};return async function y(){try{let{maxFeePerGas:X,maxPriorityFeePerGas:L,gasPrice:Z}=await f.getFeeData();if(x){if(X===null||L===null)throw new W.SwapKitError("toolbox_evm_no_fee_data");return{[W.FeeOption.Average]:{maxFeePerGas:X,maxPriorityFeePerGas:L},[W.FeeOption.Fast]:{maxFeePerGas:W.applyFeeMultiplierToBigInt(X,W.FeeOption.Fast),maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(L,W.FeeOption.Fast)},[W.FeeOption.Fastest]:{maxFeePerGas:W.applyFeeMultiplierToBigInt(X,W.FeeOption.Fastest),maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(L,W.FeeOption.Fastest)}}}if(!Z)throw new W.SwapKitError("toolbox_evm_no_gas_price");return{[W.FeeOption.Average]:{gasPrice:Z},[W.FeeOption.Fast]:{gasPrice:W.applyFeeMultiplierToBigInt(Z,W.FeeOption.Fast)},[W.FeeOption.Fastest]:{gasPrice:W.applyFeeMultiplierToBigInt(Z,W.FeeOption.Fastest)}}}catch(X){throw new W.SwapKitError("toolbox_evm_gas_estimation_error",{error:X.msg??X.toString()})}}}function i5({provider:T,isEIP1559Compatible:f,signer:x,chain:y}){return async function X({callProvider:L,contractAddress:Z,abi:J,funcName:Q,funcParams:q=[],txOverrides:z={},feeOption:B=W.FeeOption.Fast}){let M=L||T;if(!Z)throw new W.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let H=d5({abi:J,funcName:Q});if(H&&sy(M)&&x){let I=py({provider:M,chain:y}),S=z?.from||await x?.getAddress(),b=await I({contractAddress:Z,abi:J,funcName:Q,funcParams:q,txOverrides:{...z,from:S}});return ey(M)(b)}let G=wT(Z,J,M);if(H){if(!x)throw new W.SwapKitError("toolbox_evm_no_signer");let I=z?.from||await x.getAddress();if(!I)throw new W.SwapKitError("toolbox_evm_no_signer_address");let S=G.connect(x),b=Ky({provider:T,isEIP1559Compatible:f,chain:y}),{maxFeePerGas:d,maxPriorityFeePerGas:c,gasPrice:s}=(await b())[B],r=await G.getFunction(Q).estimateGas(...q,z),Ly=await S[Q](...q,{...z,gasLimit:r,maxFeePerGas:d,maxPriorityFeePerGas:c,gasPrice:s,nonce:z?.nonce||await M.getTransactionCount(I)});return typeof Ly?.hash==="string"?Ly?.hash:Ly}let R=await G[Q]?.(...q);return typeof R?.hash==="string"?R?.hash:R}}function b1({provider:T,chain:f}){return function x({assetAddress:y,spenderAddress:X,from:L}){return i5({provider:T,isEIP1559Compatible:!0,chain:f})({contractAddress:y,abi:ry.erc20ABI,funcName:"allowance",funcParams:[L,X]})}}function PX({provider:T,chain:f}){return async function x({assetAddress:y,spenderAddress:X,from:L,amount:Z=kT}){let J=await b1({provider:T,chain:f})({assetAddress:y,spenderAddress:X,from:L});return W.SwapKitNumber.fromBigInt(J).gte(W.SwapKitNumber.fromBigInt(BigInt(Z)))}}function lX({signer:T,isEIP1559Compatible:f=!0,provider:x,chain:y}){return async function X({assetAddress:L,spenderAddress:Z,feeOptionKey:J=W.FeeOption.Fast,amount:Q,gasLimitFallback:q,from:z,nonce:B}){let M=[Z,BigInt(Q||kT)],H=await T?.getAddress()||z,G={contractAddress:L,abi:ry.erc20ABI,funcName:"approve",funcParams:M,signer:T,txOverrides:{from:H}};if(sy(x)){let I=py({provider:x,chain:y}),S=ey(x),b=await I(G);return S(b)}return i5({provider:x,isEIP1559Compatible:f,signer:T,chain:y})({...G,funcParams:M,txOverrides:{from:H,nonce:B,gasLimit:q?BigInt(q.toString()):void 0},feeOption:J})}}function VX({signer:T,isEIP1559Compatible:f=!0,provider:x}){return async function y({assetValue:X,memo:L,recipient:Z,feeOptionKey:J=W.FeeOption.Fast,sender:Q,...q}){let{hexlify:z,toUtf8Bytes:B}=await import("ethers"),M=X.getBaseValue("bigint"),H=X.chain,G=Q||await T?.getAddress(),R=h1({provider:x,signer:T,isEIP1559Compatible:f,chain:H});if(!G)throw new W.SwapKitError("toolbox_evm_no_from_address");if(X.isGasAsset){let s={...q,from:G,to:Z,value:M,data:z(B(L||"")),feeOptionKey:J};return R(s)}if(!yT(X,H))throw new W.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:S,maxPriorityFeePerGas:b,gasPrice:d}=(await Ky({provider:x,isEIP1559Compatible:f,chain:H})())[J],c=await c5({provider:x,signer:T,chain:H})({assetValue:X,memo:L,recipient:Z,data:z(B(L||"")),sender:G,maxFeePerGas:S,maxPriorityFeePerGas:b,gasPrice:d});return R(c)}}function j1({provider:T,signer:f}){return function x({contractAddress:y,abi:X,funcName:L,funcParams:Z=[],txOverrides:J}){if(!y)throw new W.SwapKitError("toolbox_evm_no_contract_address");let Q=wT(y,X,T);return f?Q.connect(f).getFunction(L).estimateGas(...Z,J):Q.getFunction(L).estimateGas(...Z,J)}}function $X({provider:T,signer:f}){return async function x({assetValue:y,recipient:X,memo:L,data:Z,sender:J,funcName:Q,funcParams:q,txOverrides:z}){let B=y.bigIntValue,M=y.isGasAsset?null:yT(y,y.chain);if(M&&Q)return j1({provider:T,signer:f})({contractAddress:M,abi:ry.erc20ABI,funcName:Q,funcParams:q,txOverrides:z});let{hexlify:H,toUtf8Bytes:G}=await import("ethers");return T.estimateGas({from:J,to:X,value:B,data:Z?Z:L?H(G(L)):void 0})}}function h1({provider:T,signer:f,isEIP1559Compatible:x=!0,chain:y}){return async function X({feeOptionKey:L=W.FeeOption.Fast,...Z}){let{from:J,to:Q,data:q,value:z,...B}=Z;if(!f)throw new W.SwapKitError("toolbox_evm_no_signer");if(!Q)throw new W.SwapKitError("toolbox_evm_no_to_address");let M={...B,data:q||"0x",to:Q,from:J,value:BigInt(z||0)};if(sy(T))return ey(T)(M);let H=J||await f.getAddress(),G=Z.nonce||await T.getTransactionCount(H),R=(await T.getNetwork()).chainId,I=FX(M)||x,S=Ky({provider:T,isEIP1559Compatible:x,chain:y}),b=I&&!(M.maxFeePerGas&&M.maxPriorityFeePerGas)||!M.gasPrice?Object.entries((await S())[L]).reduce((c,[s,r])=>({...c,[s]:OT(BigInt(r))}),{}):{},d;try{d=OT(M.gasLimit||await T.estimateGas(M)*11n/10n)}catch(c){throw new W.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:c})}try{let c={...M,chainId:R,type:I?2:0,gasLimit:d,nonce:G,...b};try{return(await f.sendTransaction(c)).hash}catch(s){let r=await f.signTransaction({...c,from:H});return(await T.broadcastTransaction(r)).hash}}catch(c){throw new W.SwapKitError("toolbox_evm_error_sending_transaction",{error:c})}}}function c5({provider:T,signer:f}){return async function x({assetValue:y,memo:X,recipient:L,data:Z,sender:J,maxFeePerGas:Q,maxPriorityFeePerGas:q,gasPrice:z,...B}){let M=y.getBaseValue("bigint"),H=y.chain,G=J||await f?.getAddress();if(!G)throw new W.SwapKitError("toolbox_evm_no_from_address");if(W.isGasAsset(y)){let{hexlify:S,toUtf8Bytes:b}=await import("ethers");return{...B,from:G,to:L,value:M,data:Z||S(b(X||""))}}let R=yT(y,H);if(!R)throw new W.SwapKitError("toolbox_evm_no_contract_address");return py({provider:T,chain:y.chain})({contractAddress:R,abi:ry.erc20ABI,funcName:"transfer",funcParams:[L,M],txOverrides:{from:G,maxFeePerGas:Q,maxPriorityFeePerGas:q,gasPrice:z}})}}function KX({provider:T,signer:f,chain:x}){return async function y({assetAddress:X,spenderAddress:L,amount:Z,from:J}){let Q=await f?.getAddress()||J,q=py({provider:T,chain:x}),z=["bigint","number"].includes(typeof Z)?Z:Z||kT;return await q({contractAddress:X,abi:ry.erc20ABI,funcName:"approve",funcParams:[L,BigInt(z)],txOverrides:{from:Q}})}}var W,ry,Zy,kT,EX,vX,FX=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var CT=l(()=>{W=require("@swapkit/helpers"),ry=require("@swapkit/helpers/contracts"),Zy=require("ethers");a5();kT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");EX=["payable","nonpayable"];vX={[W.Chain.Arbitrum]:W.ContractAddress.ARB,[W.Chain.Aurora]:W.ContractAddress.AURORA,[W.Chain.Avalanche]:W.ContractAddress.AVAX,[W.Chain.Base]:W.ContractAddress.BASE,[W.Chain.Berachain]:W.ContractAddress.BERA,[W.Chain.BinanceSmartChain]:W.ContractAddress.BSC,[W.Chain.Ethereum]:W.ContractAddress.ETH,[W.Chain.Gnosis]:W.ContractAddress.GNO,[W.Chain.Optimism]:W.ContractAddress.OP,[W.Chain.Polygon]:W.ContractAddress.MATIC}});var n1;var p1=l(()=>{n1=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});async function f5({provider:T,...f}){let x=await Oy(Xy.Chain.Ethereum)({provider:T,...f});async function y(X,L="0x5ba1e12693dc8f9c48aad8770482f4739beed696",Z="aggregate",J=Xy.FeeOption.Fast){let Q=await x.createContractTxObject({contractAddress:L,abi:n1,funcName:Z,funcParams:[X]});return x.sendTransaction({...Q,feeOptionKey:J})}return{...x,multicall:y}}function Oy(T){return async function f({provider:x,...y}){let X=Xy.SKConfig.get("rpcUrls")[T],L=x||await oy(T,X),Z=y0(T),J=vT.match(y).with({phrase:vT.P.string},({phrase:q})=>o1.HDNodeWallet.fromPhrase(q).connect(L)).with({signer:vT.P.any},({signer:q})=>q).otherwise(()=>{return});return{...ay({provider:L,signer:J,isEIP1559Compatible:Z,chain:T}),getNetworkParams:e5(T),getBalance:IT(T).getBalance}}}var Xy,o1,vT,X5,L5,x5,Z5,J5,Q5,q5,z5;var s5=l(()=>{Xy=require("@swapkit/helpers"),o1=require("ethers"),vT=require("ts-pattern");T5();p1();PT();CT();X5=Oy(Xy.Chain.Arbitrum),L5=Oy(Xy.Chain.Aurora),x5=Oy(Xy.Chain.Avalanche),Z5=Oy(Xy.Chain.Base),J5=Oy(Xy.Chain.Berachain),Q5=Oy(Xy.Chain.BinanceSmartChain),q5=Oy(Xy.Chain.Gnosis),z5=Oy(Xy.Chain.Polygon)});var m1;var c1=l(()=>{m1=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function f0(T){return new M5.Contract(AX,m1,T)}function ET(T){return function f(){let x=f0(T);if(x&&"l1BaseFee"in x)return x?.l1BaseFee();return}}function t1(T){return async function f({from:x,to:y,nonce:X,...L}){let{Transaction:Z}=await import("ethers");if(!y)throw new e.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return Z.from({...L,authorizationList:L.authorizationList,to:y,nonce:X?X:x?await T.getTransactionCount(x):0}).serialized}}function d1(T){return async function f(x){let y=f0(T),X=await t1(T)(x);if(y&&"getL1Fee"in y)return y.getL1Fee(X)}}function i1(T){return async function f(x){let y=await T.send("eth_gasPrice",[]),X=await T.estimateGas(x);return y.mul(X)}}function SX(T){return async function f(x){let y=await d1(T)(x),X=await i1(T)(x);return y.add(X)}}function X0(T){return async function f(x){let y=f0(T),X=await t1(T)(x);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(X)}}async function B5({provider:T,...f}){let x=e.Chain.Optimism,y=e.SKConfig.get("rpcUrls")[x],X=T||await oy(x,y),L=g1.match(f).with({phrase:T0.P.string},({phrase:Q})=>M5.HDNodeWallet.fromPhrase(Q).connect(X)).with({signer:T0.P.any},({signer:Q})=>Q).otherwise(()=>{return}),Z=ay({provider:X,signer:L}),J=ET(X);return{...Z,estimateL1Gas:X0(X),estimateL1GasCost:d1(X),estimateL2GasCost:i1(X),estimateTotalGasCost:SX(X),getBalance:IT(e.Chain.Optimism).getBalance,getL1GasPrice:J,getNetworkParams:uX}}var e,M5,T0,g1,AX="0x420000000000000000000000000000000000000f",uX=()=>({chainId:e.ChainId.OptimismHex,chainName:"Optimism",nativeCurrency:{name:"Ethereum",symbol:e.Chain.Ethereum,decimals:e.BaseDecimal.ETH},rpcUrls:[e.SKConfig.get("rpcUrls")[e.Chain.Optimism]],blockExplorerUrls:[e.ChainToExplorerUrl[e.Chain.Optimism]]});var L0=l(()=>{e=require("@swapkit/helpers"),M5=require("ethers"),T0=require("ts-pattern"),g1=require("ts-pattern");T5();c1();PT();CT()});var x0={};qy(x0,{toChecksumAddress:()=>S1,isStateChangingCall:()=>d5,isBrowserProvider:()=>sy,getTokenAddress:()=>yT,getL1GasPriceFetcher:()=>ET,getEvmToolbox:()=>r1,getEstimateGasPrices:()=>Ky,getEIP1193SendTransaction:()=>ey,getCreateContractTxObject:()=>py,getCreateContract:()=>t5,getChecksumAddressFromAsset:()=>u1,evmValidateAddress:()=>g5,estimateL1Gas:()=>X0,createContract:()=>wT,OPToolbox:()=>B5,MAX_APPROVAL:()=>kT,MATICToolbox:()=>z5,GNOToolbox:()=>q5,ETHToolbox:()=>f5,BaseEVMToolbox:()=>ay,BSCToolbox:()=>Q5,BERAToolbox:()=>J5,BASEToolbox:()=>Z5,AVAXToolbox:()=>x5,AURORAToolbox:()=>L5,ARBToolbox:()=>X5});async function r1(T,f){let x={...f,provider:f?.provider||await oy(T)};switch(T){case Jy.Chain.Arbitrum:return X5(x);case Jy.Chain.Aurora:return L5(x);case Jy.Chain.Avalanche:return x5(x);case Jy.Chain.Base:return Z5(x);case Jy.Chain.Berachain:return J5(x);case Jy.Chain.BinanceSmartChain:return Q5(x);case Jy.Chain.Gnosis:return q5(x);case Jy.Chain.Optimism:return B5(x);case Jy.Chain.Polygon:return z5(x);case Jy.Chain.Ethereum:return f5(x);default:throw new Jy.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var Jy;var G5=l(()=>{Jy=require("@swapkit/helpers");PT();s5();L0();CT();s5();L0()});async function oy(T,f){let{JsonRpcProvider:x}=await import("ethers");return new x(f||K.SKConfig.get("rpcUrls")[T])}function OT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function r5({provider:T,isEIP1559Compatible:f=!0}){return async function x({feeOption:y=K.FeeOption.Fast,chain:X,...L}){let J=await Ky({provider:T,isEIP1559Compatible:f,chain:X})(),Q=await T.estimateGas(L),q=K.AssetValue.from({chain:X}),{gasPrice:z,maxFeePerGas:B,maxPriorityFeePerGas:M}=J[y];if(!f&&z)return q.set(K.SwapKitNumber.fromBigInt(z*Q,q.decimal));if(B&&M){let H=(B+M)*Q;return q.set(K.SwapKitNumber.fromBigInt(H,q.decimal))}throw new K.SwapKitError("toolbox_evm_no_gas_price")}}function e5(T){return()=>K.Chain.Ethereum===T?void 0:{...jX({chain:T}),chainId:K.ChainToHexChainId[T],rpcUrls:[K.SKConfig.get("rpcUrls")[T]],blockExplorerUrls:[K.ChainToExplorerUrl[T]]}}function y0(T){return![K.Chain.Arbitrum,K.Chain.BinanceSmartChain].includes(T)}function jX({chain:T}){let f=K.BaseDecimal[T];switch(T){case K.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{name:"Ethereum",symbol:K.Chain.Ethereum,decimals:f}};case K.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{name:"Ethereum",symbol:K.Chain.Ethereum,decimals:f}};case K.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{name:"Avalanche",symbol:T,decimals:f}};case K.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{name:"Ethereum",symbol:K.Chain.Ethereum,decimals:f}};case K.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{name:"Berachain",symbol:"BERA",decimals:f}};case K.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{name:"Binance Coin",symbol:"BNB",decimals:f}};case K.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{name:"xDAI",symbol:"XDAI",decimals:f}};case K.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{name:"Ethereum",symbol:K.Chain.Ethereum,decimals:f}};case K.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{name:"Polygon",symbol:K.Chain.Polygon,decimals:f}};default:throw new K.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var K,bX=async({from:T,memo:f="",feeOptionKey:x=K.FeeOption.Fastest,assetValue:y,abi:X,funcName:L,funcParams:Z,contractAddress:J,txOverrides:Q})=>{let{getEvmToolbox:q}=await Promise.resolve().then(() => (G5(),x0)),z=await q(y.chain),M=(await z.getBalance(T)).find(({symbol:c,chain:s})=>y?c===y.symbol:c===K.AssetValue.from({chain:s})?.symbol),H=(await z.estimateGasPrices())[x];if(!M)return K.AssetValue.from({chain:y.chain});if(y&&(M.chain!==y.chain||M.symbol!==y?.symbol))return M;let G=X&&L&&Z&&J?await z.estimateCall({contractAddress:J,abi:X,funcName:L,funcParams:Z,txOverrides:Q}):await z.estimateGasLimit({sender:T,recipient:T,memo:f,assetValue:y}),R="maxFeePerGas"in H,I="gasPrice"in H&&H.gasPrice!==void 0;if(!(H&&(I||R)))throw new K.SwapKitError("toolbox_evm_no_fee_data");let S=R?(H.maxFeePerGas||1n)+(H.maxPriorityFeePerGas||1n):H.gasPrice||1n,b=G*S,d=K.SwapKitNumber.fromBigInt(M.getBaseValue("bigint")).sub(b.toString());return K.AssetValue.from({chain:M.chain,value:d.getValue("string")})};var PT=l(()=>{K=require("@swapkit/helpers");CT()});var a1;var s1=l(()=>{((x)=>{x.Test="goerli";x.Main="homestead"})(a1||={})});var e1={};qy(e1,{toHexString:()=>OT,toChecksumAddress:()=>S1,isStateChangingCall:()=>d5,isBrowserProvider:()=>sy,getTokenAddress:()=>yT,getProvider:()=>oy,getNetworkParams:()=>e5,getL1GasPriceFetcher:()=>ET,getIsEIP1559Compatible:()=>y0,getEvmToolbox:()=>r1,getEvmApi:()=>IT,getEstimateTransactionFee:()=>r5,getEstimateGasPrices:()=>Ky,getEIP1193SendTransaction:()=>ey,getCreateContractTxObject:()=>py,getCreateContract:()=>t5,getChecksumAddressFromAsset:()=>u1,evmValidateAddress:()=>g5,estimateMaxSendableAmount:()=>bX,estimateL1Gas:()=>X0,createCustomEvmApi:()=>wX,createContract:()=>wT,OPToolbox:()=>B5,MAX_APPROVAL:()=>kT,MATICToolbox:()=>z5,GNOToolbox:()=>q5,EthNetwork:()=>a1,ETHToolbox:()=>f5,BaseEVMToolbox:()=>ay,BSCToolbox:()=>Q5,BERAToolbox:()=>J5,BASEToolbox:()=>Z5,AVAXToolbox:()=>x5,AURORAToolbox:()=>L5,ARBToolbox:()=>X5});module.exports=_y(e1);var a5=l(()=>{T5();PT();s1();G5()});async function hX(T,f,x){try{let y=await T.query.system?.account?.(x);if(!y)return[f.set(0)];let{data:{free:X}}=y,L=my.SwapKitNumber.fromBigInt(BigInt(X.toString()),f.decimal).getValue("string");return[f.set(L)]}catch(y){return console.error("Error fetching substrate balance:",y),[f.set(0)]}}async function nX(T,f,x){try{let y=await T.query.flip?.account?.(x);if(!y)return[f.set(0)];let X=y.balance||y.data?.balance;if(!X||X.isEmpty)return[f.set(0)];let L=my.SwapKitNumber.fromBigInt(BigInt(X.toString()),f.decimal).getValue("string");return[f.set(L)]}catch(y){return console.error("Error fetching chainflip balance:",y),[f.set(0)]}}function yf(T,f){return function x(y){let X=my.AssetValue.from({chain:T});switch(T){case my.Chain.Chainflip:return nX(f,X,y);default:return hX(f,X,y)}}}var my;var Tf=l(()=>{my=require("@swapkit/helpers")});var pX,oX,mX,Ay;var Z0=l(()=>{pX={prefix:0,network:"polkadot",displayName:"Polkadot Relay Chain",symbols:["DOT"],decimals:[10],standardAccount:"*25519",website:"https://polkadot.network"},oX={prefix:2112,network:"chainflip",displayName:"Chainflip",symbols:["FLIP"],decimals:[18],standardAccount:"*25519",website:"https://chainflip.io/"},mX={prefix:42,network:"substrate",displayName:"Substrate",symbols:[],decimals:[],standardAccount:"*25519",website:"https://substrate.io/"},Ay={DOT:pX,FLIP:oX,GENERIC:mX}});function cX(T,f){switch(T){case t.Chain.Chainflip:return Xf(f);case t.Chain.Polkadot:return ff(f);default:throw new t.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function TT(T){return"address"in T}async function Q0(T,f){let{Keyring:x}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new x({type:"sr25519",ss58Format:f}).addFromUri(T)}function sX(T,f){let x=XT.decodeAddress(T);return XT.encodeAddress(x,f)}function Lf(T,f){return fT.isHex(T)?fT.hexToU8a(T):XT.decodeAddress(T,void 0,f)}function xf(T,f="ss58",x){if(f==="hex")return fT.u8aToHex(T);return XT.encodeAddress(T,x)}async function M0({generic:T,chain:f,...x}){let{ApiPromise:y,WsProvider:X}=await import("@polkadot/api"),L=new X(t.SKConfig.get("rpcUrls")[f]),Z=await y.create({provider:L}),J=t.AssetValue.from({chain:f}),Q=T?Ay.GENERIC:Ay[f],q=await lT.match(x).with({phrase:lT.P.string},({phrase:z})=>Q0(z,Ay[f].prefix)).with({signer:lT.P.any},({signer:z})=>z).otherwise(()=>{return});return Zf({api:Z,signer:q,gasAsset:J,network:Q,chain:f})}var fT,XT,t,lT,ff=({generic:T=!1,...f}={})=>{return M0({chain:t.Chain.Polkadot,generic:T,...f})},Xf=async({generic:T=!1,...f}={})=>{return{...await M0({chain:t.Chain.Chainflip,generic:T,...f})}},q0=(T,f)=>T.rpc.system.accountNextIndex(f),J0=(T,f)=>{try{let x=Lf(T,f);return xf(x,"ss58",f),!0}catch(x){return!1}},z0=(T,{recipient:f,assetValue:x})=>T.tx.balances?.transferAllowDeath?.(f,x.getBaseValue("number")),gX=async(T,f,{recipient:x,assetValue:y,sender:X})=>{let L=z0(T,{recipient:x,assetValue:y}),Z=TT(f);if(!L)return;let J=Z?f.address:X;if(!J)throw new t.SwapKitError("core_transaction_invalid_sender_address");let Q=await q0(T,J);return(await L.signAndSend(Z?f:J,{signer:Z?void 0:f,nonce:Q}))?.toString()},tX=async(T,f,x,{recipient:y,assetValue:X,sender:L})=>{let Z=z0(T,{recipient:y,assetValue:X}),J=TT(f)?f.address:L;if(!J)return;let Q=await Z?.paymentInfo(J,{nonce:await q0(T,J)})||{partialFee:0};return x.set(t.SwapKitNumber.fromBigInt(BigInt(Q.partialFee.toString()),x.decimal).getValue("string"))},dX=async(T,f)=>{if(f)return T.send(f);return(await T.send()).toString()},iX=async(T,f)=>{return await f.signAsync(T)},rX=(T,f,x)=>{if(x)return f.signAndSend(T,x);return f.signAndSend(T).toString()},aX=async({signer:T,address:f,tx:x,callback:y,api:X})=>{let L=await q0(X,f);if(y)x.signAndSend(f,{nonce:L,signer:T},y);return x.signAndSend(f,{nonce:L,signer:T}).toString()},Zf=({api:T,network:f,gasAsset:x,signer:y,chain:X})=>({api:T,network:f,gasAsset:x,decodeAddress:Lf,encodeAddress:xf,convertAddress:sX,getBalance:yf(X||t.Chain.Polkadot,T),createKeyring:(L)=>Q0(L,f.prefix),getAddress:(L)=>{let Z=L||y;if(!Z)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return TT(Z)?Z.address:void 0},createTransaction:(L)=>z0(T,L),validateAddress:(L)=>J0(L,f.prefix),transfer:(L)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return gX(T,y,L)},estimateTransactionFee:(L)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return tX(T,y,x,L)},sign:(L)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");if(TT(y))return iX(y,L);throw new t.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},broadcast:dX,signAndBroadcast:({tx:L,callback:Z,address:J})=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");if(TT(y))return rX(y,L,Z);if(J)return aX({signer:y,address:J,tx:L,callback:Z,api:T});throw new t.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")}}),eX=({address:T,chain:f})=>{let{prefix:x}=f===t.Chain.Polkadot?Ay.DOT:Ay.FLIP;return J0(T,x)||J0(T,Ay.GENERIC.prefix)};var Jf=l(()=>{fT=require("@polkadot/util"),XT=require("@polkadot/util-crypto"),t=require("@swapkit/helpers"),lT=require("ts-pattern");Tf();Z0()});var B0={};qy(B0,{substrateValidateAddress:()=>eX,isKeyringPair:()=>TT,getSubstrateToolbox:()=>cX,createSubstrateToolbox:()=>M0,createKeyring:()=>Q0,SubstrateNetwork:()=>Ay,PolkadotToolbox:()=>ff,ChainflipToolbox:()=>Xf,BaseSubstrateToolbox:()=>Zf});module.exports=_y(B0);var G0=l(()=>{Jf();Z0()});async function y2({chain:T,txHash:f}){let x=j.SKConfig.get("rpcUrls")[T],y=JSON.stringify({jsonrpc:"2.0",method:"sendrawtransaction",params:[f],id:A1()}),X=await j.RequestClient.post(x,{headers:{"Content-Type":"application/json"},body:y});if(X.error)throw new j.SwapKitError("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new j.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}function W0(T){return`https://api.blockchair.com/${T2(T)}`}function Qf(T){switch(T){case j.Chain.Bitcoin:return 5;case j.Chain.Dogecoin:return 1e4;case j.Chain.Litecoin:return 1;case j.Chain.Zcash:return 1;default:return 2}}function T2(T){switch(T){case j.Chain.BitcoinCash:return"bitcoin-cash";case j.Chain.Litecoin:return"litecoin";case j.Chain.Dash:return"dash";case j.Chain.Dogecoin:return"dogecoin";case j.Chain.Zcash:return"zcash";case j.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function f2(T){try{let{feePerKb:f}=await j.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),x=f/1000;return Math.max(x,Qf(T))}catch(f){return Qf(T)}}async function H0(T,f){let x=await j.RequestClient.get(`${T}${f?`${T.includes("?")?"&":"?"}key=${f}`:""}`);if(!x||x.context.code!==200)throw new j.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return x.data}async function Mf({address:T,chain:f,apiKey:x}){if(!T)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await H0(`${W0(f)}/dashboards/address/${T}?transaction_details=true`,x))[T]}catch(y){return{utxo:[],address:{balance:0,transaction_count:0}}}}async function X2({address:T,chain:f,apiKey:x}){return(await Mf({address:T,chain:f,apiKey:x}))?.address.balance||0}async function Bf({chain:T,apiKey:f,txHash:x}){if(!x)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await H0(`${W0(T)}/raw/transaction/${x}`,f))?.[x]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function L2({chain:T,address:f,apiKey:x,offset:y=0,limit:X=30}){return(await H0(`${W0(T)}/outputs?q=recipient(${f}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${X}&offset=${y}`,x)).map(({is_spent:Q,script_hex:q,block_id:z,transaction_hash:B,index:M,value:H,spending_signature_hex:G})=>({hash:B,index:M,value:H,txHex:G,script_hex:q,is_confirmed:z!==-1,is_spent:Q}))}function x2(T){return T.reduce((f,x)=>f+x.value,0)}function qf(T,f){let x=[...T].sort((y,X)=>X.value-y.value);if(f){let y=[],X=0;for(let L of x)if(y.push(L),X+=L.value,X>=f)break;return y}return x}async function Gf({chain:T,address:f,apiKey:x,targetValue:y,accumulativeValue:X=0,offset:L=0,limit:Z=30}){if(!f)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let J=await L2({targetValue:y,chain:T,address:f,apiKey:x,offset:L,limit:Z}),q=J.length<Z,z=J.filter(({is_spent:I})=>!I),B=x2(z),M=X+B,H=y&&M>=y;if(q||H)return qf(z,y);let G=await Gf({chain:T,address:f,apiKey:x,offset:L+Z,limit:Z,accumulativeValue:M,targetValue:y}),R=[...z,...G];return qf(R,y)}catch(J){return console.error("Failed to fetch unspent UTXOs:",J),[]}}async function Z2({address:T,chain:f,apiKey:x,fetchTxHex:y=!0,targetValue:X}){let L=await Gf({chain:f,address:T,apiKey:x,targetValue:X}),Z=[];for(let{hash:J,index:Q,script_hex:q,value:z}of L){let B;if(y)B=await Bf({txHash:J,chain:f,apiKey:x});Z.push({address:T,hash:J,index:Q,txHex:B,value:z,witnessUtxo:{value:z,script:Buffer.from(q,"hex")}})}return Z}function J2(T){let f=j.SKConfig.get("apiKeys").blockchair||"";return j.warnOnce(!f,"No Blockchair API key found. Functionality will be limited."),{broadcastTx:(x)=>y2({txHash:x,chain:T}),getRawTx:(x)=>Bf({txHash:x,chain:T,apiKey:f}),getSuggestedTxFee:()=>f2(T),getBalance:(x)=>X2({address:x,chain:T,apiKey:f}),getAddressData:(x)=>Mf({address:x,chain:T,apiKey:f}),getUtxos:(x)=>Z2({...x,chain:T,apiKey:f})}}function Q2(T){return T}function Yy(T){let f=j.SKConfig.get("apis")[T];if(f)return j.warnOnce(!0,"Using custom UTXO API. Be sure to implement all methods to avoid issues."),f;return J2(T)}function By(){return function T(f){switch(f){case j.Chain.Bitcoin:return zf.networks.bitcoin;case j.Chain.BitcoinCash:return LT.default.bitcoincash.main.toBitcoinJS();case j.Chain.Dash:return LT.default.dash.main.toBitcoinJS();case j.Chain.Litecoin:return LT.default.litecoin.main.toBitcoinJS();case j.Chain.Dogecoin:{let x={private:70615956,public:70617039},y=LT.default.dogecoin.test;return y.versions.bip32=x,LT.default.dogecoin.main.toBitcoinJS()}case j.Chain.Zcash:{let{isStagenet:x}=j.SKConfig.get("envs");return x?z2:q2}default:throw new j.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}}var j,zf,LT,q2,z2;var Wf=l(()=>{j=require("@swapkit/helpers"),zf=require("bitcoinjs-lib");eT();LT=Y(require("coininfo"));q2={messagePrefix:`\x19Zcash Signed Message:
|
|
1
|
+
var yX=Object.create;var{getPrototypeOf:TX,defineProperty:BT,getOwnPropertyNames:q1,getOwnPropertyDescriptor:fX}=Object,z1=Object.prototype.hasOwnProperty;var U=(T,f,L)=>{L=T!=null?yX(TX(T)):{};let y=f||!T||!T.__esModule?BT(L,"default",{value:T,enumerable:!0}):L;for(let X of q1(T))if(!z1.call(y,X))BT(y,X,{get:()=>T[X],enumerable:!0});return y},Q1=new WeakMap,_y=(T)=>{var f=Q1.get(T),L;if(f)return f;if(f=BT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")q1(T).map((y)=>!z1.call(f,y)&&BT(f,y,{get:()=>T[y],enumerable:!(L=fX(T,y))||L.enumerable}));return Q1.set(T,f),f};var qy=(T,f)=>{for(var L in f)BT(T,L,{get:f[L],enumerable:!0,configurable:!0,set:(y)=>f[L]=()=>y})};var l=(T,f)=>()=>(T&&(f=T(T=0)),f);function GT(T){return Cy.base64.encode(Uint8Array.from(Cy.bech32.fromWords(Cy.bech32.decode(T).words)))}function WT(T,f="thor"){return Cy.bech32.encode(f,Cy.bech32.toWords(Cy.base64.decode(T)))}function XX(T){return gT.fromByteArray(T)}function xX(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new M1.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return gT.toByteArray(T)}var Cy,M1,gT;var P5=l(()=>{Cy=require("@scure/base"),M1=require("@swapkit/helpers"),gT=require("base64-js")});function Dy(T){switch(T){case O.Chain.Maya:return{amount:[],gas:"10000000000"};case O.Chain.THORChain:return{amount:[],gas:"500000000"};case O.Chain.Kujira:return W1;case O.Chain.Noble:return H1;default:return G1}}async function Iy(T){let f=await import("@cosmjs/stargate"),L=f.StargateClient??f.default?.StargateClient,y=typeof window!=="undefined"?{}:{referrer:"https://sdk.swapkit.dev",referer:"https://sdk.swapkit.dev"};return L.connect({url:T,headers:y})}async function UT(T,f,L={}){let y=await import("@cosmjs/stargate"),X=y.SigningStargateClient??y.default?.SigningStargateClient,x=y.GasPrice??y.default?.GasPrice,Z=typeof L==="string"?L:"0.0003uatom",J=typeof L==="string"?{}:L;return X.connectWithSigner(T,f,{gasPrice:x.fromString(Z),...J})}async function V5(T,f){let L=await import("@cosmjs/stargate");return(L.SigningStargateClient??L.default?.SigningStargateClient).offline(T,f)}var O,l5="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",B1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",G1,W1,H1,Ey=(T,f=!1)=>{if(f)return T.toLowerCase();switch(T){case"uUSK":case"USK":return l5;case"uYUM":case"YUM":return B1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},HT=({symbol:T,chain:f})=>{if(f===O.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${O.Chain.Maya}.${T}`).toUpperCase();if(f===O.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${O.Chain.THORChain}.${T}`:T).toUpperCase();return Ey(T,!1)},U1=(T)=>{let{isStagenet:f}=O.SKConfig.get("envs"),L=O.SKConfig.get("rpcUrls");switch(T){case O.ChainId.Kujira:return L.KUJI;case O.ChainId.Noble:return L.NOBLE;case O.ChainId.THORChain:case"thorchain-mainnet-v1":return f?L.THOR_STAGENET:L.THOR;case O.ChainId.Maya:return f?L.MAYA_STAGENET:L.MAYA;default:return L.GAIA}},LX=(T)=>{switch(T){case O.Chain.Maya:case O.Chain.THORChain:return"/types.MsgSend";case O.Chain.Cosmos:case O.Chain.Kujira:case O.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new O.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},$5=async({sender:T,recipient:f,assetValue:L,memo:y="",feeRate:X,sequence:x,accountNumber:Z})=>{let{chain:J,chainId:Q}=L,q=U1(Q),B=await(await Iy(q)).getAccount(T);if(!B)throw new O.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let M=O.AssetValue.from({chain:J}),H=Ey(M.symbol),G=Dy(J),R=H&&X?{amount:[{denom:H,amount:X.toString()}],gas:G.gas}:G,I={fromAddress:T,toAddress:f,amount:[{amount:L.getBaseValue("string"),denom:Ey(L.symbol)}]};return{accountNumber:Z??B.accountNumber,chainId:Q,fee:R,memo:y,sequence:x??B.sequence,msgs:[{typeUrl:LX(J),value:I}]}},ZX,F5=(T,f)=>{let L=ZX[T.toLowerCase()];if(!L)return O.AssetValue.from({asset:T,value:f,fromBaseDecimal:8});let{chain:y,asset:X,decimals:x}=L,Z=y?{chain:y}:{asset:X};return O.AssetValue.from({...Z,value:f,fromBaseDecimal:x})};var YT=l(()=>{O=require("@swapkit/helpers"),G1={amount:[{denom:"uatom",amount:"500"}],gas:"200000"},W1={amount:[{denom:"ukuji",amount:"1000"}],gas:"200000"},H1={amount:[{denom:"uusdc",amount:"1000"}],gas:"200000"};ZX={rune:{chain:O.Chain.THORChain,decimals:O.BaseDecimal[O.Chain.THORChain]},tcy:{asset:"THOR.TCY",decimals:O.BaseDecimal[O.Chain.THORChain]},"x/kuji":{asset:"THOR.KUJI",decimals:O.BaseDecimal[O.Chain.THORChain]},uatom:{chain:O.Chain.Cosmos,decimals:O.BaseDecimal[O.Chain.Cosmos]},atom:{chain:O.Chain.Cosmos,decimals:O.BaseDecimal[O.Chain.Cosmos]},cacao:{chain:O.Chain.Maya,decimals:10},maya:{asset:`${O.Chain.Maya}.${O.Chain.Maya}`,decimals:4},ukuji:{chain:O.Chain.Kujira,decimals:O.BaseDecimal[O.Chain.Kujira]},kuji:{chain:O.Chain.Kujira,decimals:O.BaseDecimal[O.Chain.Kujira]},uusdc:{chain:O.Chain.Noble,decimals:O.BaseDecimal[O.Chain.Noble]},usdc:{chain:O.Chain.Noble,decimals:O.BaseDecimal[O.Chain.Noble]},[l5.toLowerCase()]:{asset:`${O.Chain.Kujira}.USK`,decimals:O.BaseDecimal[O.Chain.Kujira]}}});var Y1={};qy(Y1,{$root:()=>N});var a,F,zy,k,N;var _1=l(()=>{a=U(require("protobufjs/minimal.js")),F=a.default.Reader,zy=a.default.Writer,k=a.default.util,N=a.default.roots.default||(a.default.roots.default={});N.common=(()=>{let T={};return T.Asset=(()=>{function f(L){if(L){for(let y=Object.keys(L),X=0;X<y.length;++X)if(L[y[X]]!=null)this[y[X]]=L[y[X]]}}return f.prototype.chain="",f.prototype.symbol="",f.prototype.ticker="",f.prototype.synth=!1,f.create=function L(y){return new f(y)},f.encode=function L(y,X){if(!X)X=zy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))X.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))X.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))X.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))X.uint32(32).bool(y.synth);return X},f.encodeDelimited=function L(y,X){return this.encode(y,X).ldelim()},f.decode=function L(y,X){if(!(y instanceof F))y=F.create(y);let x=X===void 0?y.len:y.pos+X,Z=new N.common.Asset;while(y.pos<x){let J=y.uint32();switch(J>>>3){case 1:Z.chain=y.string();break;case 2:Z.symbol=y.string();break;case 3:Z.ticker=y.string();break;case 4:Z.synth=y.bool();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function L(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function L(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!k.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!k.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!k.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},f.fromObject=function L(y){if(y instanceof N.common.Asset)return y;let X=new N.common.Asset;if(y.chain!=null)X.chain=String(y.chain);if(y.symbol!=null)X.symbol=String(y.symbol);if(y.ticker!=null)X.ticker=String(y.ticker);if(y.synth!=null)X.synth=Boolean(y.synth);return X},f.toObject=function L(y,X){if(!X)X={};let x={};if(X.defaults)x.chain="",x.symbol="",x.ticker="",x.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))x.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))x.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))x.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))x.synth=y.synth;return x},f.prototype.toJSON=function L(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.Coin=(()=>{function f(L){if(L){for(let y=Object.keys(L),X=0;X<y.length;++X)if(L[y[X]]!=null)this[y[X]]=L[y[X]]}}return f.prototype.asset=null,f.prototype.amount="",f.prototype.decimals=k.Long?k.Long.fromBits(0,0,!1):0,f.create=function L(y){return new f(y)},f.encode=function L(y,X){if(!X)X=zy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))N.common.Asset.encode(y.asset,X.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))X.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))X.uint32(24).int64(y.decimals);return X},f.encodeDelimited=function L(y,X){return this.encode(y,X).ldelim()},f.decode=function L(y,X){if(!(y instanceof F))y=F.create(y);let x=X===void 0?y.len:y.pos+X,Z=new N.common.Coin;while(y.pos<x){let J=y.uint32();switch(J>>>3){case 1:Z.asset=N.common.Asset.decode(y,y.uint32());break;case 2:Z.amount=y.string();break;case 3:Z.decimals=y.int64();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function L(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function L(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let X=N.common.Asset.verify(y.asset);if(X)return"asset."+X}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!k.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!k.isInteger(y.decimals)&&!(y.decimals&&k.isInteger(y.decimals.low)&&k.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},f.fromObject=function L(y){if(y instanceof N.common.Coin)return y;let X=new N.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");X.asset=N.common.Asset.fromObject(y.asset)}if(y.amount!=null)X.amount=String(y.amount);if(y.decimals!=null){if(k.Long)(X.decimals=k.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")X.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")X.decimals=y.decimals;else if(typeof y.decimals==="object")X.decimals=new k.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return X},f.toObject=function L(y,X){if(!X)X={};let x={};if(X.defaults)if(x.asset=null,x.amount="",k.Long){let Z=new k.Long(0,0,!1);x.decimals=X.longs===String?Z.toString():X.longs===Number?Z.toNumber():Z}else x.decimals=X.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))x.asset=N.common.Asset.toObject(y.asset,X);if(y.amount!=null&&y.hasOwnProperty("amount"))x.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")x.decimals=X.longs===String?String(y.decimals):y.decimals;else x.decimals=X.longs===String?k.Long.prototype.toString.call(y.decimals):X.longs===Number?new k.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return x},f.prototype.toJSON=function L(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.PubKeySet=(()=>{function f(L){if(L){for(let y=Object.keys(L),X=0;X<y.length;++X)if(L[y[X]]!=null)this[y[X]]=L[y[X]]}}return f.prototype.secp256k1="",f.prototype.ed25519="",f.create=function L(y){return new f(y)},f.encode=function L(y,X){if(!X)X=zy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))X.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))X.uint32(18).string(y.ed25519);return X},f.encodeDelimited=function L(y,X){return this.encode(y,X).ldelim()},f.decode=function L(y,X){if(!(y instanceof F))y=F.create(y);let x=X===void 0?y.len:y.pos+X,Z=new N.common.PubKeySet;while(y.pos<x){let J=y.uint32();switch(J>>>3){case 1:Z.secp256k1=y.string();break;case 2:Z.ed25519=y.string();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function L(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function L(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!k.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!k.isString(y.ed25519))return"ed25519: string expected"}return null},f.fromObject=function L(y){if(y instanceof N.common.PubKeySet)return y;let X=new N.common.PubKeySet;if(y.secp256k1!=null)X.secp256k1=String(y.secp256k1);if(y.ed25519!=null)X.ed25519=String(y.ed25519);return X},f.toObject=function L(y,X){if(!X)X={};let x={};if(X.defaults)x.secp256k1="",x.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))x.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))x.ed25519=y.ed25519;return x},f.prototype.toJSON=function L(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.Tx=(()=>{function f(L){if(this.coins=[],this.gas=[],L){for(let y=Object.keys(L),X=0;X<y.length;++X)if(L[y[X]]!=null)this[y[X]]=L[y[X]]}}return f.prototype.id="",f.prototype.chain="",f.prototype.fromAddress="",f.prototype.toAddress="",f.prototype.coins=k.emptyArray,f.prototype.gas=k.emptyArray,f.prototype.memo="",f.create=function L(y){return new f(y)},f.encode=function L(y,X){if(!X)X=zy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))X.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))X.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))X.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))X.uint32(34).string(y.toAddress);if(y.coins?.length)for(let x=0;x<y.coins.length;++x)N.common.Coin.encode(y.coins[x],X.uint32(42).fork()).ldelim();if(y.gas?.length)for(let x=0;x<y.gas.length;++x)N.common.Coin.encode(y.gas[x],X.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))X.uint32(58).string(y.memo);return X},f.encodeDelimited=function L(y,X){return this.encode(y,X).ldelim()},f.decode=function L(y,X){if(!(y instanceof F))y=F.create(y);let x=X===void 0?y.len:y.pos+X,Z=new N.common.Tx;while(y.pos<x){let J=y.uint32();switch(J>>>3){case 1:Z.id=y.string();break;case 2:Z.chain=y.string();break;case 3:Z.fromAddress=y.string();break;case 4:Z.toAddress=y.string();break;case 5:if(!Z.coins?.length)Z.coins=[];Z.coins.push(N.common.Coin.decode(y,y.uint32()));break;case 6:if(!Z.gas?.length)Z.gas=[];Z.gas.push(N.common.Coin.decode(y,y.uint32()));break;case 7:Z.memo=y.string();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function L(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function L(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!k.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!k.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!k.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!k.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let X=0;X<y.coins.length;++X){let x=N.common.Coin.verify(y.coins[X]);if(x)return"coins."+x}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let X=0;X<y.gas.length;++X){let x=N.common.Coin.verify(y.gas[X]);if(x)return"gas."+x}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!k.isString(y.memo))return"memo: string expected"}return null},f.fromObject=function L(y){if(y instanceof N.common.Tx)return y;let X=new N.common.Tx;if(y.id!=null)X.id=String(y.id);if(y.chain!=null)X.chain=String(y.chain);if(y.fromAddress!=null)X.fromAddress=String(y.fromAddress);if(y.toAddress!=null)X.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");X.coins=[];for(let x=0;x<y.coins.length;++x){if(typeof y.coins[x]!=="object")throw TypeError(".common.Tx.coins: object expected");X.coins[x]=N.common.Coin.fromObject(y.coins[x])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");X.gas=[];for(let x=0;x<y.gas.length;++x){if(typeof y.gas[x]!=="object")throw TypeError(".common.Tx.gas: object expected");X.gas[x]=N.common.Coin.fromObject(y.gas[x])}}if(y.memo!=null)X.memo=String(y.memo);return X},f.toObject=function L(y,X){if(!X)X={};let x={};if(X.arrays||X.defaults)x.coins=[],x.gas=[];if(X.defaults)x.id="",x.chain="",x.fromAddress="",x.toAddress="",x.memo="";if(y.id!=null&&y.hasOwnProperty("id"))x.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))x.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))x.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))x.toAddress=y.toAddress;if(y.coins?.length){x.coins=[];for(let Z=0;Z<y.coins.length;++Z)x.coins[Z]=N.common.Coin.toObject(y.coins[Z],X)}if(y.gas?.length){x.gas=[];for(let Z=0;Z<y.gas.length;++Z)x.gas[Z]=N.common.Coin.toObject(y.gas[Z],X)}if(y.memo!=null&&y.hasOwnProperty("memo"))x.memo=y.memo;return x},f.prototype.toJSON=function L(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.Fee=(()=>{function f(L){if(this.coins=[],L){for(let y=Object.keys(L),X=0;X<y.length;++X)if(L[y[X]]!=null)this[y[X]]=L[y[X]]}}return f.prototype.coins=k.emptyArray,f.prototype.poolDeduct="",f.create=function L(y){return new f(y)},f.encode=function L(y,X){if(!X)X=zy.create();if(y.coins?.length)for(let x=0;x<y.coins.length;++x)N.common.Coin.encode(y.coins[x],X.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))X.uint32(18).string(y.poolDeduct);return X},f.encodeDelimited=function L(y,X){return this.encode(y,X).ldelim()},f.decode=function L(y,X){if(!(y instanceof F))y=F.create(y);let x=X===void 0?y.len:y.pos+X,Z=new N.common.Fee;while(y.pos<x){let J=y.uint32();switch(J>>>3){case 1:if(!Z.coins?.length)Z.coins=[];Z.coins.push(N.common.Coin.decode(y,y.uint32()));break;case 2:Z.poolDeduct=y.string();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function L(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function L(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let X=0;X<y.coins.length;++X){let x=N.common.Coin.verify(y.coins[X]);if(x)return"coins."+x}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!k.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},f.fromObject=function L(y){if(y instanceof N.common.Fee)return y;let X=new N.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");X.coins=[];for(let x=0;x<y.coins.length;++x){if(typeof y.coins[x]!=="object")throw TypeError(".common.Fee.coins: object expected");X.coins[x]=N.common.Coin.fromObject(y.coins[x])}}if(y.poolDeduct!=null)X.poolDeduct=String(y.poolDeduct);return X},f.toObject=function L(y,X){if(!X)X={};let x={};if(X.arrays||X.defaults)x.coins=[];if(X.defaults)x.poolDeduct="";if(y.coins?.length){x.coins=[];for(let Z=0;Z<y.coins.length;++Z)x.coins[Z]=N.common.Coin.toObject(y.coins[Z],X)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))x.poolDeduct=y.poolDeduct;return x},f.prototype.toJSON=function L(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.ProtoUint=(()=>{function f(L){if(L){for(let y=Object.keys(L),X=0;X<y.length;++X)if(L[y[X]]!=null)this[y[X]]=L[y[X]]}}return f.prototype.value="",f.create=function L(y){return new f(y)},f.encode=function L(y,X){if(!X)X=zy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))X.uint32(10).string(y.value);return X},f.encodeDelimited=function L(y,X){return this.encode(y,X).ldelim()},f.decode=function L(y,X){if(!(y instanceof F))y=F.create(y);let x=X===void 0?y.len:y.pos+X,Z=new N.common.ProtoUint;while(y.pos<x){let J=y.uint32();switch(J>>>3){case 1:Z.value=y.string();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function L(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function L(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!k.isString(y.value))return"value: string expected"}return null},f.fromObject=function L(y){if(y instanceof N.common.ProtoUint)return y;let X=new N.common.ProtoUint;if(y.value!=null)X.value=String(y.value);return X},f.toObject=function L(y,X){if(!X)X={};let x={};if(X.defaults)x.value="";if(y.value!=null&&y.hasOwnProperty("value"))x.value=y.value;return x},f.prototype.toJSON=function L(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T})();N.types=(()=>{let T={};return T.MsgDeposit=(()=>{function f(L){if(this.coins=[],L){for(let y=Object.keys(L),X=0;X<y.length;++X)if(L[y[X]]!=null)this[y[X]]=L[y[X]]}}return f.prototype.coins=k.emptyArray,f.prototype.memo="",f.prototype.signer=k.newBuffer([]),f.create=function L(y){return new f(y)},f.encode=function L(y,X){if(!X)X=zy.create();if(y.coins?.length)for(let x=0;x<y.coins.length;++x)N.common.Coin.encode(y.coins[x],X.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))X.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))X.uint32(26).bytes(y.signer);return X},f.encodeDelimited=function L(y,X){return this.encode(y,X).ldelim()},f.decode=function L(y,X){if(!(y instanceof F))y=F.create(y);let x=X===void 0?y.len:y.pos+X,Z=new N.types.MsgDeposit;while(y.pos<x){let J=y.uint32();switch(J>>>3){case 1:if(!Z.coins?.length)Z.coins=[];Z.coins.push(N.common.Coin.decode(y,y.uint32()));break;case 2:Z.memo=y.string();break;case 3:Z.signer=y.bytes();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function L(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function L(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let X=0;X<y.coins.length;++X){let x=N.common.Coin.verify(y.coins[X]);if(x)return"coins."+x}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!k.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||k.isString(y.signer)))return"signer: buffer expected"}return null},f.fromObject=function L(y){if(y instanceof N.types.MsgDeposit)return y;let X=new N.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");X.coins=[];for(let x=0;x<y.coins.length;++x){if(typeof y.coins[x]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");X.coins[x]=N.common.Coin.fromObject(y.coins[x])}}if(y.memo!=null)X.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")k.base64.decode(y.signer,X.signer=k.newBuffer(k.base64.length(y.signer)),0);else if(y.signer.length)X.signer=y.signer}return X},f.toObject=function L(y,X){if(!X)X={};let x={};if(X.arrays||X.defaults)x.coins=[];if(X.defaults){if(x.memo="",X.bytes===String)x.signer="";else if(x.signer=[],X.bytes!==Array)x.signer=k.newBuffer(x.signer)}if(y.coins?.length){x.coins=[];for(let Z=0;Z<y.coins.length;++Z)x.coins[Z]=N.common.Coin.toObject(y.coins[Z],X)}if(y.memo!=null&&y.hasOwnProperty("memo"))x.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))x.signer=X.bytes===String?k.base64.encode(y.signer,0,y.signer.length):X.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return x},f.prototype.toJSON=function L(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T.MsgSend=(()=>{function f(L){if(this.amount=[],L){for(let y=Object.keys(L),X=0;X<y.length;++X)if(L[y[X]]!=null)this[y[X]]=L[y[X]]}}return f.prototype.fromAddress=k.newBuffer([]),f.prototype.toAddress=k.newBuffer([]),f.prototype.amount=k.emptyArray,f.create=function L(y){return new f(y)},f.encode=function L(y,X){if(!X)X=zy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))X.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))X.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let x=0;x<y.amount.length;++x)N.cosmos.base.v1beta1.Coin.encode(y.amount[x],X.uint32(26).fork()).ldelim();return X},f.encodeDelimited=function L(y,X){return this.encode(y,X).ldelim()},f.decode=function L(y,X){if(!(y instanceof F))y=F.create(y);let x=X===void 0?y.len:y.pos+X,Z=new N.types.MsgSend;while(y.pos<x){let J=y.uint32();switch(J>>>3){case 1:Z.fromAddress=y.bytes();break;case 2:Z.toAddress=y.bytes();break;case 3:if(!Z.amount?.length)Z.amount=[];Z.amount.push(N.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function L(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function L(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||k.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||k.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let X=0;X<y.amount.length;++X){let x=N.cosmos.base.v1beta1.Coin.verify(y.amount[X]);if(x)return"amount."+x}}return null},f.fromObject=function L(y){if(y instanceof N.types.MsgSend)return y;let X=new N.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")k.base64.decode(y.fromAddress,X.fromAddress=k.newBuffer(k.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)X.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")k.base64.decode(y.toAddress,X.toAddress=k.newBuffer(k.base64.length(y.toAddress)),0);else if(y.toAddress.length)X.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");X.amount=[];for(let x=0;x<y.amount.length;++x){if(typeof y.amount[x]!=="object")throw TypeError(".types.MsgSend.amount: object expected");X.amount[x]=N.cosmos.base.v1beta1.Coin.fromObject(y.amount[x])}}return X},f.toObject=function L(y,X){if(!X)X={};let x={};if(X.arrays||X.defaults)x.amount=[];if(X.defaults){if(X.bytes===String)x.fromAddress="";else if(x.fromAddress=[],X.bytes!==Array)x.fromAddress=k.newBuffer(x.fromAddress);if(X.bytes===String)x.toAddress="";else if(x.toAddress=[],X.bytes!==Array)x.toAddress=k.newBuffer(x.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))x.fromAddress=X.bytes===String?k.base64.encode(y.fromAddress,0,y.fromAddress.length):X.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))x.toAddress=X.bytes===String?k.base64.encode(y.toAddress,0,y.toAddress.length):X.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){x.amount=[];for(let Z=0;Z<y.amount.length;++Z)x.amount[Z]=N.cosmos.base.v1beta1.Coin.toObject(y.amount[Z],X)}return x},f.prototype.toJSON=function L(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},f})(),T})();N.cosmos=(()=>{let T={};return T.base=(()=>{let f={};return f.v1beta1=(()=>{let L={};return L.Coin=(()=>{function y(X){if(X){for(let x=Object.keys(X),Z=0;Z<x.length;++Z)if(X[x[Z]]!=null)this[x[Z]]=X[x[Z]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function X(x){return new y(x)},y.encode=function X(x,Z){if(!Z)Z=zy.create();if(x.denom!=null&&Object.hasOwnProperty.call(x,"denom"))Z.uint32(10).string(x.denom);if(x.amount!=null&&Object.hasOwnProperty.call(x,"amount"))Z.uint32(18).string(x.amount);return Z},y.encodeDelimited=function X(x,Z){return this.encode(x,Z).ldelim()},y.decode=function X(x,Z){if(!(x instanceof F))x=F.create(x);let J=Z===void 0?x.len:x.pos+Z,Q=new N.cosmos.base.v1beta1.Coin;while(x.pos<J){let q=x.uint32();switch(q>>>3){case 1:Q.denom=x.string();break;case 2:Q.amount=x.string();break;default:x.skipType(q&7);break}}return Q},y.decodeDelimited=function X(x){if(!(x instanceof F))x=new F(x);return this.decode(x,x.uint32())},y.verify=function X(x){if(typeof x!=="object"||x===null)return"object expected";if(x.denom!=null&&x.hasOwnProperty("denom")){if(!k.isString(x.denom))return"denom: string expected"}if(x.amount!=null&&x.hasOwnProperty("amount")){if(!k.isString(x.amount))return"amount: string expected"}return null},y.fromObject=function X(x){if(x instanceof N.cosmos.base.v1beta1.Coin)return x;let Z=new N.cosmos.base.v1beta1.Coin;if(x.denom!=null)Z.denom=String(x.denom);if(x.amount!=null)Z.amount=String(x.amount);return Z},y.toObject=function X(x,Z){if(!Z)Z={};let J={};if(Z.defaults)J.denom="",J.amount="";if(x.denom!=null&&x.hasOwnProperty("denom"))J.denom=x.denom;if(x.amount!=null&&x.hasOwnProperty("amount"))J.amount=x.amount;return J},y.prototype.toJSON=function X(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},y})(),L.DecCoin=(()=>{function y(X){if(X){for(let x=Object.keys(X),Z=0;Z<x.length;++Z)if(X[x[Z]]!=null)this[x[Z]]=X[x[Z]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function X(x){return new y(x)},y.encode=function X(x,Z){if(!Z)Z=zy.create();if(x.denom!=null&&Object.hasOwnProperty.call(x,"denom"))Z.uint32(10).string(x.denom);if(x.amount!=null&&Object.hasOwnProperty.call(x,"amount"))Z.uint32(18).string(x.amount);return Z},y.encodeDelimited=function X(x,Z){return this.encode(x,Z).ldelim()},y.decode=function X(x,Z){if(!(x instanceof F))x=F.create(x);let J=Z===void 0?x.len:x.pos+Z,Q=new N.cosmos.base.v1beta1.DecCoin;while(x.pos<J){let q=x.uint32();switch(q>>>3){case 1:Q.denom=x.string();break;case 2:Q.amount=x.string();break;default:x.skipType(q&7);break}}return Q},y.decodeDelimited=function X(x){if(!(x instanceof F))x=new F(x);return this.decode(x,x.uint32())},y.verify=function X(x){if(typeof x!=="object"||x===null)return"object expected";if(x.denom!=null&&x.hasOwnProperty("denom")){if(!k.isString(x.denom))return"denom: string expected"}if(x.amount!=null&&x.hasOwnProperty("amount")){if(!k.isString(x.amount))return"amount: string expected"}return null},y.fromObject=function X(x){if(x instanceof N.cosmos.base.v1beta1.DecCoin)return x;let Z=new N.cosmos.base.v1beta1.DecCoin;if(x.denom!=null)Z.denom=String(x.denom);if(x.amount!=null)Z.amount=String(x.amount);return Z},y.toObject=function X(x,Z){if(!Z)Z={};let J={};if(Z.defaults)J.denom="",J.amount="";if(x.denom!=null&&x.hasOwnProperty("denom"))J.denom=x.denom;if(x.amount!=null&&x.hasOwnProperty("amount"))J.amount=x.amount;return J},y.prototype.toJSON=function X(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},y})(),L.IntProto=(()=>{function y(X){if(X){for(let x=Object.keys(X),Z=0;Z<x.length;++Z)if(X[x[Z]]!=null)this[x[Z]]=X[x[Z]]}}return y.prototype.int="",y.create=function X(x){return new y(x)},y.encode=function X(x,Z){if(!Z)Z=zy.create();if(x.int!=null&&Object.hasOwnProperty.call(x,"int"))Z.uint32(10).string(x.int);return Z},y.encodeDelimited=function X(x,Z){return this.encode(x,Z).ldelim()},y.decode=function X(x,Z){if(!(x instanceof F))x=F.create(x);let J=Z===void 0?x.len:x.pos+Z,Q=new N.cosmos.base.v1beta1.IntProto;while(x.pos<J){let q=x.uint32();switch(q>>>3){case 1:Q.int=x.string();break;default:x.skipType(q&7);break}}return Q},y.decodeDelimited=function X(x){if(!(x instanceof F))x=new F(x);return this.decode(x,x.uint32())},y.verify=function X(x){if(typeof x!=="object"||x===null)return"object expected";if(x.int!=null&&x.hasOwnProperty("int")){if(!k.isString(x.int))return"int: string expected"}return null},y.fromObject=function X(x){if(x instanceof N.cosmos.base.v1beta1.IntProto)return x;let Z=new N.cosmos.base.v1beta1.IntProto;if(x.int!=null)Z.int=String(x.int);return Z},y.toObject=function X(x,Z){if(!Z)Z={};let J={};if(Z.defaults)J.int="";if(x.int!=null&&x.hasOwnProperty("int"))J.int=x.int;return J},y.prototype.toJSON=function X(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},y})(),L.DecProto=(()=>{function y(X){if(X){for(let x=Object.keys(X),Z=0;Z<x.length;++Z)if(X[x[Z]]!=null)this[x[Z]]=X[x[Z]]}}return y.prototype.dec="",y.create=function X(x){return new y(x)},y.encode=function X(x,Z){if(!Z)Z=zy.create();if(x.dec!=null&&Object.hasOwnProperty.call(x,"dec"))Z.uint32(10).string(x.dec);return Z},y.encodeDelimited=function X(x,Z){return this.encode(x,Z).ldelim()},y.decode=function X(x,Z){if(!(x instanceof F))x=F.create(x);let J=Z===void 0?x.len:x.pos+Z,Q=new N.cosmos.base.v1beta1.DecProto;while(x.pos<J){let q=x.uint32();switch(q>>>3){case 1:Q.dec=x.string();break;default:x.skipType(q&7);break}}return Q},y.decodeDelimited=function X(x){if(!(x instanceof F))x=new F(x);return this.decode(x,x.uint32())},y.verify=function X(x){if(typeof x!=="object"||x===null)return"object expected";if(x.dec!=null&&x.hasOwnProperty("dec")){if(!k.isString(x.dec))return"dec: string expected"}return null},y.fromObject=function X(x){if(x instanceof N.cosmos.base.v1beta1.DecProto)return x;let Z=new N.cosmos.base.v1beta1.DecProto;if(x.dec!=null)Z.dec=String(x.dec);return Z},y.toObject=function X(x,Z){if(!Z)Z={};let J={};if(Z.defaults)J.dec="";if(x.dec!=null&&x.hasOwnProperty("dec"))J.dec=x.dec;return J},y.prototype.toJSON=function X(){return this.constructor.toObject(this,a.default.util.toJSONOptions)},y})(),L})(),f})(),T})()});async function ny(){let{$root:T}=await Promise.resolve().then(() => (_1(),Y1)),f=await import("@cosmjs/proto-signing"),L=f.Registry??f.default?.Registry,y=await import("@cosmjs/stargate"),X=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new L([...X,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function vy(T){let f=await import("@cosmjs/stargate"),L=f.AminoTypes??f.default?.AminoTypes,y=T===R1.Chain.THORChain?"thorchain":"mayachain";return new L({"/types.MsgSend":{aminoType:`${y}/MsgSend`,toAmino:({fromAddress:X,toAddress:x,...Z})=>({...Z,from_address:WT(X),to_address:WT(x)}),fromAmino:({from_address:X,to_address:x,...Z})=>({...Z,fromAddress:GT(X),toAddress:GT(x)})},"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,toAmino:({signer:X,...x})=>({...x,signer:WT(X)}),fromAmino:({signer:X,...x})=>({...x,signer:GT(X)})}})}var R1;var K5=l(()=>{R1=require("@swapkit/helpers");P5()});function u5(T){return function f(L){let{assetValue:y,recipient:X,memo:x,sender:Z,asSignable:J,asAminoMessage:Q}=L;if(X)return D1(T)({sender:Z,recipient:X,assetValue:y,memo:x,asSignable:J,asAminoMessage:Q});return I1(T)({sender:Z,assetValue:y,memo:x,asSignable:J,asAminoMessage:Q})}}function ly(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((f)=>{let L=My.AssetValue.from({asset:f.asset}),y=(L.isSynthetic?L.symbol.split("/")?.[1]:L.symbol)?.toUpperCase(),X=(L.isSynthetic?L.symbol.split("/")?.[0]:L.chain)?.toUpperCase();return{...f,asset:{chain:X,symbol:y,ticker:L.ticker,synth:L.isSynthetic}}})}}}async function _T({chain:T,memo:f,msgs:L}){let y=await ny(),X=await vy(T),x={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:f,messages:L.map((Z)=>X.fromAmino(Z))}};return y.encode(x)}var My,JX,QX,A5=({sender:T,recipient:f,assetValue:L})=>{return{type:`${L.chain===My.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{from_address:T,to_address:f,amount:[{amount:L.getBaseValue("string"),denom:Ey(L.symbol,!0)}]}}},S5=({sender:T,assetValue:f,memo:L=""})=>{return{type:`${f.chain===My.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:f.getBaseValue("string"),asset:HT(f)}],signer:T,memo:L}}},tT=({sender:T,recipient:f,assetValue:L,memo:y})=>{return!f?S5({sender:T,assetValue:L,memo:y}):A5({sender:T,recipient:f,assetValue:L})},Py=async(T,f)=>{return(await vy(f)).fromAmino(T)},N1=async({rpcUrl:T,sender:f})=>{let y=await(await Iy(T)).getAccount(f);if(!y)throw new My.SwapKitError("toolbox_cosmos_account_not_found",{sender:f});return y},D1=(T)=>async({sender:f,recipient:L,assetValue:y,memo:X="",asSignable:x=!0,asAminoMessage:Z=!1,sequence:J,accountNumber:Q})=>{let q=await N1({rpcUrl:T,sender:f}),z=y.chain,B=A5({sender:f,recipient:L,assetValue:y}),M=x?await Py(Z?B:ly(B),z):B;return{chainId:My.ChainToChainId[z],accountNumber:Q||q.accountNumber,sequence:J||q.sequence,msgs:[M],fee:Dy(y.chain),memo:X}},I1=(T)=>async({sender:f,assetValue:L,memo:y="",asSignable:X=!0,asAminoMessage:x=!1,sequence:Z,accountNumber:J})=>{let Q=await N1({rpcUrl:T,sender:f}),q=L.chain,z=S5({sender:f,assetValue:L,memo:y}),B=X?await Py(x?z:ly(z),q):z;return{chainId:My.ChainToChainId[q],accountNumber:J||Q.accountNumber,sequence:Z||Q.sequence,msgs:[B],fee:Dy(L.chain),memo:y}};var O1=l(()=>{My=require("@swapkit/helpers");YT();K5();JX=Dy(My.Chain.THORChain).gas,QX=Dy(My.Chain.Maya).gas});var k1=()=>{};var w1=l(()=>{k1()});var b5=l(()=>{P5();O1();K5();w1()});async function n5(T,f){try{let y=(await h5.SwapKitApi.getGasRate()).find((X)=>X.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(L){return f}}async function j5({phrase:T,prefix:f,...L}){let y=await import("@cosmjs/proto-signing"),X=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,x=await import("@cosmjs/crypto"),Z=x.stringToPath??x.default?.stringToPath,J="derivationPath"in L?L.derivationPath:`${C.DerivationPath[L.chain]}/${L.index}`;return X.fromMnemonic(T,{prefix:f,hdPaths:[Z(J)]})}async function qX({privateKey:T,prefix:f}){let L=await import("@cosmjs/proto-signing");return(L.DirectSecp256k1Wallet??L.default?.DirectSecp256k1Wallet).fromKey(T,f)}function P1(T){return async function f({signature:L,message:y,address:X}){let x=await T(X);if(!x?.pubkey)throw new C.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let Z=await import("@cosmjs/crypto"),J=Z.Secp256k1Signature??Z.default?.Secp256k1Signature,Q=Z.Secp256k1??Z.default?.Secp256k1,q=J.fromFixedLength(Vy.base64.decode(L));return Q.verifySignature(q,Vy.base64.decode(y),x.pubkey.value)}}async function NT({chain:T,...f}){let L=C.SKConfig.get("rpcUrls")[T],y=C.CosmosChainPrefixes[T],X="index"in f?f.index||0:0,x=C.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:C.updateDerivationPath(C.NetworkDerivationPath[T],{index:X})),Z=await RT.match(f).with({phrase:RT.P.string},({phrase:B})=>j5({phrase:B,prefix:y,derivationPath:x})).with({signer:RT.P.any},({signer:B})=>B).otherwise(()=>{return});async function J(B){return(await Iy(L)).getAccount(B)}async function Q(){let[B]=await Z?.getAccounts()||[];return B?.address}async function q(){let[B]=await Z?.getAccounts()||[];if(!B?.pubkey)throw new C.SwapKitError("toolbox_cosmos_signer_not_defined");return Vy.base64.encode(B?.pubkey)}async function z({recipient:B,assetValue:M,memo:H="",feeRate:G,feeOptionKey:R=C.FeeOption.Fast}){let I=await Q();if(!(Z&&I))throw new C.SwapKitError("toolbox_cosmos_signer_not_defined");let S=C.AssetValue.from({chain:T}),b=HT(S),d=G||WX((await E1(T,C1[T]))[R],b),c=await UT(L,Z),s=[{denom:Ey(`u${M.symbol}`).toLowerCase(),amount:M.getBaseValue("string")}],{transactionHash:r}=await c.sendTokens(I,B,s,d,H);return r}return{transfer:z,getAddress:Q,getAccount:J,getBalance:async(B,M)=>{let H=await v1(L)(B);return await Promise.all(H.filter(({denom:G})=>G&&!G.includes("IBC/")).map(({denom:G,amount:R})=>{let I=[C.Chain.THORChain,C.Chain.Maya].includes(T)&&(G.includes("/")||G.includes("˜"))?`${T}.${G}`:G;return F5(I,R)}))},getSignerFromPhrase:async({phrase:B,derivationPath:M})=>j5({phrase:B,prefix:y,derivationPath:C.derivationPathToString(M),index:X}),getSignerFromPrivateKey:async(B)=>{let M=await import("@cosmjs/proto-signing");return(M.DirectSecp256k1Wallet??M.default?.DirectSecp256k1Wallet).fromKey(B,y)},createPrivateKeyFromPhrase:UX(x),validateAddress:V1(y),getPubKey:q,getFees:()=>E1(T,C1[T]),fetchFeeRateFromSwapKit:n5,getBalanceAsDenoms:v1(L),createTransaction:$5,verifySignature:P1(J)}}async function l1(T,f){try{let y=(await h5.SwapKitApi.getGasRate()).find((X)=>X.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(L){return f}}function MX({address:T,chain:f,prefix:L}){let y=L||GX(f);if(!(y&&T))throw new C.SwapKitError("toolbox_cosmos_validate_address_prefix_not_found");return V1(y)(T)}function BX({assetValue:{chain:T}}){return C.AssetValue.from({chain:T,value:HX(T)})}function GX(T){let{isStagenet:f}=C.SKConfig.get("envs"),L=T?[C.Chain.THORChain,C.Chain.Maya].includes(T)&&f:!1,y=T?C.CosmosChainPrefixes[T]:void 0;return L?`s${y}`:y}async function E1(T,f){let L=await n5(C.ChainToChainId[T],f);return{average:C.SwapKitNumber.fromBigInt(BigInt(L),C.BaseDecimal[T]),fast:C.SwapKitNumber.fromBigInt(BigInt(C.applyFeeMultiplier(L,C.FeeOption.Fast,!0)),C.BaseDecimal[T]),fastest:C.SwapKitNumber.fromBigInt(BigInt(C.applyFeeMultiplier(L,C.FeeOption.Fastest,!0)),C.BaseDecimal[T])}}function WX(T,f){return{amount:[{denom:f,amount:T.getBaseValue("string")}],gas:"200000"}}function HX(T){return{[C.Chain.Cosmos]:0.007,[C.Chain.Kujira]:0.02,[C.Chain.Noble]:0.01,[C.Chain.THORChain]:0.02,[C.Chain.Maya]:0.02}[T]||0}function V1(T){return function f(L){if(!L.startsWith(T))return!1;try{let{prefix:y,words:X}=Vy.bech32.decode(L);return Vy.bech32.encode(y,X)===L.toLocaleLowerCase()}catch(y){return!1}}}function v1(T){return async function f(L){return(await(await Iy(T)).getAllBalances(L)).map((Z)=>({...Z,denom:Z.denom.includes("/")?Z.denom.toUpperCase():Z.denom}))}}function UX(T){return async function f(L){let y=await import("@cosmjs/crypto"),X=y.stringToPath??y.default?.stringToPath,x=y.Slip10Curve??y.default?.Slip10Curve,Z=y.Slip10??y.default?.Slip10,J=y.EnglishMnemonic??y.default?.EnglishMnemonic,Q=y.Bip39??y.default?.Bip39,q=new J(L),z=await Q.mnemonicToSeed(q),{privkey:B}=Z.derivePath(x.Secp256k1,z,X(T));return B}}var Vy,C,h5,RT,C1,zX;var dT=l(()=>{Vy=require("@scure/base"),C=require("@swapkit/helpers"),h5=require("@swapkit/helpers/api"),RT=require("ts-pattern");YT();C1={[C.Chain.Cosmos]:500,[C.Chain.Kujira]:1000,[C.Chain.Noble]:1000,[C.Chain.THORChain]:5000000,[C.Chain.Maya]:5000000};zX=l1});function YX({prefix:T,derivationPath:f}){return async function L(y,X=0){let x=await import("@cosmjs/amino"),Z=x.Secp256k1HdWallet??x.default?.Secp256k1HdWallet,J=await import("@cosmjs/crypto"),Q=J.stringToPath??J.default?.stringToPath;return Z.fromMnemonic(y,{hdPaths:[Q(`${f}/${X}`)],prefix:T})}}function _X(T){return $y.base64.encode(T)}function RX(T){return async function f({wallet:L,tx:y}){let{msgs:X,accountNumber:x,sequence:Z,chainId:J,fee:Q,memo:q}=typeof y==="string"?JSON.parse(y):y,z=(await L.getAccounts())?.[0]?.address||"",B=await vy(T),M=await ny(),H=await V5(L,{registry:M,aminoTypes:B}),G=[];for(let S of X){let b=await Py(S,T);G.push(b)}let{signatures:[R]}=await H.sign(z,G,Q,q,{accountNumber:x,sequence:Z,chainId:J}),I=await _T({chain:T,memo:q,msgs:X.map(ly)});return{signature:_X(R),bodyBytes:I}}}function NX({prefix:T,rpcUrl:f}){return async function L(y,X,x,Z,J){let{encodeSecp256k1Pubkey:Q,pubkeyToAddress:q}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:z}=(await import("@cosmjs/stargate")).default,{sequence:B,fee:M}=JSON.parse(y),H=await $1(x,Z),G=X.map((S)=>[q(Q($y.base64.decode(S.pubKey)),T),$y.base64.decode(S.signature)]),R=await Iy(f),{transactionHash:I}=await R.broadcastTx(z(H,B,M,J,new Map(G)));return I}}async function $1(T,f,L=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:X}=(await import("@cosmjs/amino")).default;return y(T.map((x)=>X($y.base64.decode(x))),f,L)}function DX(T){return $y.base64.decode(T)}async function IX({privateKey:T,message:f}){let{Secp256k1:L}=(await import("@cosmjs/crypto")).default,y=await L.createSignature($y.base64.decode(f),T);return $y.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function p5({chain:T,...f}){let L=p.SKConfig.get("nodeUrls")[T],y=p.SKConfig.get("rpcUrls")[T],{isStagenet:X}=p.SKConfig.get("envs"),x=T===p.Chain.THORChain,Z=`${X?"s":""}${p.CosmosChainPrefixes[T]}`,J="index"in f?f.index||0:0,Q="derivationPath"in f&&f.derivationPath?f.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[T],{index:J}),q=await NT({chain:T,...f}),z=await DT.match(f).with({phrase:DT.P.string},({phrase:G})=>q.getSignerFromPhrase({phrase:G,derivationPath:Q})).with({signer:DT.P.any},({signer:G})=>G).otherwise(()=>{return}),B=Dy(T);async function M(){let G,R=`${L}/${x?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:I}}=await p.RequestClient.get(R);if(!I||Number.isNaN(I)||I<0)throw new p.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:I.toString()});G=new p.SwapKitNumber(I)}catch{G=new p.SwapKitNumber({value:x?0.02:1,decimal:p.BaseDecimal[T]})}return{[p.FeeOption.Average]:G,[p.FeeOption.Fast]:G,[p.FeeOption.Fastest]:G}}async function H({assetValue:G,memo:R="",recipient:I}){let{TxRaw:S}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),b=(await z?.getAccounts())?.[0]?.address;if(!(b&&z))throw new p.SwapKitError("toolbox_cosmos_no_signer");let d="signAmino"in z,c=await ny(),s=await vy(T),r=await UT(y,z,{registry:c,aminoTypes:s}),xy=tT({assetValue:G,sender:b,recipient:I,memo:R});if(d){let w=await Py(xy,T),{signatures:V,authInfoBytes:v}=await r.sign(b,[w],B,R),A=S.encode({signatures:V,authInfoBytes:v,bodyBytes:await _T({chain:T,msgs:[xy].map(ly),memo:R})}).finish();return(await r.broadcastTx(A)).transactionHash}let E=ly(xy),Y=await Py(E,T);return(await r.signAndBroadcast(b,[Y],B,R)).transactionHash}return{...q,broadcastMultisigTx:NX({prefix:Z,rpcUrl:y}),buildAminoMsg:tT,buildEncodedTxBody:_T,convertToSignable:Py,createDefaultAminoTypes:()=>vy(T),createDefaultRegistry:ny,createMultisig:$1,createTransaction:u5(y),deposit:H,getFees:M,importSignature:DX,parseAminoMessageForDirectSigning:ly,secp256k1HdWalletFromMnemonic:YX({derivationPath:p.derivationPathToString(Q),prefix:Z}),signMultisigTx:RX(T),signWithPrivateKey:IX,transfer:H,pubkeyToAddress:async(G)=>{let{pubkeyToAddress:R}=(await import("@cosmjs/amino")).default;return R(G,Z)}}}var $y,p,DT;var o5=l(()=>{$y=require("@scure/base"),p=require("@swapkit/helpers"),DT=require("ts-pattern");b5();YT();dT()});var Fy,OX=(T,f)=>{switch(T){case Fy.Chain.Cosmos:case Fy.Chain.Kujira:case Fy.Chain.Noble:return NT({chain:T,...f});case Fy.Chain.Maya:case Fy.Chain.THORChain:return p5({chain:T,...f});default:throw new Fy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var F1=l(()=>{Fy=require("@swapkit/helpers");dT();o5();dT();o5()});var iT={};qy(iT,{verifySignature:()=>P1,transferMsgAmino:()=>A5,toBase64:()=>XX,parseAminoMessageForDirectSigning:()=>ly,getSignerFromPrivateKey:()=>qX,getSignerFromPhrase:()=>j5,getRPC:()=>U1,getMsgSendDenom:()=>Ey,getFeeRateFromThorswap:()=>zX,getFeeRateFromSwapKit:()=>l1,getDenomWithChain:()=>HT,getDefaultChainFee:()=>Dy,getCreateTransaction:()=>u5,getCosmosToolbox:()=>OX,getAssetFromDenom:()=>F5,fromBase64:()=>xX,fetchFeeRateFromSwapKit:()=>n5,estimateTransactionFee:()=>BX,depositMsgAmino:()=>S5,createThorchainToolbox:()=>p5,createStargateClient:()=>Iy,createSigningStargateClient:()=>UT,createOfflineStargateClient:()=>V5,createDefaultRegistry:()=>ny,createDefaultAminoTypes:()=>vy,createCosmosToolbox:()=>NT,cosmosValidateAddress:()=>MX,cosmosCreateTransaction:()=>$5,convertToSignable:()=>Py,buildTransferTx:()=>D1,buildEncodedTxBody:()=>_T,buildDepositTx:()=>I1,buildAminoMsg:()=>tT,bech32ToBase64:()=>GT,base64ToBech32:()=>WT,YUM_KUJIRA_FACTORY_DENOM:()=>B1,USK_KUJIRA_FACTORY_DENOM:()=>l5,THORCHAIN_GAS_VALUE:()=>JX,MAYA_GAS_VALUE:()=>QX,DEFAULT_NOBLE_FEE_MAINNET:()=>H1,DEFAULT_KUJI_FEE_MAINNET:()=>W1,DEFAULT_COSMOS_FEE_MAINNET:()=>G1});module.exports=_y(iT);var rT=l(()=>{b5();F1();YT()});function A1(){function T(){let f=Date.now(),L=m5||f;return m5=L,f>m5?f:L+1}return kX+T().toString(36)}function sT(T){return async function f(L,y=!0){return(await K1.SwapKitApi.getChainBalance({chain:T,address:L,scamFilter:y})).map(({identifier:x,value:Z,decimal:J})=>{return new aT.AssetValue({decimal:J||aT.BaseDecimal[T],value:Z,identifier:x})})}}var aT,K1,kX,m5=0;var eT=l(()=>{aT=require("@swapkit/helpers"),K1=require("@swapkit/helpers/api"),kX=typeof process!=="undefined"&&process.pid?process.pid.toString(36):""});function IT(T){let f=y5.SKConfig.get("apis")[T];if(f)return y5.warnOnce(!0,"Using custom EVM API. Be sure to implement all methods to avoid issues."),f;return CX(T)}function wX(T){return T}function CX(T){return{getBalance:sT(T)}}var y5;var T5=l(()=>{y5=require("@swapkit/helpers");eT()});function ay({chain:T=W.Chain.Ethereum,provider:f,signer:L,isEIP1559Compatible:y=!0}){return{getAddress:()=>{return L?L.getAddress():void 0},estimateTransactionFee:r5({provider:f,isEIP1559Compatible:y,chain:T}),call:i5({provider:f,signer:L,isEIP1559Compatible:y,chain:T}),estimateCall:j1({provider:f,signer:L}),EIP1193SendTransaction:ey(f),approve:lX({provider:f,signer:L,isEIP1559Compatible:y,chain:T}),approvedAmount:b1({provider:f,chain:T}),broadcastTransaction:f.broadcastTransaction,createApprovalTx:KX({provider:f,signer:L,chain:T}),createContract:t5({provider:f,chain:T}),createContractTxObject:py({provider:f,chain:T}),createTransferTx:c5({provider:f,signer:L,chain:T}),createTransaction:c5({provider:f,signer:L,chain:T}),estimateGasLimit:$X({provider:f,signer:L,chain:T}),estimateGasPrices:Ky({chain:T,provider:f,isEIP1559Compatible:y}),isApproved:PX({provider:f,chain:T}),sendTransaction:h1({provider:f,signer:L,isEIP1559Compatible:y,chain:T}),signMessage:L?.signMessage,transfer:VX({provider:f,signer:L,isEIP1559Compatible:y,chain:T}),validateAddress:(X)=>g5({address:X})}}function g5({address:T}){try{return Zy.getAddress(T),!0}catch(f){return!1}}function sy(T){return T instanceof Zy.BrowserProvider}function wT(T,f,L){return new Zy.Contract(T,Zy.Interface.from(f),L)}function t5({provider:T}){return function f(L,y){return new Zy.Contract(L,Zy.Interface.from(y),T)}}function d5({abi:T,funcName:f}){let L=T.find((y)=>y.name===f);if(!L)throw new W.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:f});return L.stateMutability&&EX.includes(L.stateMutability)}function S1(T){return Zy.getAddress(T)}function ey(T){return function f({value:L,...y}){if(!sy(T))throw new W.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");return T.send("eth_sendTransaction",[{value:OT(BigInt(L||0)),...y}])}}function u1(T,f){let L=yT(T,f);if(L)return Zy.getAddress(L.toLowerCase());throw new W.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function yT({chain:T,symbol:f,ticker:L},y){try{let X=T===W.Chain.BinanceSmartChain&&f==="BNB"&&L==="BNB",x=T===y&&f===y&&L===y,Z=[W.Chain.Arbitrum,W.Chain.Aurora,W.Chain.Base,W.Chain.Optimism].includes(T)&&f==="ETH"&&L==="ETH";if(x||X||Z)return vX[y];return Zy.getAddress(f.slice(L.length+1).replace(/^0X/,""))}catch(X){return null}}function py({provider:T}){return async({contractAddress:f,abi:L,funcName:y,funcParams:X=[],txOverrides:x})=>wT(f,L,T).getFunction(y).populateTransaction(...X.concat(x).filter((Z)=>typeof Z!=="undefined"))}function Ky({chain:T,provider:f,isEIP1559Compatible:L=!0}){if(T===W.Chain.Arbitrum)return async function y(){try{let{gasPrice:X}=await f.getFeeData();if(!X)throw new W.SwapKitError("toolbox_evm_no_fee_data");return{[W.FeeOption.Average]:{gasPrice:X},[W.FeeOption.Fast]:{gasPrice:X},[W.FeeOption.Fastest]:{gasPrice:X}}}catch(X){throw new W.SwapKitError("toolbox_evm_gas_estimation_error",{error:X.msg??X.toString()})}};if(T===W.Chain.Optimism)return async function y(){try{let{maxFeePerGas:X,maxPriorityFeePerGas:x,gasPrice:Z}=await f.getFeeData(),J=ET(f)(),Q=Z;if(!(X&&x))throw new W.SwapKitError("toolbox_evm_no_fee_data");return{[W.FeeOption.Average]:{l1GasPrice:J,gasPrice:Q,maxFeePerGas:X,maxPriorityFeePerGas:x},[W.FeeOption.Fast]:{l1GasPrice:W.applyFeeMultiplierToBigInt(J||0n,W.FeeOption.Fast),gasPrice:W.applyFeeMultiplierToBigInt(Q,W.FeeOption.Fast),maxFeePerGas:X,maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(x,W.FeeOption.Fast)},[W.FeeOption.Fastest]:{l1GasPrice:W.applyFeeMultiplierToBigInt(J||0n,W.FeeOption.Fastest),gasPrice:W.applyFeeMultiplierToBigInt(Q,W.FeeOption.Fastest),maxFeePerGas:X,maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(x,W.FeeOption.Fastest)}}}catch(X){throw new W.SwapKitError("toolbox_evm_gas_estimation_error",{error:X.msg??X.toString()})}};return async function y(){try{let{maxFeePerGas:X,maxPriorityFeePerGas:x,gasPrice:Z}=await f.getFeeData();if(L){if(X===null||x===null)throw new W.SwapKitError("toolbox_evm_no_fee_data");return{[W.FeeOption.Average]:{maxFeePerGas:X,maxPriorityFeePerGas:x},[W.FeeOption.Fast]:{maxFeePerGas:W.applyFeeMultiplierToBigInt(X,W.FeeOption.Fast),maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(x,W.FeeOption.Fast)},[W.FeeOption.Fastest]:{maxFeePerGas:W.applyFeeMultiplierToBigInt(X,W.FeeOption.Fastest),maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(x,W.FeeOption.Fastest)}}}if(!Z)throw new W.SwapKitError("toolbox_evm_no_gas_price");return{[W.FeeOption.Average]:{gasPrice:Z},[W.FeeOption.Fast]:{gasPrice:W.applyFeeMultiplierToBigInt(Z,W.FeeOption.Fast)},[W.FeeOption.Fastest]:{gasPrice:W.applyFeeMultiplierToBigInt(Z,W.FeeOption.Fastest)}}}catch(X){throw new W.SwapKitError("toolbox_evm_gas_estimation_error",{error:X.msg??X.toString()})}}}function i5({provider:T,isEIP1559Compatible:f,signer:L,chain:y}){return async function X({callProvider:x,contractAddress:Z,abi:J,funcName:Q,funcParams:q=[],txOverrides:z={},feeOption:B=W.FeeOption.Fast}){let M=x||T;if(!Z)throw new W.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let H=d5({abi:J,funcName:Q});if(H&&sy(M)&&L){let I=py({provider:M,chain:y}),S=z?.from||await L?.getAddress(),b=await I({contractAddress:Z,abi:J,funcName:Q,funcParams:q,txOverrides:{...z,from:S}});return ey(M)(b)}let G=wT(Z,J,M);if(H){if(!L)throw new W.SwapKitError("toolbox_evm_no_signer");let I=z?.from||await L.getAddress();if(!I)throw new W.SwapKitError("toolbox_evm_no_signer_address");let S=G.connect(L),b=Ky({provider:T,isEIP1559Compatible:f,chain:y}),{maxFeePerGas:d,maxPriorityFeePerGas:c,gasPrice:s}=(await b())[B],r=await G.getFunction(Q).estimateGas(...q,z),xy=await S[Q](...q,{...z,gasLimit:r,maxFeePerGas:d,maxPriorityFeePerGas:c,gasPrice:s,nonce:z?.nonce||await M.getTransactionCount(I)});return typeof xy?.hash==="string"?xy?.hash:xy}let R=await G[Q]?.(...q);return typeof R?.hash==="string"?R?.hash:R}}function b1({provider:T,chain:f}){return function L({assetAddress:y,spenderAddress:X,from:x}){return i5({provider:T,isEIP1559Compatible:!0,chain:f})({contractAddress:y,abi:ry.erc20ABI,funcName:"allowance",funcParams:[x,X]})}}function PX({provider:T,chain:f}){return async function L({assetAddress:y,spenderAddress:X,from:x,amount:Z=kT}){let J=await b1({provider:T,chain:f})({assetAddress:y,spenderAddress:X,from:x});return W.SwapKitNumber.fromBigInt(J).gte(W.SwapKitNumber.fromBigInt(BigInt(Z)))}}function lX({signer:T,isEIP1559Compatible:f=!0,provider:L,chain:y}){return async function X({assetAddress:x,spenderAddress:Z,feeOptionKey:J=W.FeeOption.Fast,amount:Q,gasLimitFallback:q,from:z,nonce:B}){let M=[Z,BigInt(Q||kT)],H=await T?.getAddress()||z,G={contractAddress:x,abi:ry.erc20ABI,funcName:"approve",funcParams:M,signer:T,txOverrides:{from:H}};if(sy(L)){let I=py({provider:L,chain:y}),S=ey(L),b=await I(G);return S(b)}return i5({provider:L,isEIP1559Compatible:f,signer:T,chain:y})({...G,funcParams:M,txOverrides:{from:H,nonce:B,gasLimit:q?BigInt(q.toString()):void 0},feeOption:J})}}function VX({signer:T,isEIP1559Compatible:f=!0,provider:L}){return async function y({assetValue:X,memo:x,recipient:Z,feeOptionKey:J=W.FeeOption.Fast,sender:Q,...q}){let{hexlify:z,toUtf8Bytes:B}=await import("ethers"),M=X.getBaseValue("bigint"),H=X.chain,G=Q||await T?.getAddress(),R=h1({provider:L,signer:T,isEIP1559Compatible:f,chain:H});if(!G)throw new W.SwapKitError("toolbox_evm_no_from_address");if(X.isGasAsset){let s={...q,from:G,to:Z,value:M,data:z(B(x||"")),feeOptionKey:J};return R(s)}if(!yT(X,H))throw new W.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:S,maxPriorityFeePerGas:b,gasPrice:d}=(await Ky({provider:L,isEIP1559Compatible:f,chain:H})())[J],c=await c5({provider:L,signer:T,chain:H})({assetValue:X,memo:x,recipient:Z,data:z(B(x||"")),sender:G,maxFeePerGas:S,maxPriorityFeePerGas:b,gasPrice:d});return R(c)}}function j1({provider:T,signer:f}){return function L({contractAddress:y,abi:X,funcName:x,funcParams:Z=[],txOverrides:J}){if(!y)throw new W.SwapKitError("toolbox_evm_no_contract_address");let Q=wT(y,X,T);return f?Q.connect(f).getFunction(x).estimateGas(...Z,J):Q.getFunction(x).estimateGas(...Z,J)}}function $X({provider:T,signer:f}){return async function L({assetValue:y,recipient:X,memo:x,data:Z,sender:J,funcName:Q,funcParams:q,txOverrides:z}){let B=y.bigIntValue,M=y.isGasAsset?null:yT(y,y.chain);if(M&&Q)return j1({provider:T,signer:f})({contractAddress:M,abi:ry.erc20ABI,funcName:Q,funcParams:q,txOverrides:z});let{hexlify:H,toUtf8Bytes:G}=await import("ethers");return T.estimateGas({from:J,to:X,value:B,data:Z?Z:x?H(G(x)):void 0})}}function h1({provider:T,signer:f,isEIP1559Compatible:L=!0,chain:y}){return async function X({feeOptionKey:x=W.FeeOption.Fast,...Z}){let{from:J,to:Q,data:q,value:z,...B}=Z;if(!f)throw new W.SwapKitError("toolbox_evm_no_signer");if(!Q)throw new W.SwapKitError("toolbox_evm_no_to_address");let M={...B,data:q||"0x",to:Q,from:J,value:BigInt(z||0)};if(sy(T))return ey(T)(M);let H=J||await f.getAddress(),G=Z.nonce||await T.getTransactionCount(H),R=(await T.getNetwork()).chainId,I=FX(M)||L,S=Ky({provider:T,isEIP1559Compatible:L,chain:y}),b=I&&!(M.maxFeePerGas&&M.maxPriorityFeePerGas)||!M.gasPrice?Object.entries((await S())[x]).reduce((c,[s,r])=>({...c,[s]:OT(BigInt(r))}),{}):{},d;try{d=OT(M.gasLimit||await T.estimateGas(M)*11n/10n)}catch(c){throw new W.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:c})}try{let c={...M,chainId:R,type:I?2:0,gasLimit:d,nonce:G,...b};try{return(await f.sendTransaction(c)).hash}catch(s){let r=await f.signTransaction({...c,from:H});return(await T.broadcastTransaction(r)).hash}}catch(c){throw new W.SwapKitError("toolbox_evm_error_sending_transaction",{error:c})}}}function c5({provider:T,signer:f}){return async function L({assetValue:y,memo:X,recipient:x,data:Z,sender:J,maxFeePerGas:Q,maxPriorityFeePerGas:q,gasPrice:z,...B}){let M=y.getBaseValue("bigint"),H=y.chain,G=J||await f?.getAddress();if(!G)throw new W.SwapKitError("toolbox_evm_no_from_address");if(W.isGasAsset(y)){let{hexlify:S,toUtf8Bytes:b}=await import("ethers");return{...B,from:G,to:x,value:M,data:Z||S(b(X||""))}}let R=yT(y,H);if(!R)throw new W.SwapKitError("toolbox_evm_no_contract_address");return py({provider:T,chain:y.chain})({contractAddress:R,abi:ry.erc20ABI,funcName:"transfer",funcParams:[x,M],txOverrides:{from:G,maxFeePerGas:Q,maxPriorityFeePerGas:q,gasPrice:z}})}}function KX({provider:T,signer:f,chain:L}){return async function y({assetAddress:X,spenderAddress:x,amount:Z,from:J}){let Q=await f?.getAddress()||J,q=py({provider:T,chain:L}),z=["bigint","number"].includes(typeof Z)?Z:Z||kT;return await q({contractAddress:X,abi:ry.erc20ABI,funcName:"approve",funcParams:[x,BigInt(z)],txOverrides:{from:Q}})}}var W,ry,Zy,kT,EX,vX,FX=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var CT=l(()=>{W=require("@swapkit/helpers"),ry=require("@swapkit/helpers/contracts"),Zy=require("ethers");a5();kT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");EX=["payable","nonpayable"];vX={[W.Chain.Arbitrum]:W.ContractAddress.ARB,[W.Chain.Aurora]:W.ContractAddress.AURORA,[W.Chain.Avalanche]:W.ContractAddress.AVAX,[W.Chain.Base]:W.ContractAddress.BASE,[W.Chain.Berachain]:W.ContractAddress.BERA,[W.Chain.BinanceSmartChain]:W.ContractAddress.BSC,[W.Chain.Ethereum]:W.ContractAddress.ETH,[W.Chain.Gnosis]:W.ContractAddress.GNO,[W.Chain.Optimism]:W.ContractAddress.OP,[W.Chain.Polygon]:W.ContractAddress.MATIC}});var n1;var p1=l(()=>{n1=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});async function f5({provider:T,...f}){let L=await Oy(Xy.Chain.Ethereum)({provider:T,...f});async function y(X,x="0x5ba1e12693dc8f9c48aad8770482f4739beed696",Z="aggregate",J=Xy.FeeOption.Fast){let Q=await L.createContractTxObject({contractAddress:x,abi:n1,funcName:Z,funcParams:[X]});return L.sendTransaction({...Q,feeOptionKey:J})}return{...L,multicall:y}}function Oy(T){return async function f({provider:L,...y}){let X=Xy.SKConfig.get("rpcUrls")[T],x=L||await oy(T,X),Z=y0(T),J=vT.match(y).with({phrase:vT.P.string},({phrase:q})=>o1.HDNodeWallet.fromPhrase(q).connect(x)).with({signer:vT.P.any},({signer:q})=>q).otherwise(()=>{return});return{...ay({provider:x,signer:J,isEIP1559Compatible:Z,chain:T}),getNetworkParams:e5(T),getBalance:IT(T).getBalance}}}var Xy,o1,vT,X5,x5,L5,Z5,J5,Q5,q5,z5;var s5=l(()=>{Xy=require("@swapkit/helpers"),o1=require("ethers"),vT=require("ts-pattern");T5();p1();PT();CT();X5=Oy(Xy.Chain.Arbitrum),x5=Oy(Xy.Chain.Aurora),L5=Oy(Xy.Chain.Avalanche),Z5=Oy(Xy.Chain.Base),J5=Oy(Xy.Chain.Berachain),Q5=Oy(Xy.Chain.BinanceSmartChain),q5=Oy(Xy.Chain.Gnosis),z5=Oy(Xy.Chain.Polygon)});var m1;var c1=l(()=>{m1=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function f0(T){return new M5.Contract(AX,m1,T)}function ET(T){return function f(){let L=f0(T);if(L&&"l1BaseFee"in L)return L?.l1BaseFee();return}}function t1(T){return async function f({from:L,to:y,nonce:X,...x}){let{Transaction:Z}=await import("ethers");if(!y)throw new e.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return Z.from({...x,authorizationList:x.authorizationList,to:y,nonce:X?X:L?await T.getTransactionCount(L):0}).serialized}}function d1(T){return async function f(L){let y=f0(T),X=await t1(T)(L);if(y&&"getL1Fee"in y)return y.getL1Fee(X)}}function i1(T){return async function f(L){let y=await T.send("eth_gasPrice",[]),X=await T.estimateGas(L);return y.mul(X)}}function SX(T){return async function f(L){let y=await d1(T)(L),X=await i1(T)(L);return y.add(X)}}function X0(T){return async function f(L){let y=f0(T),X=await t1(T)(L);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(X)}}async function B5({provider:T,...f}){let L=e.Chain.Optimism,y=e.SKConfig.get("rpcUrls")[L],X=T||await oy(L,y),x=g1.match(f).with({phrase:T0.P.string},({phrase:Q})=>M5.HDNodeWallet.fromPhrase(Q).connect(X)).with({signer:T0.P.any},({signer:Q})=>Q).otherwise(()=>{return}),Z=ay({provider:X,signer:x}),J=ET(X);return{...Z,estimateL1Gas:X0(X),estimateL1GasCost:d1(X),estimateL2GasCost:i1(X),estimateTotalGasCost:SX(X),getBalance:IT(e.Chain.Optimism).getBalance,getL1GasPrice:J,getNetworkParams:uX}}var e,M5,T0,g1,AX="0x420000000000000000000000000000000000000f",uX=()=>({chainId:e.ChainId.OptimismHex,chainName:"Optimism",nativeCurrency:{name:"Ethereum",symbol:e.Chain.Ethereum,decimals:e.BaseDecimal.ETH},rpcUrls:[e.SKConfig.get("rpcUrls")[e.Chain.Optimism]],blockExplorerUrls:[e.ChainToExplorerUrl[e.Chain.Optimism]]});var x0=l(()=>{e=require("@swapkit/helpers"),M5=require("ethers"),T0=require("ts-pattern"),g1=require("ts-pattern");T5();c1();PT();CT()});var L0={};qy(L0,{toChecksumAddress:()=>S1,isStateChangingCall:()=>d5,isBrowserProvider:()=>sy,getTokenAddress:()=>yT,getL1GasPriceFetcher:()=>ET,getEvmToolbox:()=>r1,getEstimateGasPrices:()=>Ky,getEIP1193SendTransaction:()=>ey,getCreateContractTxObject:()=>py,getCreateContract:()=>t5,getChecksumAddressFromAsset:()=>u1,evmValidateAddress:()=>g5,estimateL1Gas:()=>X0,createContract:()=>wT,OPToolbox:()=>B5,MAX_APPROVAL:()=>kT,MATICToolbox:()=>z5,GNOToolbox:()=>q5,ETHToolbox:()=>f5,BaseEVMToolbox:()=>ay,BSCToolbox:()=>Q5,BERAToolbox:()=>J5,BASEToolbox:()=>Z5,AVAXToolbox:()=>L5,AURORAToolbox:()=>x5,ARBToolbox:()=>X5});async function r1(T,f){let L={...f,provider:f?.provider||await oy(T)};switch(T){case Jy.Chain.Arbitrum:return X5(L);case Jy.Chain.Aurora:return x5(L);case Jy.Chain.Avalanche:return L5(L);case Jy.Chain.Base:return Z5(L);case Jy.Chain.Berachain:return J5(L);case Jy.Chain.BinanceSmartChain:return Q5(L);case Jy.Chain.Gnosis:return q5(L);case Jy.Chain.Optimism:return B5(L);case Jy.Chain.Polygon:return z5(L);case Jy.Chain.Ethereum:return f5(L);default:throw new Jy.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var Jy;var G5=l(()=>{Jy=require("@swapkit/helpers");PT();s5();x0();CT();s5();x0()});async function oy(T,f){let{JsonRpcProvider:L}=await import("ethers");return new L(f||K.SKConfig.get("rpcUrls")[T])}function OT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function r5({provider:T,isEIP1559Compatible:f=!0}){return async function L({feeOption:y=K.FeeOption.Fast,chain:X,...x}){let J=await Ky({provider:T,isEIP1559Compatible:f,chain:X})(),Q=await T.estimateGas(x),q=K.AssetValue.from({chain:X}),{gasPrice:z,maxFeePerGas:B,maxPriorityFeePerGas:M}=J[y];if(!f&&z)return q.set(K.SwapKitNumber.fromBigInt(z*Q,q.decimal));if(B&&M){let H=(B+M)*Q;return q.set(K.SwapKitNumber.fromBigInt(H,q.decimal))}throw new K.SwapKitError("toolbox_evm_no_gas_price")}}function e5(T){return()=>K.Chain.Ethereum===T?void 0:{...jX({chain:T}),chainId:K.ChainToHexChainId[T],rpcUrls:[K.SKConfig.get("rpcUrls")[T]],blockExplorerUrls:[K.ChainToExplorerUrl[T]]}}function y0(T){return![K.Chain.Arbitrum,K.Chain.BinanceSmartChain].includes(T)}function jX({chain:T}){let f=K.BaseDecimal[T];switch(T){case K.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{name:"Ethereum",symbol:K.Chain.Ethereum,decimals:f}};case K.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{name:"Ethereum",symbol:K.Chain.Ethereum,decimals:f}};case K.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{name:"Avalanche",symbol:T,decimals:f}};case K.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{name:"Ethereum",symbol:K.Chain.Ethereum,decimals:f}};case K.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{name:"Berachain",symbol:"BERA",decimals:f}};case K.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{name:"Binance Coin",symbol:"BNB",decimals:f}};case K.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{name:"xDAI",symbol:"XDAI",decimals:f}};case K.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{name:"Ethereum",symbol:K.Chain.Ethereum,decimals:f}};case K.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{name:"Polygon",symbol:K.Chain.Polygon,decimals:f}};default:throw new K.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var K,bX=async({from:T,memo:f="",feeOptionKey:L=K.FeeOption.Fastest,assetValue:y,abi:X,funcName:x,funcParams:Z,contractAddress:J,txOverrides:Q})=>{let{getEvmToolbox:q}=await Promise.resolve().then(() => (G5(),L0)),z=await q(y.chain),M=(await z.getBalance(T)).find(({symbol:c,chain:s})=>y?c===y.symbol:c===K.AssetValue.from({chain:s})?.symbol),H=(await z.estimateGasPrices())[L];if(!M)return K.AssetValue.from({chain:y.chain});if(y&&(M.chain!==y.chain||M.symbol!==y?.symbol))return M;let G=X&&x&&Z&&J?await z.estimateCall({contractAddress:J,abi:X,funcName:x,funcParams:Z,txOverrides:Q}):await z.estimateGasLimit({sender:T,recipient:T,memo:f,assetValue:y}),R="maxFeePerGas"in H,I="gasPrice"in H&&H.gasPrice!==void 0;if(!(H&&(I||R)))throw new K.SwapKitError("toolbox_evm_no_fee_data");let S=R?(H.maxFeePerGas||1n)+(H.maxPriorityFeePerGas||1n):H.gasPrice||1n,b=G*S,d=K.SwapKitNumber.fromBigInt(M.getBaseValue("bigint")).sub(b.toString());return K.AssetValue.from({chain:M.chain,value:d.getValue("string")})};var PT=l(()=>{K=require("@swapkit/helpers");CT()});var a1;var s1=l(()=>{((L)=>{L.Test="goerli";L.Main="homestead"})(a1||={})});var e1={};qy(e1,{toHexString:()=>OT,toChecksumAddress:()=>S1,isStateChangingCall:()=>d5,isBrowserProvider:()=>sy,getTokenAddress:()=>yT,getProvider:()=>oy,getNetworkParams:()=>e5,getL1GasPriceFetcher:()=>ET,getIsEIP1559Compatible:()=>y0,getEvmToolbox:()=>r1,getEvmApi:()=>IT,getEstimateTransactionFee:()=>r5,getEstimateGasPrices:()=>Ky,getEIP1193SendTransaction:()=>ey,getCreateContractTxObject:()=>py,getCreateContract:()=>t5,getChecksumAddressFromAsset:()=>u1,evmValidateAddress:()=>g5,estimateMaxSendableAmount:()=>bX,estimateL1Gas:()=>X0,createCustomEvmApi:()=>wX,createContract:()=>wT,OPToolbox:()=>B5,MAX_APPROVAL:()=>kT,MATICToolbox:()=>z5,GNOToolbox:()=>q5,EthNetwork:()=>a1,ETHToolbox:()=>f5,BaseEVMToolbox:()=>ay,BSCToolbox:()=>Q5,BERAToolbox:()=>J5,BASEToolbox:()=>Z5,AVAXToolbox:()=>L5,AURORAToolbox:()=>x5,ARBToolbox:()=>X5});module.exports=_y(e1);var a5=l(()=>{T5();PT();s1();G5()});async function hX(T,f,L){try{let y=await T.query.system?.account?.(L);if(!y)return[f.set(0)];let{data:{free:X}}=y,x=my.SwapKitNumber.fromBigInt(BigInt(X.toString()),f.decimal).getValue("string");return[f.set(x)]}catch(y){return console.error("Error fetching substrate balance:",y),[f.set(0)]}}async function nX(T,f,L){try{let y=await T.query.flip?.account?.(L);if(!y)return[f.set(0)];let X=y.balance||y.data?.balance;if(!X||X.isEmpty)return[f.set(0)];let x=my.SwapKitNumber.fromBigInt(BigInt(X.toString()),f.decimal).getValue("string");return[f.set(x)]}catch(y){return console.error("Error fetching chainflip balance:",y),[f.set(0)]}}function yf(T,f){return function L(y){let X=my.AssetValue.from({chain:T});switch(T){case my.Chain.Chainflip:return nX(f,X,y);default:return hX(f,X,y)}}}var my;var Tf=l(()=>{my=require("@swapkit/helpers")});var pX,oX,mX,Ay;var Z0=l(()=>{pX={prefix:0,network:"polkadot",displayName:"Polkadot Relay Chain",symbols:["DOT"],decimals:[10],standardAccount:"*25519",website:"https://polkadot.network"},oX={prefix:2112,network:"chainflip",displayName:"Chainflip",symbols:["FLIP"],decimals:[18],standardAccount:"*25519",website:"https://chainflip.io/"},mX={prefix:42,network:"substrate",displayName:"Substrate",symbols:[],decimals:[],standardAccount:"*25519",website:"https://substrate.io/"},Ay={DOT:pX,FLIP:oX,GENERIC:mX}});function cX(T,f){switch(T){case t.Chain.Chainflip:return Xf(f);case t.Chain.Polkadot:return ff(f);default:throw new t.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function TT(T){return"address"in T}async function Q0(T,f){let{Keyring:L}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new L({type:"sr25519",ss58Format:f}).addFromUri(T)}function sX(T,f){let L=XT.decodeAddress(T);return XT.encodeAddress(L,f)}function xf(T,f){return fT.isHex(T)?fT.hexToU8a(T):XT.decodeAddress(T,void 0,f)}function Lf(T,f="ss58",L){if(f==="hex")return fT.u8aToHex(T);return XT.encodeAddress(T,L)}async function M0({generic:T,chain:f,...L}){let{ApiPromise:y,WsProvider:X}=await import("@polkadot/api"),x=new X(t.SKConfig.get("rpcUrls")[f]),Z=await y.create({provider:x}),J=t.AssetValue.from({chain:f}),Q=T?Ay.GENERIC:Ay[f],q=await lT.match(L).with({phrase:lT.P.string},({phrase:z})=>Q0(z,Ay[f].prefix)).with({signer:lT.P.any},({signer:z})=>z).otherwise(()=>{return});return Zf({api:Z,signer:q,gasAsset:J,network:Q,chain:f})}var fT,XT,t,lT,ff=({generic:T=!1,...f}={})=>{return M0({chain:t.Chain.Polkadot,generic:T,...f})},Xf=async({generic:T=!1,...f}={})=>{return{...await M0({chain:t.Chain.Chainflip,generic:T,...f})}},q0=(T,f)=>T.rpc.system.accountNextIndex(f),J0=(T,f)=>{try{let L=xf(T,f);return Lf(L,"ss58",f),!0}catch(L){return!1}},z0=(T,{recipient:f,assetValue:L})=>T.tx.balances?.transferAllowDeath?.(f,L.getBaseValue("number")),gX=async(T,f,{recipient:L,assetValue:y,sender:X})=>{let x=z0(T,{recipient:L,assetValue:y}),Z=TT(f);if(!x)return;let J=Z?f.address:X;if(!J)throw new t.SwapKitError("core_transaction_invalid_sender_address");let Q=await q0(T,J);return(await x.signAndSend(Z?f:J,{signer:Z?void 0:f,nonce:Q}))?.toString()},tX=async(T,f,L,{recipient:y,assetValue:X,sender:x})=>{let Z=z0(T,{recipient:y,assetValue:X}),J=TT(f)?f.address:x;if(!J)return;let Q=await Z?.paymentInfo(J,{nonce:await q0(T,J)})||{partialFee:0};return L.set(t.SwapKitNumber.fromBigInt(BigInt(Q.partialFee.toString()),L.decimal).getValue("string"))},dX=async(T,f)=>{if(f)return T.send(f);return(await T.send()).toString()},iX=async(T,f)=>{return await f.signAsync(T)},rX=(T,f,L)=>{if(L)return f.signAndSend(T,L);return f.signAndSend(T).toString()},aX=async({signer:T,address:f,tx:L,callback:y,api:X})=>{let x=await q0(X,f);if(y)L.signAndSend(f,{nonce:x,signer:T},y);return L.signAndSend(f,{nonce:x,signer:T}).toString()},Zf=({api:T,network:f,gasAsset:L,signer:y,chain:X})=>({api:T,network:f,gasAsset:L,decodeAddress:xf,encodeAddress:Lf,convertAddress:sX,getBalance:yf(X||t.Chain.Polkadot,T),createKeyring:(x)=>Q0(x,f.prefix),getAddress:(x)=>{let Z=x||y;if(!Z)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return TT(Z)?Z.address:void 0},createTransaction:(x)=>z0(T,x),validateAddress:(x)=>J0(x,f.prefix),transfer:(x)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return gX(T,y,x)},estimateTransactionFee:(x)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return tX(T,y,L,x)},sign:(x)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");if(TT(y))return iX(y,x);throw new t.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},broadcast:dX,signAndBroadcast:({tx:x,callback:Z,address:J})=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");if(TT(y))return rX(y,x,Z);if(J)return aX({signer:y,address:J,tx:x,callback:Z,api:T});throw new t.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")}}),eX=({address:T,chain:f})=>{let{prefix:L}=f===t.Chain.Polkadot?Ay.DOT:Ay.FLIP;return J0(T,L)||J0(T,Ay.GENERIC.prefix)};var Jf=l(()=>{fT=require("@polkadot/util"),XT=require("@polkadot/util-crypto"),t=require("@swapkit/helpers"),lT=require("ts-pattern");Tf();Z0()});var B0={};qy(B0,{substrateValidateAddress:()=>eX,isKeyringPair:()=>TT,getSubstrateToolbox:()=>cX,createSubstrateToolbox:()=>M0,createKeyring:()=>Q0,SubstrateNetwork:()=>Ay,PolkadotToolbox:()=>ff,ChainflipToolbox:()=>Xf,BaseSubstrateToolbox:()=>Zf});module.exports=_y(B0);var G0=l(()=>{Jf();Z0()});async function y2({chain:T,txHash:f}){let L=j.SKConfig.get("rpcUrls")[T],y=JSON.stringify({jsonrpc:"2.0",method:"sendrawtransaction",params:[f],id:A1()}),X=await j.RequestClient.post(L,{headers:{"Content-Type":"application/json"},body:y});if(X.error)throw new j.SwapKitError("toolbox_utxo_broadcast_failed",{error:X.error?.message});if(X.result.includes('"code":-26'))throw new j.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return X.result}function W0(T){return`https://api.blockchair.com/${T2(T)}`}function Qf(T){switch(T){case j.Chain.Bitcoin:return 5;case j.Chain.Dogecoin:return 1e4;case j.Chain.Litecoin:return 1;case j.Chain.Zcash:return 1;default:return 2}}function T2(T){switch(T){case j.Chain.BitcoinCash:return"bitcoin-cash";case j.Chain.Litecoin:return"litecoin";case j.Chain.Dash:return"dash";case j.Chain.Dogecoin:return"dogecoin";case j.Chain.Zcash:return"zcash";case j.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function f2(T){try{let{feePerKb:f}=await j.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),L=f/1000;return Math.max(L,Qf(T))}catch(f){return Qf(T)}}async function H0(T,f){let L=await j.RequestClient.get(`${T}${f?`${T.includes("?")?"&":"?"}key=${f}`:""}`);if(!L||L.context.code!==200)throw new j.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return L.data}async function Mf({address:T,chain:f,apiKey:L}){if(!T)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await H0(`${W0(f)}/dashboards/address/${T}?transaction_details=true`,L))[T]}catch(y){return{utxo:[],address:{balance:0,transaction_count:0}}}}async function X2({address:T,chain:f,apiKey:L}){return(await Mf({address:T,chain:f,apiKey:L}))?.address.balance||0}async function Bf({chain:T,apiKey:f,txHash:L}){if(!L)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await H0(`${W0(T)}/raw/transaction/${L}`,f))?.[L]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function x2({chain:T,address:f,apiKey:L,offset:y=0,limit:X=30}){return(await H0(`${W0(T)}/outputs?q=recipient(${f}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${X}&offset=${y}`,L)).map(({is_spent:Q,script_hex:q,block_id:z,transaction_hash:B,index:M,value:H,spending_signature_hex:G})=>({hash:B,index:M,value:H,txHex:G,script_hex:q,is_confirmed:z!==-1,is_spent:Q}))}function L2(T){return T.reduce((f,L)=>f+L.value,0)}function qf(T,f){let L=[...T].sort((y,X)=>X.value-y.value);if(f){let y=[],X=0;for(let x of L)if(y.push(x),X+=x.value,X>=f)break;return y}return L}async function Gf({chain:T,address:f,apiKey:L,targetValue:y,accumulativeValue:X=0,offset:x=0,limit:Z=30}){if(!f)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let J=await x2({targetValue:y,chain:T,address:f,apiKey:L,offset:x,limit:Z}),q=J.length<Z,z=J.filter(({is_spent:I})=>!I),B=L2(z),M=X+B,H=y&&M>=y;if(q||H)return qf(z,y);let G=await Gf({chain:T,address:f,apiKey:L,offset:x+Z,limit:Z,accumulativeValue:M,targetValue:y}),R=[...z,...G];return qf(R,y)}catch(J){return console.error("Failed to fetch unspent UTXOs:",J),[]}}async function Z2({address:T,chain:f,apiKey:L,fetchTxHex:y=!0,targetValue:X}){let x=await Gf({chain:f,address:T,apiKey:L,targetValue:X}),Z=[];for(let{hash:J,index:Q,script_hex:q,value:z}of x){let B;if(y)B=await Bf({txHash:J,chain:f,apiKey:L});Z.push({address:T,hash:J,index:Q,txHex:B,value:z,witnessUtxo:{value:z,script:Buffer.from(q,"hex")}})}return Z}function J2(T){let f=j.SKConfig.get("apiKeys").blockchair||"";return j.warnOnce(!f,"No Blockchair API key found. Functionality will be limited."),{broadcastTx:(L)=>y2({txHash:L,chain:T}),getRawTx:(L)=>Bf({txHash:L,chain:T,apiKey:f}),getSuggestedTxFee:()=>f2(T),getBalance:(L)=>X2({address:L,chain:T,apiKey:f}),getAddressData:(L)=>Mf({address:L,chain:T,apiKey:f}),getUtxos:(L)=>Z2({...L,chain:T,apiKey:f})}}function Q2(T){return T}function Uy(T){let f=j.SKConfig.get("apis")[T];if(f)return j.warnOnce(!0,"Using custom UTXO API. Be sure to implement all methods to avoid issues."),f;return J2(T)}function By(){return function T(f){switch(f){case j.Chain.Bitcoin:return zf.networks.bitcoin;case j.Chain.BitcoinCash:return xT.default.bitcoincash.main.toBitcoinJS();case j.Chain.Dash:return xT.default.dash.main.toBitcoinJS();case j.Chain.Litecoin:return xT.default.litecoin.main.toBitcoinJS();case j.Chain.Dogecoin:{let L={private:70615956,public:70617039},y=xT.default.dogecoin.test;return y.versions.bip32=L,xT.default.dogecoin.main.toBitcoinJS()}case j.Chain.Zcash:{let{isStagenet:L}=j.SKConfig.get("envs");return L?z2:q2}default:throw new j.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}}var j,zf,xT,q2,z2;var Wf=l(()=>{j=require("@swapkit/helpers"),zf=require("bitcoinjs-lib");eT();xT=U(require("coininfo"));q2={messagePrefix:`\x19Zcash Signed Message:
|
|
2
2
|
`,bech32:"zc",bip32:{public:76067358,private:76066276},pubKeyHash:28,scriptHash:28,wif:128},z2={messagePrefix:`\x19Zcash Signed Message:
|
|
3
|
-
`,bech32:"ztestsapling",bip32:{public:70617039,private:70615956},pubKeyHash:29,scriptHash:28,wif:239}});function N0(T){try{return W5(T),!0}catch(f){return!1}}function D0(T){return W5(T)?.network}function xT(T){let f=W5(T);if(f?.format==="legacy")return T;return G2(f)}function VT(T){let f=W5(T);return W2(f)}function W5(T){try{let f=M2(T);if(f)return f}catch(f){}try{let f=B2(T);if(f)return f}catch(f){}throw new Y0.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function M2(T){try{let f=U0.default.decode(T);if(f.length!==21)throw new Y0.SwapKitError("toolbox_utxo_invalid_address",{address:T});let x=f[0],y=Array.prototype.slice.call(f,1);switch(x){case m.legacy.mainnet.p2pkh:return{hash:y,format:"legacy",network:"mainnet",type:"p2pkh"};case m.legacy.mainnet.p2sh:return{hash:y,format:"legacy",network:"mainnet",type:"p2sh"};case m.legacy.testnet.p2pkh:return{hash:y,format:"legacy",network:"testnet",type:"p2pkh"};case m.legacy.testnet.p2sh:return{hash:y,format:"legacy",network:"testnet",type:"p2sh"};case m.bitpay.mainnet.p2pkh:return{hash:y,format:"bitpay",network:"mainnet",type:"p2pkh"};case m.bitpay.mainnet.p2sh:return{hash:y,format:"bitpay",network:"mainnet",type:"p2sh"};default:return}}catch(f){return}}function B2(T){if(T.indexOf(":")!==-1)try{return Hf(T)}catch(f){}else{let f=["bitcoincash","bchtest","bchreg"];for(let x of f)try{return Hf(`${x}:${T}`)}catch(y){}}return}function Hf(T){try{let{hash:f,prefix:x,type:y}=_0.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(f,0),network:x==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch(f){return}}function G2(T){let f=m.legacy[T.network][T.type],x=Buffer.alloc(1+T.hash.length);return x[0]=f,x.set(T.hash,1),U0.default.encode(x)}function W2(T){let f=T.network==="mainnet"?"bitcoincash":"bchtest",x=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return _0.default.encode(f,x,y)}var Y0,U0,_0,R0,m;var Yf=l(()=>{Y0=require("@swapkit/helpers"),U0=Y(require("bs58check")),_0=Y(require("cashaddrjs"));((x)=>{x.Mainnet="mainnet";x.Testnet="testnet"})(R0||={});m={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});var Ry,H5=(T)=>{switch(T){case Ry.Chain.Bitcoin:case Ry.Chain.BitcoinCash:return 550;case Ry.Chain.Dash:case Ry.Chain.Litecoin:return 5500;case Ry.Chain.Dogecoin:return 1e5;case Ry.Chain.Zcash:return 546;default:throw new Ry.SwapKitError("toolbox_utxo_not_supported",{chain:T})}},uy=({inputs:T,outputs:f,feeRate:x=1,chain:y=Ry.Chain.Bitcoin})=>{let X=Math.ceil(x),L=T[0]&&"address"in T[0]&&T[0].address?FT(T[0].address):"P2PKH",Z=T.filter((M)=>Sy(M)*X<=M.value),J=Y5+f.reduce((M,H)=>M+$T(H,L),0),Q=f.reduce((M,H)=>M+H.value,0),q=J*X,z=0,B=[];for(let M of Z){let H=Sy(M),G=X*H;q+=G,z+=M.value,B.push(M);let R=q+Q;if(z<R)continue;let I=z-R,S=X*$T({address:"",value:0},L);if(I>S){let b=S+q,d=z-(Q+b);if(d>Math.max(Sy({})*X,H5(y)))return{inputs:B,outputs:f.concat({value:d,address:""}),fee:b}}return{inputs:B,outputs:f,fee:q}}return{fee:X*ZT({inputs:T,outputs:f,feeRate:X})}};var Uf=l(()=>{Ry=require("@swapkit/helpers");JT()});function by(T){let f=Buffer.from(T,"utf8");return R5.script.compile([R5.opcodes.OP_RETURN,f])}var _f,R5,H2=1000,Y5=10,Rf=10,Y2=41,U2=107,U5,_5,KT,FT=(T)=>{if(T.startsWith("bc1")||T.startsWith("ltc1"))return"P2WPKH";if(T.startsWith("1")||T.startsWith("3")||T.startsWith("L")||T.startsWith("M")||T.startsWith("X")||T.startsWith("D")||T.startsWith("bitcoincash:q")||T.startsWith("q"))return"P2PKH";throw new _f.SwapKitError("toolbox_utxo_invalid_address",{address:T})},ZT=({inputs:T,outputs:f,feeRate:x})=>{let y=T[0]&&"address"in T[0]&&T[0].address?FT(T[0].address):"P2PKH",X=T.filter((Z)=>Z.value>=_5["type"in Z?Z.type:"P2PKH"]*Math.ceil(x)).reduce((Z,J)=>Z+Sy(J),0),L=f?.reduce((Z,J)=>Z+$T(J),0)||KT[y];return Y5+X+L},Sy=(T)=>{if("type"in T)return _5[T.type];if("address"in T&&T.address)return _5[FT(T.address)];return Y2+U2},$T=(T,f)=>{if(T?.script)return Rf+T.script.length+(T.script.length>=74?2:1);if(f)return KT[f];return KT.P2PKH};var Nf=l(()=>{_f=require("@swapkit/helpers"),R5=require("bitcoinjs-lib");((x)=>{x.P2PKH="P2PKH";x.P2WPKH="P2WPKH"})(U5||={});_5={["P2PKH"]:148,["P2WPKH"]:68},KT={["P2PKH"]:34,["P2WPKH"]:31}});var JT=l(()=>{Wf();Yf();Uf();Nf()});function R2(T,f=!1){let x=kf.hash160(T),y=f?Buffer.from([28,186]):Buffer.from([28,184]),X=Buffer.concat([y,x]);return I0.default.encode(X)}function N5(T){try{if(T.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let f=T.startsWith("t1"),x=T.startsWith("t3");if(!(f||x))return!1;let{isStagenet:y}=yy.SKConfig.get("envs");if(f&&y||x&&!y)return!1;return N2(T,Cf)}catch{return!1}}function N2(T,f){try{let x=I0.default.decode(T);if(x.length<21)return!1;let y=x[0];return y===f.pubKeyHash||y===f.scriptHash}catch{return!1}}async function I2({phrase:T,derivationPathString:f}){let x=Of.mnemonicToSeedSync(T),X=If.HDKey.fromMasterSeed(x).derive(f);if(!X.privateKey)throw new Error("Unable to derive private key");let L=D2.fromPrivateKey(Buffer.from(X.privateKey),{network:Cf}),{isStagenet:Z}=yy.SKConfig.get("envs"),J=R2(L.publicKey,Z);return{getAddress(){return Promise.resolve(J)},signTransaction(Q){for(let q=0;q<Q.inputCount;q++)Q.signInput(q,L);return Promise.resolve(Q)}}}async function O0(T){let f=await QT.match(T).with({signer:QT.P.not(QT.P.nullish)},({signer:J})=>Promise.resolve(J)).with({phrase:QT.P.string},({phrase:J,derivationPath:Q,index:q=0})=>{let z=Q||yy.NetworkDerivationPath[yy.Chain.Zcash]||[44,133,0,0,0],B=yy.updateDerivationPath(z,{index:q}),M=yy.derivationPathToString(B);return I2({phrase:J,derivationPathString:M})}).otherwise(()=>Promise.resolve(void 0)),{getFeeRates:x,broadcastTx:y,...X}=await cy({chain:yy.Chain.Zcash,signer:f});function L(J){return J.getAddress()}async function Z({recipient:J,assetValue:Q,feeOptionKey:q=yy.FeeOption.Fast,...z}){let B=await f?.getAddress();if(!(f&&B))throw new yy.SwapKitError("toolbox_utxo_no_signer");let M=z.feeRate||(await x())[q],H={...z,assetValue:Q,feeRate:M,recipient:J,sender:B},{psbt:G}=await X.createTransaction(H),R=await f.signTransaction(G);R.finalizeAllInputs();let I=R.extractTransaction().toHex();return y(I)}return{...X,broadcastTx:y,getFeeRates:x,transfer:Z,getAddressFromKeys:L,validateAddress:N5}}var Df,If,Of,yy,kf,I0,wf,QT,_2,Cf,D2;var D5=l(()=>{Df=Y(require("@bitcoinerlab/secp256k1")),If=require("@scure/bip32"),Of=require("@scure/bip39"),yy=require("@swapkit/helpers"),kf=require("bitcoinjs-lib/src/crypto"),I0=Y(require("bs58check")),wf=require("ecpair"),QT=require("ts-pattern");JT();AT();_2=yy.Chain.Zcash,Cf=By()(_2);D2=wf.ECPairFactory(Df.default)});function O2({inputs:T,outputs:f,chain:x,psbt:y,sender:X,compiledMemo:L}){for(let Z of T){let J=!!Z.witnessUtxo&&!ST.includes(x)&&{witnessUtxo:Z.witnessUtxo},Q=ST.includes(x)&&{nonWitnessUtxo:Z.txHex?Buffer.from(Z.txHex,"hex"):void 0};y.addInput({hash:Z.hash,index:Z.index,...J,...Q})}for(let Z of f){let J="address"in Z&&Z.address?Z.address:X,Q=Z.script;if(Q&&!L)continue;let q=Q?{script:L,value:0}:{address:J,value:Z.value};Ny.initEccLib(I5.default),y.addOutput(q)}return{psbt:y,inputs:T}}async function Pf({assetValue:T,recipient:f,memo:x,feeRate:y,sender:X,fetchTxHex:L=!1}){let Z=T.chain,J=x?await by(x):null,Q=await $f({assetValue:T,recipient:f,memo:x,sender:X,fetchTxHex:L}),{inputs:q,outputs:z}=uy({...Q,feeRate:y,chain:Z});if(!(q&&z))throw new $.SwapKitError("toolbox_utxo_insufficient_balance",{sender:X,assetValue:T});let B=await By(),M=new Ny.Psbt({network:B(Z)});if(Z===$.Chain.Dogecoin)M.setMaximumFeeRate(650000000);let{psbt:H,inputs:G}=await O2({inputs:q,outputs:z,chain:Z,psbt:M,sender:X,compiledMemo:J});return{psbt:H,utxos:Q.inputs,inputs:G}}async function lf(){let T=await By();return function f({address:x,chain:y}){if(y===$.Chain.BitcoinCash)return gy(x);if(y===$.Chain.Zcash)return N5(x);try{return Ny.initEccLib(I5.default),Ny.address.toOutputScript(x,T(y)),!0}catch(X){return!1}}}async function k2({chain:T,phrase:f,derivationPath:x}){let y=(await uT(T))({phrase:f,derivationPath:x});async function X(Z){return await Z.signAllInputs(y),Z}async function L(){return(await w0(T))(y)}return{getAddress:L,signTransaction:X}}async function cy({chain:T,...f}){let x="phrase"in f?f.phrase:void 0,y="index"in f?f.index||0:0,X=$.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:$.updateDerivationPath($.NetworkDerivationPath[T],{index:y})),L=x?await k2({chain:T,phrase:x,derivationPath:X}):("signer"in f)?f.signer:void 0;function Z(){return Promise.resolve(L?.getAddress())}let J=await w0(T),Q=await lf(),q=await uT(T);return{accumulative:uy,calculateTxSize:ZT,getAddressFromKeys:J,getAddress:Z,validateAddress:(z)=>Q({address:z,chain:T}),broadcastTx:(z)=>Yy(T).broadcastTx(z),createTransaction:Pf,createKeysForPath:q,getFeeRates:()=>bT(T),getInputsOutputsFee:Vf,transfer:E2(L),getPrivateKeyFromMnemonic:(z)=>{return q(z).toWIF()},getBalance:sT(T),estimateTransactionFee:C2(T),estimateMaxSendableAmount:w2(T)}}async function Vf({assetValue:T,feeOptionKey:f=$.FeeOption.Fast,feeRate:x,memo:y,sender:X,recipient:L}){let Z=T.chain,J=await $f({assetValue:T,sender:X,memo:y,recipient:L}),Q=x?Math.floor(x):(await bT(Z))[f];return uy({...J,feeRate:Q,chain:Z})}function w2(T){return async function f({from:x,memo:y,feeRate:X,feeOptionKey:L=$.FeeOption.Fast,recipients:Z=1}){let J=await Yy(T).getAddressData(x),Q=X?Math.ceil(X):(await bT(T))[L],q=J?.utxo.map((G)=>({...G,type:"P2PKH",hash:""})).filter((G)=>G.value>Math.max(H5(T),Sy(G)*Q));if(!q?.length)return $.AssetValue.from({chain:T});let z=$.AssetValue.from({chain:T,value:q.reduce((G,R)=>G+R.value,0)}),B=typeof Z==="number"?Array.from({length:Z},()=>({address:x,value:0})):Z;if(y){let G=await by(y);B.push({address:x,script:G,value:0})}let H=ZT({inputs:q,outputs:B,feeRate:Q})*Q;return z.sub(H)}}function C2(T){return async(f)=>{let x=await Vf(f);return $.AssetValue.from({chain:T,value:$.SwapKitNumber.fromBigInt(BigInt(x.fee),8).getValue("string")})}}async function uT(T){let f=await By();switch(T){case $.Chain.BitcoinCash:return function x({phrase:y,derivationPath:X=`${$.DerivationPath.BCH}/0`,wif:L}){let Z=f(T);if(L)return O5.ECPair.fromWIF(L,Z);if(!y)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return O5.HDNode.fromSeedBuffer(Buffer.from(k0.mnemonicToSeedSync(y)),Z).derivePath(X).keyPair};case $.Chain.Bitcoin:case $.Chain.Dogecoin:case $.Chain.Litecoin:case $.Chain.Zcash:case $.Chain.Dash:return function x({phrase:y,wif:X,derivationPath:L}){if(!(X||y))throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let Z=Ef.ECPairFactory(I5.default),J=f(T);if(X)return Z.fromWIF(X,J);let Q=k0.mnemonicToSeedSync(y),q=vf.HDKey.fromMasterSeed(Q,J).derive(L);if(!q.privateKey)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return Z.fromPrivateKey(Buffer.from(q.privateKey),{network:J})};default:throw new $.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}async function w0(T){let f=await By();return function x(y){if(!y)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let X=ST.includes(T)?Ny.payments.p2pkh:Ny.payments.p2wpkh,{address:L}=X({pubkey:y.publicKey,network:f(T)});if(!L)throw new $.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return L}}function E2(T){return async function f({memo:x,recipient:y,feeOptionKey:X,feeRate:L,assetValue:Z}){let J=await T?.getAddress(),Q=Z.chain;if(!(T&&J))throw new $.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let q=L||(await bT(Q))[X||$.FeeOption.Fast],{psbt:z}=await Pf({recipient:y,feeRate:q,sender:J,assetValue:Z,memo:x}),B=await T.signTransaction(z);return B.finalizeAllInputs(),Yy(Q).broadcastTx(B.extractTransaction().toHex())}}async function bT(T){let f=await Yy(T).getSuggestedTxFee();return{[$.FeeOption.Average]:f,[$.FeeOption.Fast]:$.applyFeeMultiplier(f,$.FeeOption.Fast),[$.FeeOption.Fastest]:$.applyFeeMultiplier(f,$.FeeOption.Fastest)}}async function $f({assetValue:T,recipient:f,memo:x,sender:y,fetchTxHex:X=!1}){let L=T.chain,Z=(await bT(L))[$.FeeOption.Fastest],J=X||ST.includes(L),Q=T.getBaseValue("number"),q=Math.ceil(Q+Z*5000);return{inputs:await Yy(L).getUtxos({address:y,fetchTxHex:J,targetValue:q}),outputs:[{address:f,value:Q},...x?[{address:"",script:await by(x),value:0}]:[]]}}var $,Ny,Ef,I5,O5,vf,k0,ST;var AT=l(()=>{$=require("@swapkit/helpers"),Ny=require("bitcoinjs-lib"),Ef=require("ecpair");eT();JT();jT();I5=Y(require("@bitcoinerlab/secp256k1")),O5=require("@psf/bitcoincashjs-lib"),vf=require("@scure/bip32"),k0=require("@scure/bip39");D5();ST=[$.Chain.Dash,$.Chain.Dogecoin]});function qT(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function gy(T){let f=qT(T);return N0(f)&&D0(f)==="mainnet"}function ty(T){return qT(VT(T))}async function v2(T){async function f({builder:y,utxos:X}){return X.forEach((L,Z)=>{y.sign(Z,T,void 0,65,L.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(ty(y))},signTransaction:f}}async function C0(T){let f="phrase"in T?T.phrase:void 0,x="index"in T?T.index||0:0,y=Ty.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:Ty.updateDerivationPath(Ty.NetworkDerivationPath[Uy],{index:x})),X=f?(await uT(Uy))({phrase:f,derivationPath:y}):void 0,L=X?await v2(X):("signer"in T)?T.signer:void 0;function Z(){return Promise.resolve(L?.getAddress())}let{getBalance:J,getFeeRates:Q,broadcastTx:q,...z}=await cy({chain:Uy});function B(M,H=!0){return J(qT(VT(M)))}return{...z,getAddress:Z,broadcastTx:q,createTransaction:Kf,buildTx:l2,getAddressFromKeys:V2,getBalance:B,getFeeRates:Q,stripPrefix:qT,stripToCashAddress:ty,validateAddress:gy,transfer:P2({getFeeRates:Q,broadcastTx:q,signer:L})}}async function Kf({assetValue:T,recipient:f,memo:x,feeRate:y,sender:X}){if(!gy(f))throw new Ty.SwapKitError("toolbox_utxo_invalid_address",{address:f});let L=Math.ceil(T.getBaseValue("number")+y*7500),Z=await Yy(Uy).getUtxos({address:ty(X),fetchTxHex:!0,targetValue:L}),J=x?await by(x):null,Q=[];Q.push({address:f,value:T.getBaseValue("number")});let{inputs:q,outputs:z}=uy({inputs:Z,outputs:Q,feeRate:y,chain:Uy});if(!(q&&z))throw new Ty.SwapKitError("toolbox_utxo_insufficient_balance",{sender:X,assetValue:T});let B=await By(),M=new zT.TransactionBuilder(B(Uy));await Promise.all(q.map(async(H)=>{let G=await Yy(Uy).getRawTx(H.hash);M.addInput(zT.Transaction.fromBuffer(Buffer.from(G,"hex")),H.index)}));for(let H of z){let G="address"in H&&H.address?H.address:xT(X),R=await By(),I=zT.address.toOutputScript(xT(G),R(Uy));M.addOutput(I,H.value)}if(J)M.addOutput(J,0);return{builder:M,utxos:q}}function P2({broadcastTx:T,getFeeRates:f,signer:x}){return async function y({recipient:X,assetValue:L,feeOptionKey:Z=Ty.FeeOption.Fast,...J}){let Q=await x?.getAddress();if(!(x&&Q))throw new Ty.SwapKitError("toolbox_utxo_no_signer");if(!X)throw new Ty.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let q=J.feeRate||(await f())[Z],{builder:z,utxos:B}=await Kf({...J,assetValue:L,feeRate:q,recipient:X,sender:Q}),H=(await x.signTransaction({builder:z,utxos:B})).toHex();return T(H)}}async function l2({assetValue:T,recipient:f,memo:x,feeRate:y,sender:X,setSigHashType:L}){let Z=VT(f);if(!gy(Z))throw new Ty.SwapKitError("toolbox_utxo_invalid_address",{address:Z});let J=Math.ceil(T.getBaseValue("number")+y*7500),Q=await Yy(Uy).getUtxos({address:ty(X),fetchTxHex:!1,targetValue:J}),q=Number(y.toFixed(0)),z=x?await by(x):null,B=[];if(B.push({address:xT(f),value:T.getBaseValue("number")}),z)B.push({script:z,value:0});let{inputs:M,outputs:H}=uy({inputs:Q,outputs:B,feeRate:q,chain:Uy});if(!(M&&H))throw new Ty.SwapKitError("toolbox_utxo_insufficient_balance",{sender:X,assetValue:T});let G=await By(),R=new Ff.Psbt({network:G(Uy)});for(let{hash:I,index:S,witnessUtxo:b}of M)R.addInput({hash:I,index:S,witnessUtxo:b,sighashType:L?65:void 0});for(let I of H){let S="address"in I&&I.address?I.address:xT(X),b=I.script?z?{script:z,value:0}:void 0:{address:S,value:I.value};if(b)R.addOutput(b)}return{psbt:R,utxos:Q,inputs:M}}function V2(T){let f=T.getAddress(0);return ty(f)}var zT,Ty,Ff,Uy;var jT=l(()=>{zT=require("@psf/bitcoincashjs-lib"),Ty=require("@swapkit/helpers"),Ff=require("bitcoinjs-lib");JT();AT();Uy=Ty.Chain.BitcoinCash});async function $2(T,f){switch(T){case ky.Chain.BitcoinCash:return await C0(f||{});case ky.Chain.Zcash:return await O0(f);case ky.Chain.Bitcoin:case ky.Chain.Dogecoin:case ky.Chain.Litecoin:case ky.Chain.Dash:return await cy({chain:T,...f});default:throw new ky.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var ky;var Af=l(()=>{ky=require("@swapkit/helpers");jT();AT();D5();jT()});var E0={};qy(E0,{validateZcashAddress:()=>N5,toLegacyAddress:()=>xT,toCashAddress:()=>VT,stripToCashAddress:()=>ty,stripPrefix:()=>qT,nonSegwitChains:()=>ST,isValidAddress:()=>N0,getUtxoToolbox:()=>$2,getUtxoNetwork:()=>By,getUtxoApi:()=>Yy,getUTXOAddressValidator:()=>lf,getScriptTypeForAddress:()=>FT,getOutputSize:()=>$T,getInputSize:()=>Sy,getDustThreshold:()=>H5,getCreateKeysForPath:()=>uT,detectAddressNetwork:()=>D0,createZcashToolbox:()=>O0,createUTXOToolbox:()=>cy,createCustomUtxoApi:()=>Q2,createBCHToolbox:()=>C0,compileMemo:()=>by,calculateTxSize:()=>ZT,bchValidateAddress:()=>gy,addressFromKeysGetter:()=>w0,accumulative:()=>uy,UtxoNetwork:()=>R0,UTXOScriptType:()=>U5,TX_OVERHEAD:()=>Y5,OutputSizes:()=>KT,OP_RETURN_OVERHEAD:()=>Rf,MIN_TX_FEE:()=>H2,InputSizes:()=>_5});module.exports=_y(E0);var v0=l(()=>{Af();jT();AT();D5();JT()});async function F2(T){try{let f=await fetch(`https://lite-api.jup.ag/tokens/v1/token/${T}`);if(!f.ok)return null;return await f.json()}catch{return null}}async function K2(T){let f=await dy(),{PublicKey:x}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),X=new x(T),L=[],Z=await f.getBalance(X);if(Z>0)L.push(h.AssetValue.from({chain:h.Chain.Solana,value:Z,fromBaseDecimal:h.BaseDecimal[h.Chain.Solana]}));let J=await f.getParsedTokenAccountsByOwner(X,{programId:y});for(let{account:Q}of J.value){let q=Q.data.parsed.info,z=q.mint,B=q.tokenAmount.amount;if(Number(B)===0)continue;let M=await F2(z),H=M?.symbol||"UNKNOWN",G=M?.decimals||q.tokenAmount.decimals;L.push(h.AssetValue.from({asset:`${h.Chain.Solana}.${H}-${z}`,value:B,fromBaseDecimal:G}))}return L}async function $0(){let{PublicKey:T}=await import("@solana/web3.js");return(f)=>{try{let x=new T(f);return T.isOnCurve(x.toBytes())}catch(x){return!1}}}async function A2(T){let f=T&&"index"in T?T.index||0:0,x=h.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:h.updateDerivationPath(h.NetworkDerivationPath[h.Chain.Solana],{index:f})),y=await uf.match(T).with({phrase:P0.P.string},({phrase:L})=>V0({phrase:L,derivationPath:x})).with({signer:P0.P.any},({signer:L})=>L).otherwise(()=>{return});function X(){return y?.publicKey?Sf(y.publicKey):""}return{getConnection:dy,getAddress:X,createKeysForPath:V0,getAddressFromPubKey:Sf,getPubkeyFromAddress:K0,createTransaction:F0(dy),createTransactionFromInstructions:j2,getBalance:(L)=>{let Z=L||X();if(!Z)throw new h.SwapKitError("core_wallet_connection_not_found");return K2(Z)},transfer:h2(dy,y),broadcastTransaction:l0(dy),getAddressValidator:$0,signTransaction:n2(dy,y),estimateTransactionFee:S2(dy)}}function S2(T){return async({recipient:f,assetValue:x,memo:y,isProgramDerivedAddress:X,sender:L})=>{let Z=await T(),Q=(await F0(T)({recipient:f,assetValue:x,memo:y,isProgramDerivedAddress:X,sender:L})).compileMessage(),q=await Z.getFeeForMessage(Q);if(q.value===null)throw new h.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");return h.AssetValue.from({chain:h.Chain.Solana,value:q.value,fromBaseDecimal:h.BaseDecimal[h.Chain.Solana]})}}async function dy(){let{Connection:T}=await import("@solana/web3.js");return new T(h.SKConfig.get("rpcUrls").SOL,"confirmed")}function u2(T){return async({assetValue:f,recipient:x,sender:y,isProgramDerivedAddress:X})=>{let L=await T(),Z=await K0(y);if(f.isGasAsset){let{Transaction:J,SystemProgram:Q,PublicKey:q}=await import("@solana/web3.js");return new J().add(Q.transfer({fromPubkey:Z,lamports:f.getBaseValue("number"),toPubkey:new q(x)}))}if(f.address)return b2({amount:f.getBaseValue("number"),connection:L,decimals:f.decimal,from:Z,recipient:x,tokenAddress:f.address,isProgramDerivedAddress:X});return}}async function b2({tokenAddress:T,recipient:f,from:x,connection:y,amount:X,decimals:L,isProgramDerivedAddress:Z}){let{getAssociatedTokenAddress:J,getAccount:Q,createAssociatedTokenAccountInstruction:q,createTransferCheckedInstruction:z}=await import("@solana/spl-token"),{Transaction:B,PublicKey:M}=await import("@solana/web3.js"),H=new B,G=new M(T),R=await J(G,x),I=new M(f),S=await J(G,I,Z),b=!1;try{await Q(y,S),b=!0}catch(d){}if(!b)H.add(q(x,S,I,G));return H.add(z(R,G,S,x,X,L)),H}function F0(T){return async({recipient:f,assetValue:x,memo:y,isProgramDerivedAddress:X,sender:L})=>{let{createMemoInstruction:Z}=await import("@solana/spl-memo"),J=await K0(L),Q=await $0();if(!(X||Q(f)))throw new h.SwapKitError("core_transaction_invalid_recipient_address");let q=await T(),z=await u2(T)({assetValue:x,recipient:f,sender:L,isProgramDerivedAddress:X});if(!z)throw new h.SwapKitError("core_transaction_invalid_sender_address");if(y)z.add(Z(y));let B=await q.getLatestBlockhash();return z.recentBlockhash=B.blockhash,z.feePayer=J,z}}async function j2({instructions:T}){let{Transaction:f}=await import("@solana/web3.js"),x=new f().add(...T);if(!x)throw new h.SwapKitError("core_transaction_invalid_sender_address");return x}function h2(T,f){return async({recipient:x,assetValue:y,memo:X,isProgramDerivedAddress:L})=>{if(!f)throw new h.SwapKitError("core_transaction_invalid_sender_address");let Z=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),J=await F0(T)({recipient:x,assetValue:y,memo:X,isProgramDerivedAddress:L,sender:Z});if("connect"in f){let Q=await f.signTransaction(J);return l0(T)(Q)}return J.sign(f),l0(T)(J)}}function l0(T){return async(f)=>{return(await T()).sendRawTransaction(f.serialize())}}function n2(T,f){return async(x)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!f)throw new h.SwapKitError("toolbox_solana_no_signer");if(!(x instanceof y)){let L=await(await T()).getLatestBlockhash();x.recentBlockhash=L.blockhash,x.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(x);return await x.sign([f]),x}}async function V0({phrase:T,derivationPath:f=h.DerivationPath.SOL}){let{HDKey:x}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:X}=await import("@solana/web3.js"),L=y(T),Z=x.fromMasterSeed(L);return X.fromSeed(Z.derive(f,!0).privateKey)}function Sf(T){return T.toString()}async function K0(T){let{PublicKey:f}=await import("@solana/web3.js");return new f(T)}var h,P0,uf;var bf=l(()=>{h=require("@swapkit/helpers"),P0=require("ts-pattern"),uf=require("ts-pattern")});var A0={};qy(A0,{getSolanaToolbox:()=>A2,getSolanaAddressValidator:()=>$0,createKeysForPath:()=>V0});module.exports=_y(A0);var S0=l(()=>{bf()});async function hT(){let{validateAccountId:T}=await import("near-sdk-js");return(f)=>{try{return T(f)}catch{let x=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return f.length>=2&&f.length<=64&&x.test(f)}}}async function w5(T){let{parseSeedPhrase:f}=await import("near-seed-phrase"),{KeyPair:x}=await import("near-api-js"),y=T.index||0,X=T.derivationPath?k5.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:L}=f(T.phrase,X),Z=x.fromString(L);return nf(Z)}async function u0(T){let{KeyPair:f}=await import("near-api-js/lib/utils"),x=f.fromString(T);return nf(x)}function nf(T){return new hf(T)}async function C5(T,f){let y=(await T.query({request_type:"view_access_key_list",finality:"final",account_id:f})).keys.find((J)=>J.access_key.permission==="FullAccess");if(!y)throw new k5.SwapKitError("toolbox_near_invalid_address");let{utils:X}=await import("near-api-js"),L=X.PublicKey.fromString(y.public_key),Z=y.access_key.nonce||0;return{publicKey:L,nonce:Z}}var k5,jf,hf;var b0=l(()=>{k5=require("@swapkit/helpers"),jf=require("near-api-js");hf=class hf extends jf.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),f=Buffer.from(T.data).toString("hex");return Promise.resolve(f)}}});function j0(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function h0(T){return"contractId"in T&&"methodName"in T}function n0(T){return"actions"in T}function p0(T){return"newAccountId"in T}function o0(T){return"contractCode"in T}function m0(T){return"customEstimator"in T}function c0(T){let f=0;for(let x of T)switch(x.enum){case"transfer":f+=Number(fy.SIMPLE_TRANSFER);break;case"functionCall":f+=Number(fy.CONTRACT_CALL);break;case"createAccount":f+=Number(fy.ACCOUNT_CREATION);break;case"deployContract":f+=Number(fy.CONTRACT_DEPLOYMENT);break;case"addKey":f+=Number(fy.ACCESS_KEY_ADDITION);break;case"deleteKey":f+=Number(fy.ACCESS_KEY_DELETION);break;case"stake":f+=Number(fy.STAKE);break;default:f+=Number(fy.CONTRACT_CALL)}return f.toString()}function g0(T){if(T==="ft_transfer"||T==="ft_transfer_call")return fy.TOKEN_TRANSFER;if(T==="storage_deposit")return fy.STORAGE_DEPOSIT;return fy.CONTRACT_CALL}function p2(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function o2(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var fy;var t0=l(()=>{fy={SIMPLE_TRANSFER:"1",TOKEN_TRANSFER:"100",CONTRACT_CALL:"100",ACCOUNT_CREATION:"30",CONTRACT_DEPLOYMENT:"200",ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",STAKE:"10",STORAGE_DEPOSIT:"100"}});async function E5({account:T,contractId:f,viewMethods:x,changeMethods:y}){let{Contract:X}=await import("near-api-js");return new X(T,f,{viewMethods:x,changeMethods:y,useLocalViewExecution:!0})}async function d0({contractId:T,account:f}){let x=(await import("bn.js")).default,y=await E5({account:f,contractId:T,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"],changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"]}),X=async(L)=>{if(!await y.storage_balance_of({account_id:L})){let Q=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:L},new x("100000000000000"),new x(Q))}};return{transfer:async(L,Z,J)=>{return await X(L),y.ft_transfer({receiver_id:L,amount:Z,memo:J},new x("100000000000000"),new x("1"))},transferCall:async(L,Z,J,Q)=>{return await X(L),y.ft_transfer_call({receiver_id:L,amount:Z,memo:Q,msg:J},new x("100000000000000"),new x("1"))},balanceOf:(L)=>y.ft_balance_of({account_id:L}),totalSupply:()=>y.ft_total_supply(),metadata:()=>y.ft_metadata(),storageBalanceOf:(L)=>y.storage_balance_of({account_id:L}),storageDeposit:(L,Z)=>y.storage_deposit({account_id:L},new x("100000000000000"),new x(Z||"1250000000000000000000")),ensureStorage:X,contract:y}}async function m2(T){let{P:f,match:x}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),X=await x(T).with({phrase:f.string},async(E)=>{return await w5(E)}).with({signer:f.any},({signer:E})=>E).otherwise(()=>{return}),L=u.SKConfig.get("rpcUrls")[u.Chain.Near],Z=new y.JsonRpcProvider({url:L});async function J(E){let{Account:U}=await import("near-api-js"),D=E||await Q();return new U(D,Z,X)}async function Q(){if(!X)throw new u.SwapKitError("toolbox_near_no_signer");return await X.getAddress()}async function q(E){if(!X)throw new u.SwapKitError("toolbox_near_no_signer");let{recipient:U,assetValue:D}=E;if(!(await hT())(U))throw new u.SwapKitError("toolbox_near_invalid_address");let V=await J();if(D.isGasAsset===!1){let v=D.address;if(!v)throw new u.SwapKitError("toolbox_near_missing_contract_address");let A=D.getBaseValue("string");return S({contractId:v,methodName:"ft_transfer",args:{receiver_id:U,amount:A,memo:E.memo}})}try{let v=D.getBaseValue("string");return(await V.transfer({receiverId:U,amount:v})).transaction_outcome.id}catch(v){throw new u.SwapKitError("toolbox_near_transfer_failed",{error:v})}}async function z(E){let{recipient:U,assetValue:D,memo:w,feeRate:V,attachedDeposit:v,sender:A}=E,i=await hT();if(!i(U))throw new u.SwapKitError("toolbox_near_invalid_address",{address:U});if(!i(A))throw new u.SwapKitError("toolbox_near_invalid_address",{address:A});if(!D.isGasAsset){let cT=D.address;if(!cT)throw new u.SwapKitError("toolbox_near_missing_contract_address");return B({sender:A,contractId:cT,methodName:"ft_transfer",args:{receiver_id:U,amount:D.getBaseValue("string"),memo:w||null},gas:V.toString()||"100000000000000",attachedDeposit:"1"})}let{publicKey:o,nonce:g}=await C5(Z,A),Qy=D.getBaseValue("bigint"),{SCHEMA:xy}=await import("near-api-js/lib/transaction"),{transactions:Gy,utils:Wy}=await import("near-api-js"),hy=[Gy.transfer(Qy)];if(w&&v)hy.push(Gy.functionCall("memo",{memo:w},BigInt(V),BigInt(v)));let pT=await Z.block({finality:"final"}),oT=Wy.serialize.base_decode(pT.header.hash),iy=Gy.createTransaction(A,o,U,g,hy,oT),mT=Wy.serialize.serialize(xy.Transaction,iy);return{serialized:Buffer.from(mT).toString("base64"),publicKey:o.toString(),details:{signerId:A,nonce:g,blockHash:Wy.serialize.base_encode(oT)}}}async function B(E){let{sender:U}=E,{publicKey:D,nonce:w}=await C5(Z,U),{SCHEMA:V}=await import("near-api-js/lib/transaction"),{transactions:v,utils:A}=await import("near-api-js"),i=await Z.block({finality:"final"}),o=A.serialize.base_decode(i.header.hash),g=[v.functionCall(E.methodName,Buffer.from(JSON.stringify(E.args)),BigInt(E.gas),BigInt(E.attachedDeposit))],Qy=v.createTransaction(U,D,E.contractId,w,g,o),xy=A.serialize.serialize(V.Transaction,Qy);return{serialized:Buffer.from(xy).toString("base64"),publicKey:D.toString(),details:{signerId:U,receiverId:E.contractId,methodName:E.methodName,nonce:w,blockHash:A.serialize.base_encode(o)}}}async function M(E){if(!X)throw new u.SwapKitError("toolbox_near_no_signer");let[U,D]=await X.signTransaction(E);return D}async function H(E){return(await Z.sendTransaction(E)).transaction.hash}async function G(E){if("assetValue"in E){let V=BigInt("115123062500")+BigInt("108059500000"),v=await R(),A=V*BigInt(v.toString());return u.AssetValue.from({chain:u.Chain.Near,value:A.toString(),fromBaseDecimal:u.BaseDecimal[u.Chain.Near]})}let U=X?await J():void 0;return r(E,U)}async function R(){try{return await Z.query({request_type:"call_function",finality:"final",account_id:"system",method_name:"gas_price",args_base64:""})}catch{return"100000000"}}async function I(E,U,D){if(!X)throw new u.SwapKitError("toolbox_near_no_signer");let w=await J(),{utils:V}=await import("near-api-js"),v=V.format.parseNearAmount(D)||"0";return(await w.createAccount(E,V.PublicKey.fromString(U),BigInt(v))).transaction.hash}async function S(E){try{if(!X)throw new u.SwapKitError("toolbox_near_no_signer");let{transactions:U}=await import("near-api-js"),{contractId:D,methodName:w,args:V,deposit:v}=E,A=await J(),i=await r({methodName:w,args:V||{},contractId:D}),o=U.functionCall(w,V||{},i.getBaseValue("bigint"),BigInt(v||"0"));return(await A.signAndSendTransaction({receiverId:D,actions:[o]})).transaction_outcome.id}catch(U){throw new u.SwapKitError("toolbox_near_transfer_failed",{error:U})}}async function b(E){let U=await J();return E5({account:U,contractId:E.contractId,viewMethods:E.viewMethods,changeMethods:E.changeMethods})}async function d(E){if(!X)throw new u.SwapKitError("toolbox_near_no_signer");if(E.actions.length===0)throw new u.SwapKitError("toolbox_near_empty_batch");return(await(await J()).signAndSendTransaction({receiverId:E.receiverId,actions:E.actions})).transaction.hash}async function c(E){let U=await J();return d0({contractId:E,account:U})}async function s(E){try{let U=await J(E),D;try{let w=await U.getBalance();D=u.AssetValue.from({chain:u.Chain.Near,value:w,fromBaseDecimal:u.BaseDecimal[u.Chain.Near]})}catch{D=u.AssetValue.from({chain:u.Chain.Near,value:"0",fromBaseDecimal:u.BaseDecimal[u.Chain.Near]})}return[D]}catch(U){throw new u.SwapKitError("toolbox_near_balance_failed",{error:U})}}async function r(E,U){let D=await x(E).when(j0,()=>fy.SIMPLE_TRANSFER).when(h0,(A)=>g0(A.methodName)).when(n0,(A)=>c0(A.actions)).when(p0,()=>fy.ACCOUNT_CREATION).when(o0,()=>fy.CONTRACT_DEPLOYMENT).when(m0,(A)=>{if(!U)throw new u.SwapKitError("toolbox_near_no_account");return A.customEstimator(U)}).otherwise(()=>{throw new u.SwapKitError("toolbox_near_invalid_gas_params")}),w=await Ly(),v=BigInt(D)*BigInt(1000000000000)*BigInt(w);return u.AssetValue.from({chain:u.Chain.Near,value:v,fromBaseDecimal:u.BaseDecimal[u.Chain.Near]})}async function Ly(){try{return(await Z.gasPrice(null)).gas_price||"100000000"}catch(E){return"100000000"}}return{getAddress:Q,getPublicKey:async()=>X?(await X.getPublicKey()).toString():"",provider:Z,transfer:q,createTransaction:z,createContractFunctionCall:B,estimateTransactionFee:G,broadcastTransaction:H,signTransaction:M,getBalance:s,validateAddress:await hT(),getSignerFromPhrase:(E)=>w5(E),getSignerFromPrivateKey:u0,callFunction:S,createSubAccount:I,createContract:b,executeBatchTransaction:d,nep141:c,getGasPrice:Ly,estimateGas:r}}var u;var i0=l(()=>{u=require("@swapkit/helpers");b0();t0()});var pf=l(()=>{i0()});var r0={};qy(r0,{tgasToGas:()=>p2,isSimpleTransfer:()=>j0,isCustomEstimator:()=>m0,isContractDeployment:()=>o0,isContractCall:()=>h0,isBatchTransaction:()=>n0,isAccountCreation:()=>p0,getValidateNearAddress:()=>hT,getNearToolbox:()=>m2,getNearSignerFromPrivateKey:()=>u0,getNearSignerFromPhrase:()=>w5,getFullAccessPublicKey:()=>C5,getContractMethodGas:()=>g0,gasToTGas:()=>o2,estimateBatchGas:()=>c0,createNearContract:()=>E5,createNEP141Token:()=>d0,GAS_COSTS:()=>fy});module.exports=_y(r0);var a0=l(()=>{i0();pf();b0();t0()});var e0={};qy(e0,{rippleValidateAddress:()=>s0,hashes:()=>mf.hashes,getRippleToolbox:()=>g2});module.exports=_y(e0);function of(T){let f=jy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(f.address),signTransaction:(x)=>Promise.resolve(f.sign(x))}}function s0(T){return jy.isValidAddress(T)}var n,jy,mf,c2,g2=async(T={})=>{let f="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?of(T.phrase):void 0,x=n.SKConfig.get("rpcUrls")[n.Chain.Ripple];if(!x)throw new n.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:n.Chain.Ripple}});let y=new jy.Client(x);await y.connect();let X=()=>{if(!f)throw new n.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.getAddress()},L=async(M)=>{let H=M||await X();try{let R=(await y.request({command:"account_info",account:H})).result.account_data.Balance;return[n.AssetValue.from({chain:n.Chain.Ripple,value:R,fromBaseDecimal:n.BaseDecimal[n.Chain.Ripple]})]}catch(G){if(G.data.error_code===c2.ACCOUNT_NOT_FOUND)return[n.AssetValue.from({chain:n.Chain.Ripple,value:0})];throw new n.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:H,error:G}})}},Z=async()=>{let H=(await y.request({command:"fee"})).result.drops.open_ledger_fee;return n.AssetValue.from({chain:n.Chain.Ripple,value:n.SwapKitNumber.fromBigInt(BigInt(H),n.BaseDecimal[n.Chain.Ripple])})},J=async({assetValue:M,recipient:H,memo:G,sender:R})=>{if(!s0(H))throw new n.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let I=R||await X();if(!M.isGasAsset||M.chain!==n.Chain.Ripple)throw new n.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:M.toString()}});let S={TransactionType:"Payment",Account:I,Amount:jy.xrpToDrops(M.getValue("string")),Destination:H};if(G)S.Memos=[{Memo:{MemoData:Buffer.from(G).toString("hex")}}];return await y.autofill(S)},Q=(M)=>{if(!f)throw new n.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.signTransaction(M)},q=async(M)=>{let G=(await y.submitAndWait(M)).result;if(G.validated)return G.hash;throw new n.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:n.Chain.Ripple}})};return{signer:f,createSigner:of,getAddress:X,validateAddress:s0,getBalance:L,createTransaction:J,signTransaction:Q,broadcastTransaction:q,transfer:async(M)=>{if(!f)throw new n.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let H=await f.getAddress(),G=await J({...M,sender:H}),R=await Q(G);return q(R.tx_blob)},estimateTransactionFee:Z,disconnect:()=>y.disconnect()}};var y1=l(()=>{n=require("@swapkit/helpers"),jy=require("xrpl"),mf=require("xrpl"),c2={ACCOUNT_NOT_FOUND:19}});var T1={};qy(T1,{radixValidateAddress:()=>cf,RadixToolbox:()=>a2});module.exports=_y(T1);function cf(T){return T.startsWith("account_rdx1")&&T.length===66}function t2({networkApi:T}){return async function f(x){let y=await d2({address:x,networkApi:T});return i2({resources:y,networkApi:T})}}async function d2({address:T,networkApi:f}){let x=!0,y,X=[],L=await r2(f);while(x){let Z={address:T,limit_per_page:100,cursor:y,at_ledger_state:{state_version:L}},J=await f.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:Z});if(X=X.concat(J.items),J.next_cursor)y=J.next_cursor;else x=!1}return X}async function i2({resources:T,networkApi:f}){let x=[],y=50,X=[];for(let L=0;L<T.length;L+=50)X.push(T.slice(L,L+50));for(let L of X){let Z=L.map((q)=>q.resource_address),J=await f.state.getEntityDetailsVaultAggregated(Z),Q=new Map;for(let q of J)if(q.details!==void 0){let z=q.metadata?.items.find((M)=>M.key==="symbol"),B=z?.value.typed.type==="String"?z.value.typed.value:"?";if(q.details.type==="FungibleResource")Q.set(q.address,{decimals:q.details.divisibility,symbol:B})}for(let q of L)if(q.aggregation_level==="Global"){let z=Q.get(q.resource_address)||{decimals:0,symbol:"?"},B=wy.AssetValue.from({asset:z.symbol!==wy.Chain.Radix?`${wy.Chain.Radix}.${z.symbol}-${q.resource_address}`:"XRD.XRD",value:q.amount});x.push(B)}}return x}async function r2(T){return T.status.getCurrent().then((f)=>f.ledger_state.state_version)}var wy,a2=async({dappConfig:T}={})=>{let{RadixDappToolkit:f}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:x}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||wy.SKConfig.get("integrations").radix,X=f({...y,networkId:y.network?.networkId||1}),L=x.initialize(X.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:t2({networkApi:L}),networkApi:L,validateAddress:cf,signAndBroadcast:()=>{throw new wy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})}}};var f1=l(()=>{wy=require("@swapkit/helpers")});var MT;var X1=l(()=>{MT=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{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"},{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"}]});async function tf(T){let f=await import("tronweb"),x=f.TronWeb??f.default?.TronWeb;try{let y=await fetch(`${s2}/v1/accounts/${T}`);if(!y.ok)throw new Error(`TronGrid API error: ${y.status} ${y.statusText}`);let X=await y.json();if(!(X.success&&X.data)||X.data.length===0)throw new Error("Invalid response from TronGrid API");let L;try{L=x.address.toHex(T).toLowerCase()}catch{L=T.toLowerCase()}let Z=X.data.find((J)=>{return J.address.toLowerCase()===L});if(!Z)return;return{balance:Z.balance,trc20:Z.trc20||[]}}catch(y){throw new gf.SwapKitError("toolbox_tron_trongrid_api_error",{message:y instanceof Error?y.message:"Unknown error",address:T})}}var gf,s2="https://api.trongrid.io";var df=l(()=>{gf=require("@swapkit/helpers")});async function L1(){let T=await import("tronweb"),f=T.TronWeb??T.default?.TronWeb;return(x)=>{return f.isAddress(x)}}async function af({phrase:T,derivationPath:f,index:x}){let y=f||P.derivationPathToString(P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:x||0})),{HDKey:X}=await import("@scure/bip32"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),Z=L(T),Q=X.fromMasterSeed(Z).derive(y);if(!Q.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");return Buffer.from(Q.privateKey).toString("hex")}async function X8({phrase:T,derivationPath:f,tronWeb:x}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:X}=await import("@scure/bip39"),L=X(T),J=y.fromMasterSeed(L).derive(f);if(!J.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");let Q=Buffer.from(J.privateKey).toString("hex");x.setPrivateKey(Q);let q=x?.address.fromPrivateKey(Q);return{getAddress:()=>Promise.resolve(typeof q==="string"?q:""),signTransaction:async(z)=>{return await x.trx.sign(z,Q)}}}var P,nT,e2=268,y8=13000,T8=345,rf="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",f8="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",sf=async(T={})=>{let f=await import("tronweb"),x=f.TronWeb??f.default?.TronWeb,y=P.SKConfig.get("rpcUrls")[P.Chain.Tron],X=void 0,L=new x({fullHost:y,headers:void 0}),Z="index"in T?T.index||0:0,J=P.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:Z})),Q=await nT.match(T).with({phrase:nT.P.string},async({phrase:U})=>X8({phrase:U,derivationPath:J,tronWeb:L})).with({signer:nT.P.any},({signer:U})=>Promise.resolve(U)).otherwise(()=>Promise.resolve(void 0)),q=async()=>{if(!Q)throw new P.SwapKitError("toolbox_tron_no_signer");return await Q.getAddress()},z=()=>{return 1e8},B=async()=>{try{let U=await L.trx.getChainParameters(),D={};for(let w of U)D[w.key]=w.value;return{energyFee:D.getEnergyFee||420,bandwidthFee:D.getTransactionFee||1000,createAccountFee:D.getCreateAccountFee||1e5}}catch{return{energyFee:420,bandwidthFee:1000,createAccountFee:1e5}}},M=async(U)=>{try{let D=await L.trx.getAccount(U);return D&&Object.keys(D).length>0}catch{return!1}},H=async(U)=>{try{let D=await L.trx.getAccountResources(U);return{bandwidth:{free:D.freeNetLimit-D.freeNetUsed,total:D.NetLimit||0,used:D.NetUsed||0},energy:{total:D.EnergyLimit||0,used:D.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},G=async(U,D)=>{try{let w=L.contract(MT,D);if(!w.methods?.balanceOf)return 0n;let V=(await w.methods.balanceOf(U).call())[0];return BigInt(V||0)}catch(w){return console.warn(`balanceOf() failed for ${D}:`,w),0n}},R=async(U,D)=>{try{L.setAddress(D);let w=L.contract(MT,U),[V,v]=await Promise.all([w.symbol().call().catch(()=>"UNKNOWN"),w.decimals().call().catch(()=>"18")]);return{symbol:V??"UNKNOWN",decimals:Number(v??18)}}catch(w){return P.warnOnce(!0,`Failed to get token balance for ${U}: ${w instanceof Error?w.message:w}`),null}},I=async(U,D=!0)=>{let w=[P.AssetValue.from({chain:P.Chain.Tron})];try{let V=await tf(U);if(V){let v=[];v.push(P.AssetValue.from({chain:P.Chain.Tron,value:V.balance,fromBaseDecimal:6}));for(let A of V.trc20){let[i,o]=Object.entries(A)[0]||[];if(!(i&&o))continue;let g=await R(i,U);if(!g)continue;v.push(P.AssetValue.from({asset:`TRON.${g.symbol}-${i}`,value:BigInt(o||0),fromBaseDecimal:g.decimals}))}return v}return w}catch(V){P.warnOnce(!0,`Tron API getBalance failed: ${V instanceof Error?V.message:V}`);let v=[],A=await L.trx.getBalance(U);if(A&&Number(A)>0)v.push(P.AssetValue.from({chain:P.Chain.Tron,value:A,fromBaseDecimal:6}));let i=await G(U,rf);if(i)v.push(P.AssetValue.from({asset:`TRON.USDT-${rf}`,value:i,fromBaseDecimal:6}));return v}},S=async({recipient:U,assetValue:D,memo:w})=>{if(!Q)throw new P.SwapKitError("toolbox_tron_no_signer");let V=await q();if(L.setAddress(V),D.isGasAsset){let g=await L.transactionBuilder.sendTrx(U,D.getBaseValue("number"),V);if(w){let Gy=await L.transactionBuilder.addUpdateData(g,w,"utf8"),Wy=await Q.signTransaction(Gy),{txid:hy}=await L.trx.sendRawTransaction(Wy);return hy}let Qy=await Q.signTransaction(g),{txid:xy}=await L.trx.sendRawTransaction(Qy);return xy}let A=await d({recipient:U,assetValue:D,memo:w,sender:V}),i=await Q.signTransaction(A),{txid:o}=await L.trx.sendRawTransaction(i);if(!o)throw new P.SwapKitError("toolbox_tron_token_transfer_failed");return o},b=async({assetValue:U,recipient:D,sender:w})=>{let V=U.isGasAsset;try{let v=w?w:Q?await q():void 0;if(!v)return V?P.AssetValue.from({chain:P.Chain.Tron,value:0.1,fromBaseDecimal:0}):P.AssetValue.from({chain:P.Chain.Tron,value:15,fromBaseDecimal:0});let A=await B(),o=await M(D)?0:A.createAccountFee,g=await H(v);if(V){let iy=e2,mT=g.bandwidth.free+(g.bandwidth.total-g.bandwidth.used),v5=0;if(iy>mT)v5=(iy-mT)*A.bandwidthFee;let cT=o+v5;return P.AssetValue.from({chain:P.Chain.Tron,value:cT,fromBaseDecimal:6})}let Qy=T8,xy=y8,Gy=g.bandwidth.free+(g.bandwidth.total-g.bandwidth.used),Wy=g.energy.total-g.energy.used,hy=0;if(Qy>Gy)hy=(Qy-Gy)*A.bandwidthFee;let pT=0;if(xy>Wy)pT=(xy-Wy)*A.energyFee;let oT=o+hy+pT;return P.AssetValue.from({chain:P.Chain.Tron,value:oT,fromBaseDecimal:6})}catch(v){throw P.warnOnce(!0,`Failed to calculate exact fee, using conservative estimate: ${v instanceof Error?v.message:v}`),new P.SwapKitError("toolbox_tron_fee_estimation_failed",{error:v})}},d=async(U)=>{let{recipient:D,assetValue:w,memo:V,sender:v}=U;if(w.isGasAsset){let o=await L.transactionBuilder.sendTrx(D,w.getBaseValue("number"),v);if(V)return L.transactionBuilder.addUpdateData(o,V,"utf8");return o}L.setAddress(v);let i=w.address;if(!i)throw new P.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:w.toString()});try{let g=[{type:"address",value:D},{type:"uint256",value:w.getBaseValue("string")}],Qy={feeLimit:z(),callValue:0};return(await L.transactionBuilder.triggerSmartContract(i,"transfer(address,uint256)",Qy,g,v)).transaction}catch(o){throw new P.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:o instanceof Error?o.message:String(o)})}},c=async(U)=>{if(!Q)throw new P.SwapKitError("toolbox_tron_no_signer");return await Q.signTransaction(U)},s=async(U)=>{let{txid:D}=await L.trx.sendRawTransaction(U);return D},r=async({assetAddress:U,spenderAddress:D,from:w})=>{try{let V=L.contract(MT,U);if(!V.methods?.allowance)throw new P.SwapKitError("toolbox_tron_invalid_token_contract");let v=(await V.methods.allowance(w,D).call())[0];return BigInt(v||0)}catch(V){throw new P.SwapKitError("toolbox_tron_allowance_check_failed",{error:V})}},Ly=async({assetAddress:U,spenderAddress:D,from:w,amount:V})=>{let v=await r({assetAddress:U,spenderAddress:D,from:w});if(!V)return v>0n;let A=BigInt(V);return v>=A},E=async({assetAddress:U,spenderAddress:D,amount:w,from:V})=>{if(!Q)throw new P.SwapKitError("toolbox_tron_no_signer");let v=V||await q(),A=w!==void 0?BigInt(w).toString():f8,i="approve(address,uint256)",o=[{type:"address",value:D},{type:"uint256",value:A}],Qy={feeLimit:z(),callValue:0};try{let{transaction:xy}=await L.transactionBuilder.triggerSmartContract(U,i,Qy,o,v),Gy=await Q.signTransaction(xy),{txid:Wy}=await L.trx.sendRawTransaction(Gy);if(!Wy)throw new P.SwapKitError("toolbox_tron_approve_failed");return Wy}catch(xy){throw new P.SwapKitError("toolbox_tron_approve_failed",{error:xy})}};return{tronWeb:L,getAddress:q,validateAddress:await L1(),getBalance:I,transfer:S,estimateTransactionFee:b,createTransaction:d,signTransaction:c,broadcastTransaction:s,approve:E,isApproved:Ly,getApprovedAmount:r}};var ef=l(()=>{P=require("@swapkit/helpers"),nT=require("ts-pattern");X1();df()});var x1={};qy(x1,{trc20ABI:()=>MT,getTronPrivateKeyFromMnemonic:()=>af,getTronAddressValidator:()=>L1,createTronToolbox:()=>sf});module.exports=_y(x1);var Z1=l(()=>{ef();X1()});var Z8={};qy(Z8,{getToolbox:()=>J1,getFeeEstimator:()=>x8,getAddressValidator:()=>L8});module.exports=_y(Z8);var _=require("@swapkit/helpers");async function L8(){let{match:T}=await import("ts-pattern"),{cosmosValidateAddress:f}=await Promise.resolve().then(() => (rT(),iT)),{evmValidateAddress:x}=await Promise.resolve().then(() => (a5(),e1)),{substrateValidateAddress:y}=await Promise.resolve().then(() => (G0(),B0)),{getUTXOAddressValidator:X}=await Promise.resolve().then(() => (v0(),E0)),{getSolanaAddressValidator:L}=await Promise.resolve().then(() => (S0(),A0)),{getValidateNearAddress:Z}=await Promise.resolve().then(() => (a0(),r0)),{rippleValidateAddress:J}=await Promise.resolve().then(() => (y1(),e0)),{radixValidateAddress:Q}=await Promise.resolve().then(() => (f1(),T1)),{getTronAddressValidator:q}=await Promise.resolve().then(() => (Z1(),x1)),z=await L(),B=await X(),M=await q(),H=await Z();return function G({address:R,chain:I}){return T(I).with(..._.EVMChains,()=>x({address:R})).with(..._.UTXOChains,()=>B({address:R,chain:I})).with(_.Chain.Cosmos,_.Chain.Kujira,_.Chain.Noble,_.Chain.Maya,_.Chain.THORChain,()=>f({address:R,chain:I})).with(_.Chain.Chainflip,_.Chain.Polkadot,()=>y({address:R,chain:I})).with(_.Chain.Radix,()=>Q(R)).with(_.Chain.Near,()=>H(R)).with(_.Chain.Ripple,()=>J(R)).with(_.Chain.Solana,()=>z(R)).with(_.Chain.Tron,()=>M(R)).otherwise(()=>!1)}}function x8(T){return async function f(x){let{match:y}=await import("ts-pattern");return y(T).returnType().with(_.Chain.Arbitrum,_.Chain.Aurora,_.Chain.Avalanche,_.Chain.Base,_.Chain.Berachain,_.Chain.BinanceSmartChain,_.Chain.Ethereum,_.Chain.Gnosis,_.Chain.Optimism,_.Chain.Polygon,async(X)=>{let L=await J1(X),Z=await L.createTransaction(x);return L.estimateTransactionFee({...Z,feeOption:x.feeOptionKey||_.FeeOption.Fast,chain:X})}).with(_.Chain.Bitcoin,_.Chain.BitcoinCash,_.Chain.Dogecoin,_.Chain.Dash,_.Chain.Litecoin,_.Chain.Polkadot,_.Chain.Solana,_.Chain.Ripple,_.Chain.Tron,_.Chain.Near,async(X)=>{return(await J1(X)).estimateTransactionFee(x)}).with(_.Chain.THORChain,_.Chain.Maya,_.Chain.Kujira,_.Chain.Noble,_.Chain.Cosmos,async()=>{let{estimateTransactionFee:X}=await Promise.resolve().then(() => (rT(),iT));return X(x)}).otherwise(async()=>_.AssetValue.from({chain:T}))}}async function J1(T,f){let{match:x}=await import("ts-pattern");return x(T).returnType().with(_.Chain.Arbitrum,_.Chain.Aurora,_.Chain.Avalanche,_.Chain.Base,_.Chain.Berachain,_.Chain.BinanceSmartChain,_.Chain.Ethereum,_.Chain.Gnosis,_.Chain.Optimism,_.Chain.Polygon,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (G5(),x0));return await y(T,f)}).with(_.Chain.Litecoin,_.Chain.Dash,_.Chain.Dogecoin,_.Chain.BitcoinCash,_.Chain.Bitcoin,_.Chain.Zcash,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (v0(),E0));return await y(T,f)}).with(_.Chain.Cosmos,_.Chain.Kujira,_.Chain.Noble,_.Chain.Maya,_.Chain.THORChain,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (rT(),iT));return await y(T,f)}).with(_.Chain.Chainflip,_.Chain.Polkadot,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (G0(),B0));return await y(T,f)}).with(_.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (f1(),T1));return await y(f)}).with(_.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (y1(),e0));return await y(f)}).with(_.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (S0(),A0));return await y(f)}).with(_.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (Z1(),x1));return await y(f)}).with(_.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (a0(),r0));return await y(f)}).otherwise(()=>{throw new _.SwapKitError("toolbox_not_supported",{chain:T})})}
|
|
3
|
+
`,bech32:"ztestsapling",bip32:{public:70617039,private:70615956},pubKeyHash:29,scriptHash:28,wif:239}});function N0(T){try{return W5(T),!0}catch(f){return!1}}function D0(T){return W5(T)?.network}function LT(T){let f=W5(T);if(f?.format==="legacy")return T;return G2(f)}function VT(T){let f=W5(T);return W2(f)}function W5(T){try{let f=M2(T);if(f)return f}catch(f){}try{let f=B2(T);if(f)return f}catch(f){}throw new U0.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function M2(T){try{let f=Y0.default.decode(T);if(f.length!==21)throw new U0.SwapKitError("toolbox_utxo_invalid_address",{address:T});let L=f[0],y=Array.prototype.slice.call(f,1);switch(L){case m.legacy.mainnet.p2pkh:return{hash:y,format:"legacy",network:"mainnet",type:"p2pkh"};case m.legacy.mainnet.p2sh:return{hash:y,format:"legacy",network:"mainnet",type:"p2sh"};case m.legacy.testnet.p2pkh:return{hash:y,format:"legacy",network:"testnet",type:"p2pkh"};case m.legacy.testnet.p2sh:return{hash:y,format:"legacy",network:"testnet",type:"p2sh"};case m.bitpay.mainnet.p2pkh:return{hash:y,format:"bitpay",network:"mainnet",type:"p2pkh"};case m.bitpay.mainnet.p2sh:return{hash:y,format:"bitpay",network:"mainnet",type:"p2sh"};default:return}}catch(f){return}}function B2(T){if(T.indexOf(":")!==-1)try{return Hf(T)}catch(f){}else{let f=["bitcoincash","bchtest","bchreg"];for(let L of f)try{return Hf(`${L}:${T}`)}catch(y){}}return}function Hf(T){try{let{hash:f,prefix:L,type:y}=_0.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(f,0),network:L==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch(f){return}}function G2(T){let f=m.legacy[T.network][T.type],L=Buffer.alloc(1+T.hash.length);return L[0]=f,L.set(T.hash,1),Y0.default.encode(L)}function W2(T){let f=T.network==="mainnet"?"bitcoincash":"bchtest",L=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return _0.default.encode(f,L,y)}var U0,Y0,_0,R0,m;var Uf=l(()=>{U0=require("@swapkit/helpers"),Y0=U(require("bs58check")),_0=U(require("cashaddrjs"));((L)=>{L.Mainnet="mainnet";L.Testnet="testnet"})(R0||={});m={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});var Ry,H5=(T)=>{switch(T){case Ry.Chain.Bitcoin:case Ry.Chain.BitcoinCash:return 550;case Ry.Chain.Dash:case Ry.Chain.Litecoin:return 5500;case Ry.Chain.Dogecoin:return 1e5;case Ry.Chain.Zcash:return 546;default:throw new Ry.SwapKitError("toolbox_utxo_not_supported",{chain:T})}},uy=({inputs:T,outputs:f,feeRate:L=1,chain:y=Ry.Chain.Bitcoin})=>{let X=Math.ceil(L),x=T[0]&&"address"in T[0]&&T[0].address?FT(T[0].address):"P2PKH",Z=T.filter((M)=>Sy(M)*X<=M.value),J=U5+f.reduce((M,H)=>M+$T(H,x),0),Q=f.reduce((M,H)=>M+H.value,0),q=J*X,z=0,B=[];for(let M of Z){let H=Sy(M),G=X*H;q+=G,z+=M.value,B.push(M);let R=q+Q;if(z<R)continue;let I=z-R,S=X*$T({address:"",value:0},x);if(I>S){let b=S+q,d=z-(Q+b);if(d>Math.max(Sy({})*X,H5(y)))return{inputs:B,outputs:f.concat({value:d,address:""}),fee:b}}return{inputs:B,outputs:f,fee:q}}return{fee:X*ZT({inputs:T,outputs:f,feeRate:X})}};var Yf=l(()=>{Ry=require("@swapkit/helpers");JT()});function by(T){let f=Buffer.from(T,"utf8");return R5.script.compile([R5.opcodes.OP_RETURN,f])}var _f,R5,H2=1000,U5=10,Rf=10,U2=41,Y2=107,Y5,_5,KT,FT=(T)=>{if(T.startsWith("bc1")||T.startsWith("tb1")||T.startsWith("ltc1")||T.startsWith("tltc1"))return"P2WPKH";if(T.startsWith("1")||T.startsWith("m")||T.startsWith("n")||T.startsWith("bitcoincash:q")||T.startsWith("bitcoincash:p")||T.startsWith("q")||T.startsWith("p")||T.startsWith("L")||T.startsWith("M")||T.startsWith("3")||T.startsWith("D")||T.startsWith("A")||T.startsWith("9")||T.startsWith("X")||T.startsWith("7")||T.startsWith("y")||T.startsWith("t1")||T.startsWith("t3")||T.startsWith("tm"))return"P2PKH";throw new _f.SwapKitError("toolbox_utxo_invalid_address",{address:T})},ZT=({inputs:T,outputs:f,feeRate:L})=>{let y=T[0]&&"address"in T[0]&&T[0].address?FT(T[0].address):"P2PKH",X=T.filter((Z)=>Z.value>=_5["type"in Z?Z.type:"P2PKH"]*Math.ceil(L)).reduce((Z,J)=>Z+Sy(J),0),x=f?.reduce((Z,J)=>Z+$T(J),0)||KT[y];return U5+X+x},Sy=(T)=>{if("type"in T)return _5[T.type];if("address"in T&&T.address)return _5[FT(T.address)];return U2+Y2},$T=(T,f)=>{if(T?.script)return Rf+T.script.length+(T.script.length>=74?2:1);if(f)return KT[f];return KT.P2PKH};var Nf=l(()=>{_f=require("@swapkit/helpers"),R5=require("bitcoinjs-lib");((L)=>{L.P2PKH="P2PKH";L.P2WPKH="P2WPKH"})(Y5||={});_5={["P2PKH"]:148,["P2WPKH"]:68},KT={["P2PKH"]:34,["P2WPKH"]:31}});var JT=l(()=>{Wf();Uf();Yf();Nf()});function R2(T,f=!1){let L=kf.hash160(T),y=f?Buffer.from([28,186]):Buffer.from([28,184]),X=Buffer.concat([y,L]);return I0.default.encode(X)}function N5(T){try{if(T.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let f=T.startsWith("t1"),L=T.startsWith("t3");if(!(f||L))return!1;let{isStagenet:y}=yy.SKConfig.get("envs");if(f&&y||L&&!y)return!1;return N2(T,Cf)}catch{return!1}}function N2(T,f){try{let L=I0.default.decode(T);if(L.length<21)return!1;let y=L[0];return y===f.pubKeyHash||y===f.scriptHash}catch{return!1}}async function I2({phrase:T,derivationPathString:f}){let L=Of.mnemonicToSeedSync(T),X=If.HDKey.fromMasterSeed(L).derive(f);if(!X.privateKey)throw new Error("Unable to derive private key");let x=D2.fromPrivateKey(Buffer.from(X.privateKey),{network:Cf}),{isStagenet:Z}=yy.SKConfig.get("envs"),J=R2(x.publicKey,Z);return{getAddress(){return Promise.resolve(J)},signTransaction(Q){for(let q=0;q<Q.inputCount;q++)Q.signInput(q,x);return Promise.resolve(Q)}}}async function O0(T){let f=await QT.match(T).with({signer:QT.P.not(QT.P.nullish)},({signer:J})=>Promise.resolve(J)).with({phrase:QT.P.string},({phrase:J,derivationPath:Q,index:q=0})=>{let z=Q||yy.NetworkDerivationPath[yy.Chain.Zcash]||[44,133,0,0,0],B=yy.updateDerivationPath(z,{index:q}),M=yy.derivationPathToString(B);return I2({phrase:J,derivationPathString:M})}).otherwise(()=>Promise.resolve(void 0)),{getFeeRates:L,broadcastTx:y,...X}=await cy({chain:yy.Chain.Zcash,signer:f});function x(J){return J.getAddress()}async function Z({recipient:J,assetValue:Q,feeOptionKey:q=yy.FeeOption.Fast,...z}){let B=await f?.getAddress();if(!(f&&B))throw new yy.SwapKitError("toolbox_utxo_no_signer");let M=z.feeRate||(await L())[q],H={...z,assetValue:Q,feeRate:M,recipient:J,sender:B},{psbt:G}=await X.createTransaction(H),R=await f.signTransaction(G);R.finalizeAllInputs();let I=R.extractTransaction().toHex();return y(I)}return{...X,broadcastTx:y,getFeeRates:L,transfer:Z,getAddressFromKeys:x,validateAddress:N5}}var Df,If,Of,yy,kf,I0,wf,QT,_2,Cf,D2;var D5=l(()=>{Df=U(require("@bitcoinerlab/secp256k1")),If=require("@scure/bip32"),Of=require("@scure/bip39"),yy=require("@swapkit/helpers"),kf=require("bitcoinjs-lib/src/crypto"),I0=U(require("bs58check")),wf=require("ecpair"),QT=require("ts-pattern");JT();AT();_2=yy.Chain.Zcash,Cf=By()(_2);D2=wf.ECPairFactory(Df.default)});function O2({inputs:T,outputs:f,chain:L,psbt:y,sender:X,compiledMemo:x}){for(let Z of T){let J=!!Z.witnessUtxo&&!ST.includes(L)&&{witnessUtxo:Z.witnessUtxo},Q=ST.includes(L)&&{nonWitnessUtxo:Z.txHex?Buffer.from(Z.txHex,"hex"):void 0};y.addInput({hash:Z.hash,index:Z.index,...J,...Q})}for(let Z of f){let J="address"in Z&&Z.address?Z.address:X,Q=Z.script;if(Q&&!x)continue;let q=Q?{script:x,value:0}:{address:J,value:Z.value};Ny.initEccLib(I5.default),y.addOutput(q)}return{psbt:y,inputs:T}}async function Pf({assetValue:T,recipient:f,memo:L,feeRate:y,sender:X,fetchTxHex:x=!1}){let Z=T.chain,J=L?await by(L):null,Q=await $f({assetValue:T,recipient:f,memo:L,sender:X,fetchTxHex:x}),{inputs:q,outputs:z}=uy({...Q,feeRate:y,chain:Z});if(!(q&&z))throw new $.SwapKitError("toolbox_utxo_insufficient_balance",{sender:X,assetValue:T});let B=await By(),M=new Ny.Psbt({network:B(Z)});if(Z===$.Chain.Dogecoin)M.setMaximumFeeRate(650000000);let{psbt:H,inputs:G}=await O2({inputs:q,outputs:z,chain:Z,psbt:M,sender:X,compiledMemo:J});return{psbt:H,utxos:Q.inputs,inputs:G}}async function lf(){let T=await By();return function f({address:L,chain:y}){if(y===$.Chain.BitcoinCash)return gy(L);if(y===$.Chain.Zcash)return N5(L);try{return Ny.initEccLib(I5.default),Ny.address.toOutputScript(L,T(y)),!0}catch(X){return!1}}}async function k2({chain:T,phrase:f,derivationPath:L}){let y=(await uT(T))({phrase:f,derivationPath:L});async function X(Z){return await Z.signAllInputs(y),Z}async function x(){return(await w0(T))(y)}return{getAddress:x,signTransaction:X}}async function cy({chain:T,...f}){let L="phrase"in f?f.phrase:void 0,y="index"in f?f.index||0:0,X=$.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:$.updateDerivationPath($.NetworkDerivationPath[T],{index:y})),x=L?await k2({chain:T,phrase:L,derivationPath:X}):("signer"in f)?f.signer:void 0;function Z(){return Promise.resolve(x?.getAddress())}let J=await w0(T),Q=await lf(),q=await uT(T);return{accumulative:uy,calculateTxSize:ZT,getAddressFromKeys:J,getAddress:Z,validateAddress:(z)=>Q({address:z,chain:T}),broadcastTx:(z)=>Uy(T).broadcastTx(z),createTransaction:Pf,createKeysForPath:q,getFeeRates:()=>bT(T),getInputsOutputsFee:Vf,transfer:E2(x),getPrivateKeyFromMnemonic:(z)=>{return q(z).toWIF()},getBalance:sT(T),estimateTransactionFee:C2(T),estimateMaxSendableAmount:w2(T)}}async function Vf({assetValue:T,feeOptionKey:f=$.FeeOption.Fast,feeRate:L,memo:y,sender:X,recipient:x}){let Z=T.chain,J=await $f({assetValue:T,sender:X,memo:y,recipient:x}),Q=L?Math.floor(L):(await bT(Z))[f];return uy({...J,feeRate:Q,chain:Z})}function w2(T){return async function f({from:L,memo:y,feeRate:X,feeOptionKey:x=$.FeeOption.Fast,recipients:Z=1}){let J=await Uy(T).getAddressData(L),Q=X?Math.ceil(X):(await bT(T))[x],q=J?.utxo.map((G)=>({...G,type:"P2PKH",hash:""})).filter((G)=>G.value>Math.max(H5(T),Sy(G)*Q));if(!q?.length)return $.AssetValue.from({chain:T});let z=$.AssetValue.from({chain:T,value:q.reduce((G,R)=>G+R.value,0)}),B=typeof Z==="number"?Array.from({length:Z},()=>({address:L,value:0})):Z;if(y){let G=await by(y);B.push({address:L,script:G,value:0})}let H=ZT({inputs:q,outputs:B,feeRate:Q})*Q;return z.sub(H)}}function C2(T){return async(f)=>{let L=await Vf(f);return $.AssetValue.from({chain:T,value:$.SwapKitNumber.fromBigInt(BigInt(L.fee),8).getValue("string")})}}async function uT(T){let f=await By();switch(T){case $.Chain.BitcoinCash:return function L({phrase:y,derivationPath:X=`${$.DerivationPath.BCH}/0`,wif:x}){let Z=f(T);if(x)return O5.ECPair.fromWIF(x,Z);if(!y)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return O5.HDNode.fromSeedBuffer(Buffer.from(k0.mnemonicToSeedSync(y)),Z).derivePath(X).keyPair};case $.Chain.Bitcoin:case $.Chain.Dogecoin:case $.Chain.Litecoin:case $.Chain.Zcash:case $.Chain.Dash:return function L({phrase:y,wif:X,derivationPath:x}){if(!(X||y))throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let Z=Ef.ECPairFactory(I5.default),J=f(T);if(X)return Z.fromWIF(X,J);let Q=k0.mnemonicToSeedSync(y),q=vf.HDKey.fromMasterSeed(Q,J).derive(x);if(!q.privateKey)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return Z.fromPrivateKey(Buffer.from(q.privateKey),{network:J})};default:throw new $.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}async function w0(T){let f=await By();return function L(y){if(!y)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let X=ST.includes(T)?Ny.payments.p2pkh:Ny.payments.p2wpkh,{address:x}=X({pubkey:y.publicKey,network:f(T)});if(!x)throw new $.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return x}}function E2(T){return async function f({memo:L,recipient:y,feeOptionKey:X,feeRate:x,assetValue:Z}){let J=await T?.getAddress(),Q=Z.chain;if(!(T&&J))throw new $.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let q=x||(await bT(Q))[X||$.FeeOption.Fast],{psbt:z}=await Pf({recipient:y,feeRate:q,sender:J,assetValue:Z,memo:L}),B=await T.signTransaction(z);return B.finalizeAllInputs(),Uy(Q).broadcastTx(B.extractTransaction().toHex())}}async function bT(T){let f=await Uy(T).getSuggestedTxFee();return{[$.FeeOption.Average]:f,[$.FeeOption.Fast]:$.applyFeeMultiplier(f,$.FeeOption.Fast),[$.FeeOption.Fastest]:$.applyFeeMultiplier(f,$.FeeOption.Fastest)}}async function $f({assetValue:T,recipient:f,memo:L,sender:y,fetchTxHex:X=!1}){let x=T.chain,Z=(await bT(x))[$.FeeOption.Fastest],J=X||ST.includes(x),Q=T.getBaseValue("number"),q=Math.ceil(Q+Z*5000);return{inputs:await Uy(x).getUtxos({address:y,fetchTxHex:J,targetValue:q}),outputs:[{address:f,value:Q},...L?[{address:"",script:await by(L),value:0}]:[]]}}var $,Ny,Ef,I5,O5,vf,k0,ST;var AT=l(()=>{$=require("@swapkit/helpers"),Ny=require("bitcoinjs-lib"),Ef=require("ecpair");eT();JT();jT();I5=U(require("@bitcoinerlab/secp256k1")),O5=require("@psf/bitcoincashjs-lib"),vf=require("@scure/bip32"),k0=require("@scure/bip39");D5();ST=[$.Chain.Dash,$.Chain.Dogecoin]});function qT(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function gy(T){let f=qT(T);return N0(f)&&D0(f)==="mainnet"}function ty(T){return qT(VT(T))}async function v2(T){async function f({builder:y,utxos:X}){return X.forEach((x,Z)=>{y.sign(Z,T,void 0,65,x.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(ty(y))},signTransaction:f}}async function C0(T){let f="phrase"in T?T.phrase:void 0,L="index"in T?T.index||0:0,y=Ty.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:Ty.updateDerivationPath(Ty.NetworkDerivationPath[Yy],{index:L})),X=f?(await uT(Yy))({phrase:f,derivationPath:y}):void 0,x=X?await v2(X):("signer"in T)?T.signer:void 0;function Z(){return Promise.resolve(x?.getAddress())}let{getBalance:J,getFeeRates:Q,broadcastTx:q,...z}=await cy({chain:Yy});function B(M,H=!0){return J(qT(VT(M)))}return{...z,getAddress:Z,broadcastTx:q,createTransaction:Kf,buildTx:l2,getAddressFromKeys:V2,getBalance:B,getFeeRates:Q,stripPrefix:qT,stripToCashAddress:ty,validateAddress:gy,transfer:P2({getFeeRates:Q,broadcastTx:q,signer:x})}}async function Kf({assetValue:T,recipient:f,memo:L,feeRate:y,sender:X}){if(!gy(f))throw new Ty.SwapKitError("toolbox_utxo_invalid_address",{address:f});let x=Math.ceil(T.getBaseValue("number")+y*7500),Z=await Uy(Yy).getUtxos({address:ty(X),fetchTxHex:!0,targetValue:x}),J=L?await by(L):null,Q=[];Q.push({address:f,value:T.getBaseValue("number")});let{inputs:q,outputs:z}=uy({inputs:Z,outputs:Q,feeRate:y,chain:Yy});if(!(q&&z))throw new Ty.SwapKitError("toolbox_utxo_insufficient_balance",{sender:X,assetValue:T});let B=await By(),M=new zT.TransactionBuilder(B(Yy));await Promise.all(q.map(async(H)=>{let G=await Uy(Yy).getRawTx(H.hash);M.addInput(zT.Transaction.fromBuffer(Buffer.from(G,"hex")),H.index)}));for(let H of z){let G="address"in H&&H.address?H.address:LT(X),R=await By(),I=zT.address.toOutputScript(LT(G),R(Yy));M.addOutput(I,H.value)}if(J)M.addOutput(J,0);return{builder:M,utxos:q}}function P2({broadcastTx:T,getFeeRates:f,signer:L}){return async function y({recipient:X,assetValue:x,feeOptionKey:Z=Ty.FeeOption.Fast,...J}){let Q=await L?.getAddress();if(!(L&&Q))throw new Ty.SwapKitError("toolbox_utxo_no_signer");if(!X)throw new Ty.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let q=J.feeRate||(await f())[Z],{builder:z,utxos:B}=await Kf({...J,assetValue:x,feeRate:q,recipient:X,sender:Q}),H=(await L.signTransaction({builder:z,utxos:B})).toHex();return T(H)}}async function l2({assetValue:T,recipient:f,memo:L,feeRate:y,sender:X,setSigHashType:x}){let Z=VT(f);if(!gy(Z))throw new Ty.SwapKitError("toolbox_utxo_invalid_address",{address:Z});let J=Math.ceil(T.getBaseValue("number")+y*7500),Q=await Uy(Yy).getUtxos({address:ty(X),fetchTxHex:!1,targetValue:J}),q=Number(y.toFixed(0)),z=L?await by(L):null,B=[];if(B.push({address:LT(f),value:T.getBaseValue("number")}),z)B.push({script:z,value:0});let{inputs:M,outputs:H}=uy({inputs:Q,outputs:B,feeRate:q,chain:Yy});if(!(M&&H))throw new Ty.SwapKitError("toolbox_utxo_insufficient_balance",{sender:X,assetValue:T});let G=await By(),R=new Ff.Psbt({network:G(Yy)});for(let{hash:I,index:S,witnessUtxo:b}of M)R.addInput({hash:I,index:S,witnessUtxo:b,sighashType:x?65:void 0});for(let I of H){let S="address"in I&&I.address?I.address:LT(X),b=I.script?z?{script:z,value:0}:void 0:{address:S,value:I.value};if(b)R.addOutput(b)}return{psbt:R,utxos:Q,inputs:M}}function V2(T){let f=T.getAddress(0);return ty(f)}var zT,Ty,Ff,Yy;var jT=l(()=>{zT=require("@psf/bitcoincashjs-lib"),Ty=require("@swapkit/helpers"),Ff=require("bitcoinjs-lib");JT();AT();Yy=Ty.Chain.BitcoinCash});async function $2(T,f){switch(T){case ky.Chain.BitcoinCash:return await C0(f||{});case ky.Chain.Zcash:return await O0(f);case ky.Chain.Bitcoin:case ky.Chain.Dogecoin:case ky.Chain.Litecoin:case ky.Chain.Dash:return await cy({chain:T,...f});default:throw new ky.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var ky;var Af=l(()=>{ky=require("@swapkit/helpers");jT();AT();D5();jT()});var E0={};qy(E0,{validateZcashAddress:()=>N5,toLegacyAddress:()=>LT,toCashAddress:()=>VT,stripToCashAddress:()=>ty,stripPrefix:()=>qT,nonSegwitChains:()=>ST,isValidAddress:()=>N0,getUtxoToolbox:()=>$2,getUtxoNetwork:()=>By,getUtxoApi:()=>Uy,getUTXOAddressValidator:()=>lf,getScriptTypeForAddress:()=>FT,getOutputSize:()=>$T,getInputSize:()=>Sy,getDustThreshold:()=>H5,getCreateKeysForPath:()=>uT,detectAddressNetwork:()=>D0,createZcashToolbox:()=>O0,createUTXOToolbox:()=>cy,createCustomUtxoApi:()=>Q2,createBCHToolbox:()=>C0,compileMemo:()=>by,calculateTxSize:()=>ZT,bchValidateAddress:()=>gy,addressFromKeysGetter:()=>w0,accumulative:()=>uy,UtxoNetwork:()=>R0,UTXOScriptType:()=>Y5,TX_OVERHEAD:()=>U5,OutputSizes:()=>KT,OP_RETURN_OVERHEAD:()=>Rf,MIN_TX_FEE:()=>H2,InputSizes:()=>_5});module.exports=_y(E0);var v0=l(()=>{Af();jT();AT();D5();JT()});async function F2(T){try{let f=await fetch(`https://lite-api.jup.ag/tokens/v1/token/${T}`);if(!f.ok)return null;return await f.json()}catch{return null}}async function K2(T){let f=await dy(),{PublicKey:L}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),X=new L(T),x=[],Z=await f.getBalance(X);if(Z>0)x.push(h.AssetValue.from({chain:h.Chain.Solana,value:Z,fromBaseDecimal:h.BaseDecimal[h.Chain.Solana]}));let J=await f.getParsedTokenAccountsByOwner(X,{programId:y});for(let{account:Q}of J.value){let q=Q.data.parsed.info,z=q.mint,B=q.tokenAmount.amount;if(Number(B)===0)continue;let M=await F2(z),H=M?.symbol||"UNKNOWN",G=M?.decimals||q.tokenAmount.decimals;x.push(h.AssetValue.from({asset:`${h.Chain.Solana}.${H}-${z}`,value:B,fromBaseDecimal:G}))}return x}async function $0(){let{PublicKey:T}=await import("@solana/web3.js");return(f)=>{try{let L=new T(f);return T.isOnCurve(L.toBytes())}catch(L){return!1}}}async function A2(T){let f=T&&"index"in T?T.index||0:0,L=h.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:h.updateDerivationPath(h.NetworkDerivationPath[h.Chain.Solana],{index:f})),y=await uf.match(T).with({phrase:P0.P.string},({phrase:x})=>V0({phrase:x,derivationPath:L})).with({signer:P0.P.any},({signer:x})=>x).otherwise(()=>{return});function X(){return y?.publicKey?Sf(y.publicKey):""}return{getConnection:dy,getAddress:X,createKeysForPath:V0,getAddressFromPubKey:Sf,getPubkeyFromAddress:K0,createTransaction:F0(dy),createTransactionFromInstructions:j2,getBalance:(x)=>{let Z=x||X();if(!Z)throw new h.SwapKitError("core_wallet_connection_not_found");return K2(Z)},transfer:h2(dy,y),broadcastTransaction:l0(dy),getAddressValidator:$0,signTransaction:n2(dy,y),estimateTransactionFee:S2(dy)}}function S2(T){return async({recipient:f,assetValue:L,memo:y,isProgramDerivedAddress:X,sender:x})=>{let Z=await T(),Q=(await F0(T)({recipient:f,assetValue:L,memo:y,isProgramDerivedAddress:X,sender:x})).compileMessage(),q=await Z.getFeeForMessage(Q);if(q.value===null)throw new h.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");return h.AssetValue.from({chain:h.Chain.Solana,value:q.value,fromBaseDecimal:h.BaseDecimal[h.Chain.Solana]})}}async function dy(){let{Connection:T}=await import("@solana/web3.js");return new T(h.SKConfig.get("rpcUrls").SOL,"confirmed")}function u2(T){return async({assetValue:f,recipient:L,sender:y,isProgramDerivedAddress:X})=>{let x=await T(),Z=await K0(y);if(f.isGasAsset){let{Transaction:J,SystemProgram:Q,PublicKey:q}=await import("@solana/web3.js");return new J().add(Q.transfer({fromPubkey:Z,lamports:f.getBaseValue("number"),toPubkey:new q(L)}))}if(f.address)return b2({amount:f.getBaseValue("number"),connection:x,decimals:f.decimal,from:Z,recipient:L,tokenAddress:f.address,isProgramDerivedAddress:X});return}}async function b2({tokenAddress:T,recipient:f,from:L,connection:y,amount:X,decimals:x,isProgramDerivedAddress:Z}){let{getAssociatedTokenAddress:J,getAccount:Q,createAssociatedTokenAccountInstruction:q,createTransferCheckedInstruction:z}=await import("@solana/spl-token"),{Transaction:B,PublicKey:M}=await import("@solana/web3.js"),H=new B,G=new M(T),R=await J(G,L),I=new M(f),S=await J(G,I,Z),b=!1;try{await Q(y,S),b=!0}catch(d){}if(!b)H.add(q(L,S,I,G));return H.add(z(R,G,S,L,X,x)),H}function F0(T){return async({recipient:f,assetValue:L,memo:y,isProgramDerivedAddress:X,sender:x})=>{let{createMemoInstruction:Z}=await import("@solana/spl-memo"),J=await K0(x),Q=await $0();if(!(X||Q(f)))throw new h.SwapKitError("core_transaction_invalid_recipient_address");let q=await T(),z=await u2(T)({assetValue:L,recipient:f,sender:x,isProgramDerivedAddress:X});if(!z)throw new h.SwapKitError("core_transaction_invalid_sender_address");if(y)z.add(Z(y));let B=await q.getLatestBlockhash();return z.recentBlockhash=B.blockhash,z.feePayer=J,z}}async function j2({instructions:T}){let{Transaction:f}=await import("@solana/web3.js"),L=new f().add(...T);if(!L)throw new h.SwapKitError("core_transaction_invalid_sender_address");return L}function h2(T,f){return async({recipient:L,assetValue:y,memo:X,isProgramDerivedAddress:x})=>{if(!f)throw new h.SwapKitError("core_transaction_invalid_sender_address");let Z=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),J=await F0(T)({recipient:L,assetValue:y,memo:X,isProgramDerivedAddress:x,sender:Z});if("connect"in f){let Q=await f.signTransaction(J);return l0(T)(Q)}return J.sign(f),l0(T)(J)}}function l0(T){return async(f)=>{return(await T()).sendRawTransaction(f.serialize())}}function n2(T,f){return async(L)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!f)throw new h.SwapKitError("toolbox_solana_no_signer");if(!(L instanceof y)){let x=await(await T()).getLatestBlockhash();L.recentBlockhash=x.blockhash,L.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(L);return await L.sign([f]),L}}async function V0({phrase:T,derivationPath:f=h.DerivationPath.SOL}){let{HDKey:L}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:X}=await import("@solana/web3.js"),x=y(T),Z=L.fromMasterSeed(x);return X.fromSeed(Z.derive(f,!0).privateKey)}function Sf(T){return T.toString()}async function K0(T){let{PublicKey:f}=await import("@solana/web3.js");return new f(T)}var h,P0,uf;var bf=l(()=>{h=require("@swapkit/helpers"),P0=require("ts-pattern"),uf=require("ts-pattern")});var A0={};qy(A0,{getSolanaToolbox:()=>A2,getSolanaAddressValidator:()=>$0,createKeysForPath:()=>V0});module.exports=_y(A0);var S0=l(()=>{bf()});async function hT(){let{validateAccountId:T}=await import("near-sdk-js");return(f)=>{try{return T(f)}catch{let L=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return f.length>=2&&f.length<=64&&L.test(f)}}}async function w5(T){let{parseSeedPhrase:f}=await import("near-seed-phrase"),{KeyPair:L}=await import("near-api-js"),y=T.index||0,X=T.derivationPath?k5.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:x}=f(T.phrase,X),Z=L.fromString(x);return nf(Z)}async function u0(T){let{KeyPair:f}=await import("near-api-js/lib/utils"),L=f.fromString(T);return nf(L)}function nf(T){return new hf(T)}async function C5(T,f){let y=(await T.query({request_type:"view_access_key_list",finality:"final",account_id:f})).keys.find((J)=>J.access_key.permission==="FullAccess");if(!y)throw new k5.SwapKitError("toolbox_near_invalid_address");let{utils:X}=await import("near-api-js"),x=X.PublicKey.fromString(y.public_key),Z=y.access_key.nonce||0;return{publicKey:x,nonce:Z}}var k5,jf,hf;var b0=l(()=>{k5=require("@swapkit/helpers"),jf=require("near-api-js");hf=class hf extends jf.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),f=Buffer.from(T.data).toString("hex");return Promise.resolve(f)}}});function j0(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function h0(T){return"contractId"in T&&"methodName"in T}function n0(T){return"actions"in T}function p0(T){return"newAccountId"in T}function o0(T){return"contractCode"in T}function m0(T){return"customEstimator"in T}function c0(T){let f=0;for(let L of T)switch(L.enum){case"transfer":f+=Number(fy.SIMPLE_TRANSFER);break;case"functionCall":f+=Number(fy.CONTRACT_CALL);break;case"createAccount":f+=Number(fy.ACCOUNT_CREATION);break;case"deployContract":f+=Number(fy.CONTRACT_DEPLOYMENT);break;case"addKey":f+=Number(fy.ACCESS_KEY_ADDITION);break;case"deleteKey":f+=Number(fy.ACCESS_KEY_DELETION);break;case"stake":f+=Number(fy.STAKE);break;default:f+=Number(fy.CONTRACT_CALL)}return f.toString()}function g0(T){if(T==="ft_transfer"||T==="ft_transfer_call")return fy.TOKEN_TRANSFER;if(T==="storage_deposit")return fy.STORAGE_DEPOSIT;return fy.CONTRACT_CALL}function p2(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function o2(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var fy;var t0=l(()=>{fy={SIMPLE_TRANSFER:"1",TOKEN_TRANSFER:"100",CONTRACT_CALL:"100",ACCOUNT_CREATION:"30",CONTRACT_DEPLOYMENT:"200",ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",STAKE:"10",STORAGE_DEPOSIT:"100"}});async function E5({account:T,contractId:f,viewMethods:L,changeMethods:y}){let{Contract:X}=await import("near-api-js");return new X(T,f,{viewMethods:L,changeMethods:y,useLocalViewExecution:!0})}async function d0({contractId:T,account:f}){let L=(await import("bn.js")).default,y=await E5({account:f,contractId:T,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"],changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"]}),X=async(x)=>{if(!await y.storage_balance_of({account_id:x})){let Q=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:x},new L("100000000000000"),new L(Q))}};return{transfer:async(x,Z,J)=>{return await X(x),y.ft_transfer({receiver_id:x,amount:Z,memo:J},new L("100000000000000"),new L("1"))},transferCall:async(x,Z,J,Q)=>{return await X(x),y.ft_transfer_call({receiver_id:x,amount:Z,memo:Q,msg:J},new L("100000000000000"),new L("1"))},balanceOf:(x)=>y.ft_balance_of({account_id:x}),totalSupply:()=>y.ft_total_supply(),metadata:()=>y.ft_metadata(),storageBalanceOf:(x)=>y.storage_balance_of({account_id:x}),storageDeposit:(x,Z)=>y.storage_deposit({account_id:x},new L("100000000000000"),new L(Z||"1250000000000000000000")),ensureStorage:X,contract:y}}async function m2(T){let{P:f,match:L}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),X=await L(T).with({phrase:f.string},async(E)=>{return await w5(E)}).with({signer:f.any},({signer:E})=>E).otherwise(()=>{return}),x=u.SKConfig.get("rpcUrls")[u.Chain.Near],Z=new y.JsonRpcProvider({url:x});async function J(E){let{Account:Y}=await import("near-api-js"),D=E||await Q();return new Y(D,Z,X)}async function Q(){if(!X)throw new u.SwapKitError("toolbox_near_no_signer");return await X.getAddress()}async function q(E){if(!X)throw new u.SwapKitError("toolbox_near_no_signer");let{recipient:Y,assetValue:D}=E;if(!(await hT())(Y))throw new u.SwapKitError("toolbox_near_invalid_address");let V=await J();if(D.isGasAsset===!1){let v=D.address;if(!v)throw new u.SwapKitError("toolbox_near_missing_contract_address");let A=D.getBaseValue("string");return S({contractId:v,methodName:"ft_transfer",args:{receiver_id:Y,amount:A,memo:E.memo}})}try{let v=D.getBaseValue("string");return(await V.transfer({receiverId:Y,amount:v})).transaction_outcome.id}catch(v){throw new u.SwapKitError("toolbox_near_transfer_failed",{error:v})}}async function z(E){let{recipient:Y,assetValue:D,memo:w,feeRate:V,attachedDeposit:v,sender:A}=E,i=await hT();if(!i(Y))throw new u.SwapKitError("toolbox_near_invalid_address",{address:Y});if(!i(A))throw new u.SwapKitError("toolbox_near_invalid_address",{address:A});if(!D.isGasAsset){let cT=D.address;if(!cT)throw new u.SwapKitError("toolbox_near_missing_contract_address");return B({sender:A,contractId:cT,methodName:"ft_transfer",args:{receiver_id:Y,amount:D.getBaseValue("string"),memo:w||null},gas:V.toString()||"100000000000000",attachedDeposit:"1"})}let{publicKey:o,nonce:g}=await C5(Z,A),Qy=D.getBaseValue("bigint"),{SCHEMA:Ly}=await import("near-api-js/lib/transaction"),{transactions:Gy,utils:Wy}=await import("near-api-js"),hy=[Gy.transfer(Qy)];if(w&&v)hy.push(Gy.functionCall("memo",{memo:w},BigInt(V),BigInt(v)));let pT=await Z.block({finality:"final"}),oT=Wy.serialize.base_decode(pT.header.hash),iy=Gy.createTransaction(A,o,Y,g,hy,oT),mT=Wy.serialize.serialize(Ly.Transaction,iy);return{serialized:Buffer.from(mT).toString("base64"),publicKey:o.toString(),details:{signerId:A,nonce:g,blockHash:Wy.serialize.base_encode(oT)}}}async function B(E){let{sender:Y}=E,{publicKey:D,nonce:w}=await C5(Z,Y),{SCHEMA:V}=await import("near-api-js/lib/transaction"),{transactions:v,utils:A}=await import("near-api-js"),i=await Z.block({finality:"final"}),o=A.serialize.base_decode(i.header.hash),g=[v.functionCall(E.methodName,Buffer.from(JSON.stringify(E.args)),BigInt(E.gas),BigInt(E.attachedDeposit))],Qy=v.createTransaction(Y,D,E.contractId,w,g,o),Ly=A.serialize.serialize(V.Transaction,Qy);return{serialized:Buffer.from(Ly).toString("base64"),publicKey:D.toString(),details:{signerId:Y,receiverId:E.contractId,methodName:E.methodName,nonce:w,blockHash:A.serialize.base_encode(o)}}}async function M(E){if(!X)throw new u.SwapKitError("toolbox_near_no_signer");let[Y,D]=await X.signTransaction(E);return D}async function H(E){return(await Z.sendTransaction(E)).transaction.hash}async function G(E){if("assetValue"in E){let V=BigInt("115123062500")+BigInt("108059500000"),v=await R(),A=V*BigInt(v.toString());return u.AssetValue.from({chain:u.Chain.Near,value:A.toString(),fromBaseDecimal:u.BaseDecimal[u.Chain.Near]})}let Y=X?await J():void 0;return r(E,Y)}async function R(){try{return await Z.query({request_type:"call_function",finality:"final",account_id:"system",method_name:"gas_price",args_base64:""})}catch{return"100000000"}}async function I(E,Y,D){if(!X)throw new u.SwapKitError("toolbox_near_no_signer");let w=await J(),{utils:V}=await import("near-api-js"),v=V.format.parseNearAmount(D)||"0";return(await w.createAccount(E,V.PublicKey.fromString(Y),BigInt(v))).transaction.hash}async function S(E){try{if(!X)throw new u.SwapKitError("toolbox_near_no_signer");let{transactions:Y}=await import("near-api-js"),{contractId:D,methodName:w,args:V,deposit:v}=E,A=await J(),i=await r({methodName:w,args:V||{},contractId:D}),o=Y.functionCall(w,V||{},i.getBaseValue("bigint"),BigInt(v||"0"));return(await A.signAndSendTransaction({receiverId:D,actions:[o]})).transaction_outcome.id}catch(Y){throw new u.SwapKitError("toolbox_near_transfer_failed",{error:Y})}}async function b(E){let Y=await J();return E5({account:Y,contractId:E.contractId,viewMethods:E.viewMethods,changeMethods:E.changeMethods})}async function d(E){if(!X)throw new u.SwapKitError("toolbox_near_no_signer");if(E.actions.length===0)throw new u.SwapKitError("toolbox_near_empty_batch");return(await(await J()).signAndSendTransaction({receiverId:E.receiverId,actions:E.actions})).transaction.hash}async function c(E){let Y=await J();return d0({contractId:E,account:Y})}async function s(E){try{let Y=await J(E),D;try{let w=await Y.getBalance();D=u.AssetValue.from({chain:u.Chain.Near,value:w,fromBaseDecimal:u.BaseDecimal[u.Chain.Near]})}catch{D=u.AssetValue.from({chain:u.Chain.Near,value:"0",fromBaseDecimal:u.BaseDecimal[u.Chain.Near]})}return[D]}catch(Y){throw new u.SwapKitError("toolbox_near_balance_failed",{error:Y})}}async function r(E,Y){let D=await L(E).when(j0,()=>fy.SIMPLE_TRANSFER).when(h0,(A)=>g0(A.methodName)).when(n0,(A)=>c0(A.actions)).when(p0,()=>fy.ACCOUNT_CREATION).when(o0,()=>fy.CONTRACT_DEPLOYMENT).when(m0,(A)=>{if(!Y)throw new u.SwapKitError("toolbox_near_no_account");return A.customEstimator(Y)}).otherwise(()=>{throw new u.SwapKitError("toolbox_near_invalid_gas_params")}),w=await xy(),v=BigInt(D)*BigInt(1000000000000)*BigInt(w);return u.AssetValue.from({chain:u.Chain.Near,value:v,fromBaseDecimal:u.BaseDecimal[u.Chain.Near]})}async function xy(){try{return(await Z.gasPrice(null)).gas_price||"100000000"}catch(E){return"100000000"}}return{getAddress:Q,getPublicKey:async()=>X?(await X.getPublicKey()).toString():"",provider:Z,transfer:q,createTransaction:z,createContractFunctionCall:B,estimateTransactionFee:G,broadcastTransaction:H,signTransaction:M,getBalance:s,validateAddress:await hT(),getSignerFromPhrase:(E)=>w5(E),getSignerFromPrivateKey:u0,callFunction:S,createSubAccount:I,createContract:b,executeBatchTransaction:d,nep141:c,getGasPrice:xy,estimateGas:r}}var u;var i0=l(()=>{u=require("@swapkit/helpers");b0();t0()});var pf=l(()=>{i0()});var r0={};qy(r0,{tgasToGas:()=>p2,isSimpleTransfer:()=>j0,isCustomEstimator:()=>m0,isContractDeployment:()=>o0,isContractCall:()=>h0,isBatchTransaction:()=>n0,isAccountCreation:()=>p0,getValidateNearAddress:()=>hT,getNearToolbox:()=>m2,getNearSignerFromPrivateKey:()=>u0,getNearSignerFromPhrase:()=>w5,getFullAccessPublicKey:()=>C5,getContractMethodGas:()=>g0,gasToTGas:()=>o2,estimateBatchGas:()=>c0,createNearContract:()=>E5,createNEP141Token:()=>d0,GAS_COSTS:()=>fy});module.exports=_y(r0);var a0=l(()=>{i0();pf();b0();t0()});var e0={};qy(e0,{rippleValidateAddress:()=>s0,hashes:()=>mf.hashes,getRippleToolbox:()=>g2});module.exports=_y(e0);function of(T){let f=jy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(f.address),signTransaction:(L)=>Promise.resolve(f.sign(L))}}function s0(T){return jy.isValidAddress(T)}var n,jy,mf,c2,g2=async(T={})=>{let f="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?of(T.phrase):void 0,L=n.SKConfig.get("rpcUrls")[n.Chain.Ripple];if(!L)throw new n.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:n.Chain.Ripple}});let y=new jy.Client(L);await y.connect();let X=()=>{if(!f)throw new n.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.getAddress()},x=async(M)=>{let H=M||await X();try{let R=(await y.request({command:"account_info",account:H})).result.account_data.Balance;return[n.AssetValue.from({chain:n.Chain.Ripple,value:R,fromBaseDecimal:n.BaseDecimal[n.Chain.Ripple]})]}catch(G){if(G.data.error_code===c2.ACCOUNT_NOT_FOUND)return[n.AssetValue.from({chain:n.Chain.Ripple,value:0})];throw new n.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:H,error:G}})}},Z=async()=>{let H=(await y.request({command:"fee"})).result.drops.open_ledger_fee;return n.AssetValue.from({chain:n.Chain.Ripple,value:n.SwapKitNumber.fromBigInt(BigInt(H),n.BaseDecimal[n.Chain.Ripple])})},J=async({assetValue:M,recipient:H,memo:G,sender:R})=>{if(!s0(H))throw new n.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let I=R||await X();if(!M.isGasAsset||M.chain!==n.Chain.Ripple)throw new n.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:M.toString()}});let S={TransactionType:"Payment",Account:I,Amount:jy.xrpToDrops(M.getValue("string")),Destination:H};if(G)S.Memos=[{Memo:{MemoData:Buffer.from(G).toString("hex")}}];return await y.autofill(S)},Q=(M)=>{if(!f)throw new n.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.signTransaction(M)},q=async(M)=>{let G=(await y.submitAndWait(M)).result;if(G.validated)return G.hash;throw new n.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:n.Chain.Ripple}})};return{signer:f,createSigner:of,getAddress:X,validateAddress:s0,getBalance:x,createTransaction:J,signTransaction:Q,broadcastTransaction:q,transfer:async(M)=>{if(!f)throw new n.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let H=await f.getAddress(),G=await J({...M,sender:H}),R=await Q(G);return q(R.tx_blob)},estimateTransactionFee:Z,disconnect:()=>y.disconnect()}};var y1=l(()=>{n=require("@swapkit/helpers"),jy=require("xrpl"),mf=require("xrpl"),c2={ACCOUNT_NOT_FOUND:19}});var T1={};qy(T1,{radixValidateAddress:()=>cf,RadixToolbox:()=>a2});module.exports=_y(T1);function cf(T){return T.startsWith("account_rdx1")&&T.length===66}function t2({networkApi:T}){return async function f(L){let y=await d2({address:L,networkApi:T});return i2({resources:y,networkApi:T})}}async function d2({address:T,networkApi:f}){let L=!0,y,X=[],x=await r2(f);while(L){let Z={address:T,limit_per_page:100,cursor:y,at_ledger_state:{state_version:x}},J=await f.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:Z});if(X=X.concat(J.items),J.next_cursor)y=J.next_cursor;else L=!1}return X}async function i2({resources:T,networkApi:f}){let L=[],y=50,X=[];for(let x=0;x<T.length;x+=50)X.push(T.slice(x,x+50));for(let x of X){let Z=x.map((q)=>q.resource_address),J=await f.state.getEntityDetailsVaultAggregated(Z),Q=new Map;for(let q of J)if(q.details!==void 0){let z=q.metadata?.items.find((M)=>M.key==="symbol"),B=z?.value.typed.type==="String"?z.value.typed.value:"?";if(q.details.type==="FungibleResource")Q.set(q.address,{decimals:q.details.divisibility,symbol:B})}for(let q of x)if(q.aggregation_level==="Global"){let z=Q.get(q.resource_address)||{decimals:0,symbol:"?"},B=wy.AssetValue.from({asset:z.symbol!==wy.Chain.Radix?`${wy.Chain.Radix}.${z.symbol}-${q.resource_address}`:"XRD.XRD",value:q.amount});L.push(B)}}return L}async function r2(T){return T.status.getCurrent().then((f)=>f.ledger_state.state_version)}var wy,a2=async({dappConfig:T}={})=>{let{RadixDappToolkit:f}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:L}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||wy.SKConfig.get("integrations").radix,X=f({...y,networkId:y.network?.networkId||1}),x=L.initialize(X.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:t2({networkApi:x}),networkApi:x,validateAddress:cf,signAndBroadcast:()=>{throw new wy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})}}};var f1=l(()=>{wy=require("@swapkit/helpers")});var MT;var X1=l(()=>{MT=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{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"},{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"}]});async function tf(T){let f=await import("tronweb"),L=f.TronWeb??f.default?.TronWeb;try{let y=await fetch(`${s2}/v1/accounts/${T}`);if(!y.ok)throw new Error(`TronGrid API error: ${y.status} ${y.statusText}`);let X=await y.json();if(!(X.success&&X.data)||X.data.length===0)throw new Error("Invalid response from TronGrid API");let x;try{x=L.address.toHex(T).toLowerCase()}catch{x=T.toLowerCase()}let Z=X.data.find((J)=>{return J.address.toLowerCase()===x});if(!Z)return;return{balance:Z.balance,trc20:Z.trc20||[]}}catch(y){throw new gf.SwapKitError("toolbox_tron_trongrid_api_error",{message:y instanceof Error?y.message:"Unknown error",address:T})}}var gf,s2="https://api.trongrid.io";var df=l(()=>{gf=require("@swapkit/helpers")});async function x1(){let T=await import("tronweb"),f=T.TronWeb??T.default?.TronWeb;return(L)=>{return f.isAddress(L)}}async function af({phrase:T,derivationPath:f,index:L}){let y=f||P.derivationPathToString(P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:L||0})),{HDKey:X}=await import("@scure/bip32"),{mnemonicToSeedSync:x}=await import("@scure/bip39"),Z=x(T),Q=X.fromMasterSeed(Z).derive(y);if(!Q.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");return Buffer.from(Q.privateKey).toString("hex")}async function X8({phrase:T,derivationPath:f,tronWeb:L}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:X}=await import("@scure/bip39"),x=X(T),J=y.fromMasterSeed(x).derive(f);if(!J.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");let Q=Buffer.from(J.privateKey).toString("hex");L.setPrivateKey(Q);let q=L?.address.fromPrivateKey(Q);return{getAddress:()=>Promise.resolve(typeof q==="string"?q:""),signTransaction:async(z)=>{return await L.trx.sign(z,Q)}}}var P,nT,e2=268,y8=13000,T8=345,rf="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",f8="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",sf=async(T={})=>{let f=await import("tronweb"),L=f.TronWeb??f.default?.TronWeb,y=P.SKConfig.get("rpcUrls")[P.Chain.Tron],X=void 0,x=new L({fullHost:y,headers:void 0}),Z="index"in T?T.index||0:0,J=P.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:Z})),Q=await nT.match(T).with({phrase:nT.P.string},async({phrase:Y})=>X8({phrase:Y,derivationPath:J,tronWeb:x})).with({signer:nT.P.any},({signer:Y})=>Promise.resolve(Y)).otherwise(()=>Promise.resolve(void 0)),q=async()=>{if(!Q)throw new P.SwapKitError("toolbox_tron_no_signer");return await Q.getAddress()},z=()=>{return 1e8},B=async()=>{try{let Y=await x.trx.getChainParameters(),D={};for(let w of Y)D[w.key]=w.value;return{energyFee:D.getEnergyFee||420,bandwidthFee:D.getTransactionFee||1000,createAccountFee:D.getCreateAccountFee||1e5}}catch{return{energyFee:420,bandwidthFee:1000,createAccountFee:1e5}}},M=async(Y)=>{try{let D=await x.trx.getAccount(Y);return D&&Object.keys(D).length>0}catch{return!1}},H=async(Y)=>{try{let D=await x.trx.getAccountResources(Y);return{bandwidth:{free:D.freeNetLimit-D.freeNetUsed,total:D.NetLimit||0,used:D.NetUsed||0},energy:{total:D.EnergyLimit||0,used:D.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},G=async(Y,D)=>{try{let w=x.contract(MT,D);if(!w.methods?.balanceOf)return 0n;let V=(await w.methods.balanceOf(Y).call())[0];return BigInt(V||0)}catch(w){return console.warn(`balanceOf() failed for ${D}:`,w),0n}},R=async(Y,D)=>{try{x.setAddress(D);let w=x.contract(MT,Y),[V,v]=await Promise.all([w.symbol().call().catch(()=>"UNKNOWN"),w.decimals().call().catch(()=>"18")]);return{symbol:V??"UNKNOWN",decimals:Number(v??18)}}catch(w){return P.warnOnce(!0,`Failed to get token balance for ${Y}: ${w instanceof Error?w.message:w}`),null}},I=async(Y,D=!0)=>{let w=[P.AssetValue.from({chain:P.Chain.Tron})];try{let V=await tf(Y);if(V){let v=[];v.push(P.AssetValue.from({chain:P.Chain.Tron,value:V.balance,fromBaseDecimal:6}));for(let A of V.trc20){let[i,o]=Object.entries(A)[0]||[];if(!(i&&o))continue;let g=await R(i,Y);if(!g)continue;v.push(P.AssetValue.from({asset:`TRON.${g.symbol}-${i}`,value:BigInt(o||0),fromBaseDecimal:g.decimals}))}return v}return w}catch(V){P.warnOnce(!0,`Tron API getBalance failed: ${V instanceof Error?V.message:V}`);let v=[],A=await x.trx.getBalance(Y);if(A&&Number(A)>0)v.push(P.AssetValue.from({chain:P.Chain.Tron,value:A,fromBaseDecimal:6}));let i=await G(Y,rf);if(i)v.push(P.AssetValue.from({asset:`TRON.USDT-${rf}`,value:i,fromBaseDecimal:6}));return v}},S=async({recipient:Y,assetValue:D,memo:w})=>{if(!Q)throw new P.SwapKitError("toolbox_tron_no_signer");let V=await q();if(x.setAddress(V),D.isGasAsset){let g=await x.transactionBuilder.sendTrx(Y,D.getBaseValue("number"),V);if(w){let Gy=await x.transactionBuilder.addUpdateData(g,w,"utf8"),Wy=await Q.signTransaction(Gy),{txid:hy}=await x.trx.sendRawTransaction(Wy);return hy}let Qy=await Q.signTransaction(g),{txid:Ly}=await x.trx.sendRawTransaction(Qy);return Ly}let A=await d({recipient:Y,assetValue:D,memo:w,sender:V}),i=await Q.signTransaction(A),{txid:o}=await x.trx.sendRawTransaction(i);if(!o)throw new P.SwapKitError("toolbox_tron_token_transfer_failed");return o},b=async({assetValue:Y,recipient:D,sender:w})=>{let V=Y.isGasAsset;try{let v=w?w:Q?await q():void 0;if(!v)return V?P.AssetValue.from({chain:P.Chain.Tron,value:0.1,fromBaseDecimal:0}):P.AssetValue.from({chain:P.Chain.Tron,value:15,fromBaseDecimal:0});let A=await B(),o=await M(D)?0:A.createAccountFee,g=await H(v);if(V){let iy=e2,mT=g.bandwidth.free+(g.bandwidth.total-g.bandwidth.used),v5=0;if(iy>mT)v5=(iy-mT)*A.bandwidthFee;let cT=o+v5;return P.AssetValue.from({chain:P.Chain.Tron,value:cT,fromBaseDecimal:6})}let Qy=T8,Ly=y8,Gy=g.bandwidth.free+(g.bandwidth.total-g.bandwidth.used),Wy=g.energy.total-g.energy.used,hy=0;if(Qy>Gy)hy=(Qy-Gy)*A.bandwidthFee;let pT=0;if(Ly>Wy)pT=(Ly-Wy)*A.energyFee;let oT=o+hy+pT;return P.AssetValue.from({chain:P.Chain.Tron,value:oT,fromBaseDecimal:6})}catch(v){throw P.warnOnce(!0,`Failed to calculate exact fee, using conservative estimate: ${v instanceof Error?v.message:v}`),new P.SwapKitError("toolbox_tron_fee_estimation_failed",{error:v})}},d=async(Y)=>{let{recipient:D,assetValue:w,memo:V,sender:v}=Y;if(w.isGasAsset){let o=await x.transactionBuilder.sendTrx(D,w.getBaseValue("number"),v);if(V)return x.transactionBuilder.addUpdateData(o,V,"utf8");return o}x.setAddress(v);let i=w.address;if(!i)throw new P.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:w.toString()});try{let g=[{type:"address",value:D},{type:"uint256",value:w.getBaseValue("string")}],Qy={feeLimit:z(),callValue:0};return(await x.transactionBuilder.triggerSmartContract(i,"transfer(address,uint256)",Qy,g,v)).transaction}catch(o){throw new P.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:o instanceof Error?o.message:String(o)})}},c=async(Y)=>{if(!Q)throw new P.SwapKitError("toolbox_tron_no_signer");return await Q.signTransaction(Y)},s=async(Y)=>{let{txid:D}=await x.trx.sendRawTransaction(Y);return D},r=async({assetAddress:Y,spenderAddress:D,from:w})=>{try{let V=x.contract(MT,Y);if(!V.methods?.allowance)throw new P.SwapKitError("toolbox_tron_invalid_token_contract");let v=(await V.methods.allowance(w,D).call())[0];return BigInt(v||0)}catch(V){throw new P.SwapKitError("toolbox_tron_allowance_check_failed",{error:V})}},xy=async({assetAddress:Y,spenderAddress:D,from:w,amount:V})=>{let v=await r({assetAddress:Y,spenderAddress:D,from:w});if(!V)return v>0n;let A=BigInt(V);return v>=A},E=async({assetAddress:Y,spenderAddress:D,amount:w,from:V})=>{if(!Q)throw new P.SwapKitError("toolbox_tron_no_signer");let v=V||await q(),A=w!==void 0?BigInt(w).toString():f8,i="approve(address,uint256)",o=[{type:"address",value:D},{type:"uint256",value:A}],Qy={feeLimit:z(),callValue:0};try{let{transaction:Ly}=await x.transactionBuilder.triggerSmartContract(Y,i,Qy,o,v),Gy=await Q.signTransaction(Ly),{txid:Wy}=await x.trx.sendRawTransaction(Gy);if(!Wy)throw new P.SwapKitError("toolbox_tron_approve_failed");return Wy}catch(Ly){throw new P.SwapKitError("toolbox_tron_approve_failed",{error:Ly})}};return{tronWeb:x,getAddress:q,validateAddress:await x1(),getBalance:I,transfer:S,estimateTransactionFee:b,createTransaction:d,signTransaction:c,broadcastTransaction:s,approve:E,isApproved:xy,getApprovedAmount:r}};var ef=l(()=>{P=require("@swapkit/helpers"),nT=require("ts-pattern");X1();df()});var L1={};qy(L1,{trc20ABI:()=>MT,getTronPrivateKeyFromMnemonic:()=>af,getTronAddressValidator:()=>x1,createTronToolbox:()=>sf});module.exports=_y(L1);var Z1=l(()=>{ef();X1()});var Z8={};qy(Z8,{getToolbox:()=>J1,getFeeEstimator:()=>L8,getAddressValidator:()=>x8});module.exports=_y(Z8);var _=require("@swapkit/helpers");async function x8(){let{match:T}=await import("ts-pattern"),{cosmosValidateAddress:f}=await Promise.resolve().then(() => (rT(),iT)),{evmValidateAddress:L}=await Promise.resolve().then(() => (a5(),e1)),{substrateValidateAddress:y}=await Promise.resolve().then(() => (G0(),B0)),{getUTXOAddressValidator:X}=await Promise.resolve().then(() => (v0(),E0)),{getSolanaAddressValidator:x}=await Promise.resolve().then(() => (S0(),A0)),{getValidateNearAddress:Z}=await Promise.resolve().then(() => (a0(),r0)),{rippleValidateAddress:J}=await Promise.resolve().then(() => (y1(),e0)),{radixValidateAddress:Q}=await Promise.resolve().then(() => (f1(),T1)),{getTronAddressValidator:q}=await Promise.resolve().then(() => (Z1(),L1)),z=await x(),B=await X(),M=await q(),H=await Z();return function G({address:R,chain:I}){return T(I).with(..._.EVMChains,()=>L({address:R})).with(..._.UTXOChains,()=>B({address:R,chain:I})).with(_.Chain.Cosmos,_.Chain.Kujira,_.Chain.Noble,_.Chain.Maya,_.Chain.THORChain,()=>f({address:R,chain:I})).with(_.Chain.Chainflip,_.Chain.Polkadot,()=>y({address:R,chain:I})).with(_.Chain.Radix,()=>Q(R)).with(_.Chain.Near,()=>H(R)).with(_.Chain.Ripple,()=>J(R)).with(_.Chain.Solana,()=>z(R)).with(_.Chain.Tron,()=>M(R)).otherwise(()=>!1)}}function L8(T){return async function f(L){let{match:y}=await import("ts-pattern");return y(T).returnType().with(_.Chain.Arbitrum,_.Chain.Aurora,_.Chain.Avalanche,_.Chain.Base,_.Chain.Berachain,_.Chain.BinanceSmartChain,_.Chain.Ethereum,_.Chain.Gnosis,_.Chain.Optimism,_.Chain.Polygon,async(X)=>{let x=await J1(X),Z=await x.createTransaction(L);return x.estimateTransactionFee({...Z,feeOption:L.feeOptionKey||_.FeeOption.Fast,chain:X})}).with(_.Chain.Bitcoin,_.Chain.BitcoinCash,_.Chain.Dogecoin,_.Chain.Dash,_.Chain.Litecoin,_.Chain.Polkadot,_.Chain.Solana,_.Chain.Ripple,_.Chain.Tron,_.Chain.Near,async(X)=>{return(await J1(X)).estimateTransactionFee(L)}).with(_.Chain.THORChain,_.Chain.Maya,_.Chain.Kujira,_.Chain.Noble,_.Chain.Cosmos,async()=>{let{estimateTransactionFee:X}=await Promise.resolve().then(() => (rT(),iT));return X(L)}).otherwise(async()=>_.AssetValue.from({chain:T}))}}async function J1(T,f){let{match:L}=await import("ts-pattern");return L(T).returnType().with(_.Chain.Arbitrum,_.Chain.Aurora,_.Chain.Avalanche,_.Chain.Base,_.Chain.Berachain,_.Chain.BinanceSmartChain,_.Chain.Ethereum,_.Chain.Gnosis,_.Chain.Optimism,_.Chain.Polygon,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (G5(),L0));return await y(T,f)}).with(_.Chain.Litecoin,_.Chain.Dash,_.Chain.Dogecoin,_.Chain.BitcoinCash,_.Chain.Bitcoin,_.Chain.Zcash,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (v0(),E0));return await y(T,f)}).with(_.Chain.Cosmos,_.Chain.Kujira,_.Chain.Noble,_.Chain.Maya,_.Chain.THORChain,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (rT(),iT));return await y(T,f)}).with(_.Chain.Chainflip,_.Chain.Polkadot,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (G0(),B0));return await y(T,f)}).with(_.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (f1(),T1));return await y(f)}).with(_.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (y1(),e0));return await y(f)}).with(_.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (S0(),A0));return await y(f)}).with(_.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (Z1(),L1));return await y(f)}).with(_.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (a0(),r0));return await y(f)}).otherwise(()=>{throw new _.SwapKitError("toolbox_not_supported",{chain:T})})}
|
|
4
4
|
|
|
5
|
-
//# debugId=
|
|
5
|
+
//# debugId=57421481275DE1B764756E2164756E21
|
|
6
6
|
//# sourceMappingURL=index.cjs.map
|