@swapkit/toolboxes 4.0.0-beta.65 → 4.0.0-beta.67
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 +5 -5
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +5 -5
- package/dist/src/utxo/index.cjs +3 -3
- package/dist/src/utxo/index.cjs.map +5 -5
- package/dist/src/utxo/index.js +3 -3
- package/dist/src/utxo/index.js.map +5 -5
- package/dist/types/utxo/helpers/api.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/index.d.ts +1 -4
- package/dist/types/utxo/toolbox/index.d.ts.map +1 -1
- package/dist/types/utxo/toolbox/zcash.d.ts +1 -4
- package/dist/types/utxo/toolbox/zcash.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/src/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var fX=Object.create;var{getPrototypeOf:XX,defineProperty:BT,getOwnPropertyNames:B1,getOwnPropertyDescriptor:LX}=Object,W1=Object.prototype.hasOwnProperty;var Y=(T,f,Z)=>{Z=T!=null?fX(XX(T)):{};let y=f||!T||!T.__esModule?BT(Z,"default",{value:T,enumerable:!0}):Z;for(let L of B1(T))if(!W1.call(y,L))BT(y,L,{get:()=>T[L],enumerable:!0});return y},G1=new WeakMap,_y=(T)=>{var f=G1.get(T),Z;if(f)return f;if(f=BT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")B1(T).map((y)=>!W1.call(f,y)&&BT(f,y,{get:()=>T[y],enumerable:!(Z=LX(T,y))||Z.enumerable}));return G1.set(T,f),f};var My=(T,f)=>{for(var Z in f)BT(T,Z,{get:f[Z],enumerable:!0,configurable:!0,set:(y)=>f[Z]=()=>y})};var V=(T,f)=>()=>(T&&(f=T(T=0)),f);function WT(T){return Py.base64.encode(Uint8Array.from(Py.bech32.fromWords(Py.bech32.decode(T).words)))}function HT(T,f="thor"){return Py.bech32.encode(f,Py.bech32.toWords(Py.base64.decode(T)))}function ZX(T){return iT.fromByteArray(T)}function JX(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new H1.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return iT.toByteArray(T)}var Py,H1,iT;var V5=V(()=>{Py=require("@scure/base"),H1=require("@swapkit/helpers"),iT=require("base64-js")});function Cy(T){switch(T){case k.Chain.Maya:return{amount:[],gas:"10000000000"};case k.Chain.THORChain:return{amount:[],gas:"500000000"};case k.Chain.Kujira:return _1;case k.Chain.Noble:return R1;default:return Y1}}async function Oy(T){let f=await import("@cosmjs/stargate"),Z=f.StargateClient??f.default?.StargateClient,y=typeof window!=="undefined"?{}:{referrer:"https://sdk.swapkit.dev",referer:"https://sdk.swapkit.dev"};return Z.connect({url:T,headers:y})}async function YT(T,f,Z={}){let y=await import("@cosmjs/stargate"),L=y.SigningStargateClient??y.default?.SigningStargateClient,X=y.GasPrice??y.default?.GasPrice,J=typeof Z==="string"?Z:"0.0003uatom",Q=typeof Z==="string"?{}:Z;return L.connectWithSigner(T,f,{gasPrice:X.fromString(J),...Q})}async function F5(T,f){let Z=await import("@cosmjs/stargate");return(Z.SigningStargateClient??Z.default?.SigningStargateClient).offline(T,f)}var k,$5="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",U1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Y1,_1,R1,ly=(T,f=!1)=>{if(f)return T.toLowerCase();switch(T){case"uUSK":case"USK":return $5;case"uYUM":case"YUM":return U1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},UT=({symbol:T,chain:f})=>{if(f===k.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${k.Chain.Maya}.${T}`).toUpperCase();if(f===k.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${k.Chain.THORChain}.${T}`:T).toUpperCase();return ly(T,!1)},N1=(T)=>{let{isStagenet:f}=k.SKConfig.get("envs"),Z=k.SKConfig.get("rpcUrls");switch(T){case k.ChainId.Kujira:return Z.KUJI;case k.ChainId.Noble:return Z.NOBLE;case k.ChainId.THORChain:case"thorchain-mainnet-v1":return f?Z.THOR_STAGENET:Z.THOR;case k.ChainId.Maya:return f?Z.MAYA_STAGENET:Z.MAYA;default:return Z.GAIA}},QX=(T)=>{switch(T){case k.Chain.Maya:case k.Chain.THORChain:return"/types.MsgSend";case k.Chain.Cosmos:case k.Chain.Kujira:case k.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new k.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},K5=async({sender:T,recipient:f,assetValue:Z,memo:y="",feeRate:L,sequence:X,accountNumber:J})=>{let{chain:Q,chainId:q}=Z,x=N1(q),M=await(await Oy(x)).getAccount(T);if(!M)throw new k.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let G=k.AssetValue.from({chain:Q}),W=ly(G.symbol),B=Cy(Q),R=W&&L?{amount:[{denom:W,amount:L.toString()}],gas:B.gas}:B,I={fromAddress:T,toAddress:f,amount:[{amount:Z.getBaseValue("string"),denom:ly(Z.symbol)}]};return{accountNumber:J??M.accountNumber,chainId:q,fee:R,memo:y,sequence:X??M.sequence,msgs:[{typeUrl:QX(Q),value:I}]}},qX,A5=(T,f)=>{let Z=qX[T.toLowerCase()];if(!Z)return k.AssetValue.from({asset:T,value:f,fromBaseDecimal:8});let{chain:y,asset:L,decimals:X}=Z,J=y?{chain:y}:{asset:L};return k.AssetValue.from({...J,value:f,fromBaseDecimal:X})};var _T=V(()=>{k=require("@swapkit/helpers"),Y1={amount:[{denom:"uatom",amount:"500"}],gas:"200000"},_1={amount:[{denom:"ukuji",amount:"1000"}],gas:"200000"},R1={amount:[{denom:"uusdc",amount:"1000"}],gas:"200000"};qX={rune:{chain:k.Chain.THORChain,decimals:k.BaseDecimal[k.Chain.THORChain]},tcy:{asset:"THOR.TCY",decimals:k.BaseDecimal[k.Chain.THORChain]},"x/kuji":{asset:"THOR.KUJI",decimals:k.BaseDecimal[k.Chain.THORChain]},uatom:{chain:k.Chain.Cosmos,decimals:k.BaseDecimal[k.Chain.Cosmos]},atom:{chain:k.Chain.Cosmos,decimals:k.BaseDecimal[k.Chain.Cosmos]},cacao:{chain:k.Chain.Maya,decimals:10},maya:{asset:`${k.Chain.Maya}.${k.Chain.Maya}`,decimals:4},ukuji:{chain:k.Chain.Kujira,decimals:k.BaseDecimal[k.Chain.Kujira]},kuji:{chain:k.Chain.Kujira,decimals:k.BaseDecimal[k.Chain.Kujira]},uusdc:{chain:k.Chain.Noble,decimals:k.BaseDecimal[k.Chain.Noble]},usdc:{chain:k.Chain.Noble,decimals:k.BaseDecimal[k.Chain.Noble]},[$5.toLowerCase()]:{asset:`${k.Chain.Kujira}.USK`,decimals:k.BaseDecimal[k.Chain.Kujira]}}});var D1={};My(D1,{$root:()=>N});var s,K,Gy,C,N;var I1=V(()=>{s=Y(require("protobufjs/minimal.js")),K=s.default.Reader,Gy=s.default.Writer,C=s.default.util,N=s.default.roots.default||(s.default.roots.default={});N.common=(()=>{let T={};return T.Asset=(()=>{function f(Z){if(Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.chain="",f.prototype.symbol="",f.prototype.ticker="",f.prototype.synth=!1,f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=Gy.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))L.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))L.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))L.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))L.uint32(32).bool(y.synth);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof K))y=K.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.Asset;while(y.pos<X){let Q=y.uint32();switch(Q>>>3){case 1:J.chain=y.string();break;case 2:J.symbol=y.string();break;case 3:J.ticker=y.string();break;case 4:J.synth=y.bool();break;default:y.skipType(Q&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!C.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!C.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!C.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 Z(y){if(y instanceof N.common.Asset)return y;let L=new N.common.Asset;if(y.chain!=null)L.chain=String(y.chain);if(y.symbol!=null)L.symbol=String(y.symbol);if(y.ticker!=null)L.ticker=String(y.ticker);if(y.synth!=null)L.synth=Boolean(y.synth);return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.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 Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.Coin=(()=>{function f(Z){if(Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.asset=null,f.prototype.amount="",f.prototype.decimals=C.Long?C.Long.fromBits(0,0,!1):0,f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=Gy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))N.common.Asset.encode(y.asset,L.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))L.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))L.uint32(24).int64(y.decimals);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof K))y=K.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.Coin;while(y.pos<X){let Q=y.uint32();switch(Q>>>3){case 1:J.asset=N.common.Asset.decode(y,y.uint32());break;case 2:J.amount=y.string();break;case 3:J.decimals=y.int64();break;default:y.skipType(Q&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let L=N.common.Asset.verify(y.asset);if(L)return"asset."+L}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!C.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!C.isInteger(y.decimals)&&!(y.decimals&&C.isInteger(y.decimals.low)&&C.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},f.fromObject=function Z(y){if(y instanceof N.common.Coin)return y;let L=new N.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");L.asset=N.common.Asset.fromObject(y.asset)}if(y.amount!=null)L.amount=String(y.amount);if(y.decimals!=null){if(C.Long)(L.decimals=C.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")L.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")L.decimals=y.decimals;else if(typeof y.decimals==="object")L.decimals=new C.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.defaults)if(X.asset=null,X.amount="",C.Long){let J=new C.Long(0,0,!1);X.decimals=L.longs===String?J.toString():L.longs===Number?J.toNumber():J}else X.decimals=L.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))X.asset=N.common.Asset.toObject(y.asset,L);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=L.longs===String?String(y.decimals):y.decimals;else X.decimals=L.longs===String?C.Long.prototype.toString.call(y.decimals):L.longs===Number?new C.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.PubKeySet=(()=>{function f(Z){if(Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.secp256k1="",f.prototype.ed25519="",f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=Gy.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))L.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))L.uint32(18).string(y.ed25519);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof K))y=K.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.PubKeySet;while(y.pos<X){let Q=y.uint32();switch(Q>>>3){case 1:J.secp256k1=y.string();break;case 2:J.ed25519=y.string();break;default:y.skipType(Q&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!C.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!C.isString(y.ed25519))return"ed25519: string expected"}return null},f.fromObject=function Z(y){if(y instanceof N.common.PubKeySet)return y;let L=new N.common.PubKeySet;if(y.secp256k1!=null)L.secp256k1=String(y.secp256k1);if(y.ed25519!=null)L.ed25519=String(y.ed25519);return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.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 Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.Tx=(()=>{function f(Z){if(this.coins=[],this.gas=[],Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.id="",f.prototype.chain="",f.prototype.fromAddress="",f.prototype.toAddress="",f.prototype.coins=C.emptyArray,f.prototype.gas=C.emptyArray,f.prototype.memo="",f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=Gy.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))L.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))L.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))L.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))L.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],L.uint32(42).fork()).ldelim();if(y.gas?.length)for(let X=0;X<y.gas.length;++X)N.common.Coin.encode(y.gas[X],L.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))L.uint32(58).string(y.memo);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof K))y=K.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.Tx;while(y.pos<X){let Q=y.uint32();switch(Q>>>3){case 1:J.id=y.string();break;case 2:J.chain=y.string();break;case 3:J.fromAddress=y.string();break;case 4:J.toAddress=y.string();break;case 5:if(!J.coins?.length)J.coins=[];J.coins.push(N.common.Coin.decode(y,y.uint32()));break;case 6:if(!J.gas?.length)J.gas=[];J.gas.push(N.common.Coin.decode(y,y.uint32()));break;case 7:J.memo=y.string();break;default:y.skipType(Q&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!C.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!C.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!C.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!C.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 L=0;L<y.coins.length;++L){let X=N.common.Coin.verify(y.coins[L]);if(X)return"coins."+X}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let L=0;L<y.gas.length;++L){let X=N.common.Coin.verify(y.gas[L]);if(X)return"gas."+X}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!C.isString(y.memo))return"memo: string expected"}return null},f.fromObject=function Z(y){if(y instanceof N.common.Tx)return y;let L=new N.common.Tx;if(y.id!=null)L.id=String(y.id);if(y.chain!=null)L.chain=String(y.chain);if(y.fromAddress!=null)L.fromAddress=String(y.fromAddress);if(y.toAddress!=null)L.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");L.coins=[];for(let X=0;X<y.coins.length;++X){if(typeof y.coins[X]!=="object")throw TypeError(".common.Tx.coins: object expected");L.coins[X]=N.common.Coin.fromObject(y.coins[X])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");L.gas=[];for(let X=0;X<y.gas.length;++X){if(typeof y.gas[X]!=="object")throw TypeError(".common.Tx.gas: object expected");L.gas[X]=N.common.Coin.fromObject(y.gas[X])}}if(y.memo!=null)L.memo=String(y.memo);return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.arrays||L.defaults)X.coins=[],X.gas=[];if(L.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 J=0;J<y.coins.length;++J)X.coins[J]=N.common.Coin.toObject(y.coins[J],L)}if(y.gas?.length){X.gas=[];for(let J=0;J<y.gas.length;++J)X.gas[J]=N.common.Coin.toObject(y.gas[J],L)}if(y.memo!=null&&y.hasOwnProperty("memo"))X.memo=y.memo;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.Fee=(()=>{function f(Z){if(this.coins=[],Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.coins=C.emptyArray,f.prototype.poolDeduct="",f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=Gy.create();if(y.coins?.length)for(let X=0;X<y.coins.length;++X)N.common.Coin.encode(y.coins[X],L.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))L.uint32(18).string(y.poolDeduct);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof K))y=K.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.Fee;while(y.pos<X){let Q=y.uint32();switch(Q>>>3){case 1:if(!J.coins?.length)J.coins=[];J.coins.push(N.common.Coin.decode(y,y.uint32()));break;case 2:J.poolDeduct=y.string();break;default:y.skipType(Q&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},f.verify=function Z(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 L=0;L<y.coins.length;++L){let X=N.common.Coin.verify(y.coins[L]);if(X)return"coins."+X}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!C.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},f.fromObject=function Z(y){if(y instanceof N.common.Fee)return y;let L=new N.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");L.coins=[];for(let X=0;X<y.coins.length;++X){if(typeof y.coins[X]!=="object")throw TypeError(".common.Fee.coins: object expected");L.coins[X]=N.common.Coin.fromObject(y.coins[X])}}if(y.poolDeduct!=null)L.poolDeduct=String(y.poolDeduct);return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.arrays||L.defaults)X.coins=[];if(L.defaults)X.poolDeduct="";if(y.coins?.length){X.coins=[];for(let J=0;J<y.coins.length;++J)X.coins[J]=N.common.Coin.toObject(y.coins[J],L)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))X.poolDeduct=y.poolDeduct;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.ProtoUint=(()=>{function f(Z){if(Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.value="",f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=Gy.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))L.uint32(10).string(y.value);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof K))y=K.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.ProtoUint;while(y.pos<X){let Q=y.uint32();switch(Q>>>3){case 1:J.value=y.string();break;default:y.skipType(Q&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!C.isString(y.value))return"value: string expected"}return null},f.fromObject=function Z(y){if(y instanceof N.common.ProtoUint)return y;let L=new N.common.ProtoUint;if(y.value!=null)L.value=String(y.value);return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.defaults)X.value="";if(y.value!=null&&y.hasOwnProperty("value"))X.value=y.value;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T})();N.types=(()=>{let T={};return T.MsgDeposit=(()=>{function f(Z){if(this.coins=[],Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.coins=C.emptyArray,f.prototype.memo="",f.prototype.signer=C.newBuffer([]),f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=Gy.create();if(y.coins?.length)for(let X=0;X<y.coins.length;++X)N.common.Coin.encode(y.coins[X],L.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))L.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))L.uint32(26).bytes(y.signer);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof K))y=K.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.types.MsgDeposit;while(y.pos<X){let Q=y.uint32();switch(Q>>>3){case 1:if(!J.coins?.length)J.coins=[];J.coins.push(N.common.Coin.decode(y,y.uint32()));break;case 2:J.memo=y.string();break;case 3:J.signer=y.bytes();break;default:y.skipType(Q&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},f.verify=function Z(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 L=0;L<y.coins.length;++L){let X=N.common.Coin.verify(y.coins[L]);if(X)return"coins."+X}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!C.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||C.isString(y.signer)))return"signer: buffer expected"}return null},f.fromObject=function Z(y){if(y instanceof N.types.MsgDeposit)return y;let L=new N.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");L.coins=[];for(let X=0;X<y.coins.length;++X){if(typeof y.coins[X]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");L.coins[X]=N.common.Coin.fromObject(y.coins[X])}}if(y.memo!=null)L.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")C.base64.decode(y.signer,L.signer=C.newBuffer(C.base64.length(y.signer)),0);else if(y.signer.length)L.signer=y.signer}return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.arrays||L.defaults)X.coins=[];if(L.defaults){if(X.memo="",L.bytes===String)X.signer="";else if(X.signer=[],L.bytes!==Array)X.signer=C.newBuffer(X.signer)}if(y.coins?.length){X.coins=[];for(let J=0;J<y.coins.length;++J)X.coins[J]=N.common.Coin.toObject(y.coins[J],L)}if(y.memo!=null&&y.hasOwnProperty("memo"))X.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))X.signer=L.bytes===String?C.base64.encode(y.signer,0,y.signer.length):L.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.MsgSend=(()=>{function f(Z){if(this.amount=[],Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.fromAddress=C.newBuffer([]),f.prototype.toAddress=C.newBuffer([]),f.prototype.amount=C.emptyArray,f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=Gy.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))L.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))L.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],L.uint32(26).fork()).ldelim();return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof K))y=K.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.types.MsgSend;while(y.pos<X){let Q=y.uint32();switch(Q>>>3){case 1:J.fromAddress=y.bytes();break;case 2:J.toAddress=y.bytes();break;case 3:if(!J.amount?.length)J.amount=[];J.amount.push(N.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(Q&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},f.verify=function Z(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"||C.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||C.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 L=0;L<y.amount.length;++L){let X=N.cosmos.base.v1beta1.Coin.verify(y.amount[L]);if(X)return"amount."+X}}return null},f.fromObject=function Z(y){if(y instanceof N.types.MsgSend)return y;let L=new N.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")C.base64.decode(y.fromAddress,L.fromAddress=C.newBuffer(C.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)L.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")C.base64.decode(y.toAddress,L.toAddress=C.newBuffer(C.base64.length(y.toAddress)),0);else if(y.toAddress.length)L.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");L.amount=[];for(let X=0;X<y.amount.length;++X){if(typeof y.amount[X]!=="object")throw TypeError(".types.MsgSend.amount: object expected");L.amount[X]=N.cosmos.base.v1beta1.Coin.fromObject(y.amount[X])}}return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.arrays||L.defaults)X.amount=[];if(L.defaults){if(L.bytes===String)X.fromAddress="";else if(X.fromAddress=[],L.bytes!==Array)X.fromAddress=C.newBuffer(X.fromAddress);if(L.bytes===String)X.toAddress="";else if(X.toAddress=[],L.bytes!==Array)X.toAddress=C.newBuffer(X.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))X.fromAddress=L.bytes===String?C.base64.encode(y.fromAddress,0,y.fromAddress.length):L.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))X.toAddress=L.bytes===String?C.base64.encode(y.toAddress,0,y.toAddress.length):L.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){X.amount=[];for(let J=0;J<y.amount.length;++J)X.amount[J]=N.cosmos.base.v1beta1.Coin.toObject(y.amount[J],L)}return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T})();N.cosmos=(()=>{let T={};return T.base=(()=>{let f={};return f.v1beta1=(()=>{let Z={};return Z.Coin=(()=>{function y(L){if(L){for(let X=Object.keys(L),J=0;J<X.length;++J)if(L[X[J]]!=null)this[X[J]]=L[X[J]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function L(X){return new y(X)},y.encode=function L(X,J){if(!J)J=Gy.create();if(X.denom!=null&&Object.hasOwnProperty.call(X,"denom"))J.uint32(10).string(X.denom);if(X.amount!=null&&Object.hasOwnProperty.call(X,"amount"))J.uint32(18).string(X.amount);return J},y.encodeDelimited=function L(X,J){return this.encode(X,J).ldelim()},y.decode=function L(X,J){if(!(X instanceof K))X=K.create(X);let Q=J===void 0?X.len:X.pos+J,q=new N.cosmos.base.v1beta1.Coin;while(X.pos<Q){let x=X.uint32();switch(x>>>3){case 1:q.denom=X.string();break;case 2:q.amount=X.string();break;default:X.skipType(x&7);break}}return q},y.decodeDelimited=function L(X){if(!(X instanceof K))X=new K(X);return this.decode(X,X.uint32())},y.verify=function L(X){if(typeof X!=="object"||X===null)return"object expected";if(X.denom!=null&&X.hasOwnProperty("denom")){if(!C.isString(X.denom))return"denom: string expected"}if(X.amount!=null&&X.hasOwnProperty("amount")){if(!C.isString(X.amount))return"amount: string expected"}return null},y.fromObject=function L(X){if(X instanceof N.cosmos.base.v1beta1.Coin)return X;let J=new N.cosmos.base.v1beta1.Coin;if(X.denom!=null)J.denom=String(X.denom);if(X.amount!=null)J.amount=String(X.amount);return J},y.toObject=function L(X,J){if(!J)J={};let Q={};if(J.defaults)Q.denom="",Q.amount="";if(X.denom!=null&&X.hasOwnProperty("denom"))Q.denom=X.denom;if(X.amount!=null&&X.hasOwnProperty("amount"))Q.amount=X.amount;return Q},y.prototype.toJSON=function L(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},y})(),Z.DecCoin=(()=>{function y(L){if(L){for(let X=Object.keys(L),J=0;J<X.length;++J)if(L[X[J]]!=null)this[X[J]]=L[X[J]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function L(X){return new y(X)},y.encode=function L(X,J){if(!J)J=Gy.create();if(X.denom!=null&&Object.hasOwnProperty.call(X,"denom"))J.uint32(10).string(X.denom);if(X.amount!=null&&Object.hasOwnProperty.call(X,"amount"))J.uint32(18).string(X.amount);return J},y.encodeDelimited=function L(X,J){return this.encode(X,J).ldelim()},y.decode=function L(X,J){if(!(X instanceof K))X=K.create(X);let Q=J===void 0?X.len:X.pos+J,q=new N.cosmos.base.v1beta1.DecCoin;while(X.pos<Q){let x=X.uint32();switch(x>>>3){case 1:q.denom=X.string();break;case 2:q.amount=X.string();break;default:X.skipType(x&7);break}}return q},y.decodeDelimited=function L(X){if(!(X instanceof K))X=new K(X);return this.decode(X,X.uint32())},y.verify=function L(X){if(typeof X!=="object"||X===null)return"object expected";if(X.denom!=null&&X.hasOwnProperty("denom")){if(!C.isString(X.denom))return"denom: string expected"}if(X.amount!=null&&X.hasOwnProperty("amount")){if(!C.isString(X.amount))return"amount: string expected"}return null},y.fromObject=function L(X){if(X instanceof N.cosmos.base.v1beta1.DecCoin)return X;let J=new N.cosmos.base.v1beta1.DecCoin;if(X.denom!=null)J.denom=String(X.denom);if(X.amount!=null)J.amount=String(X.amount);return J},y.toObject=function L(X,J){if(!J)J={};let Q={};if(J.defaults)Q.denom="",Q.amount="";if(X.denom!=null&&X.hasOwnProperty("denom"))Q.denom=X.denom;if(X.amount!=null&&X.hasOwnProperty("amount"))Q.amount=X.amount;return Q},y.prototype.toJSON=function L(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},y})(),Z.IntProto=(()=>{function y(L){if(L){for(let X=Object.keys(L),J=0;J<X.length;++J)if(L[X[J]]!=null)this[X[J]]=L[X[J]]}}return y.prototype.int="",y.create=function L(X){return new y(X)},y.encode=function L(X,J){if(!J)J=Gy.create();if(X.int!=null&&Object.hasOwnProperty.call(X,"int"))J.uint32(10).string(X.int);return J},y.encodeDelimited=function L(X,J){return this.encode(X,J).ldelim()},y.decode=function L(X,J){if(!(X instanceof K))X=K.create(X);let Q=J===void 0?X.len:X.pos+J,q=new N.cosmos.base.v1beta1.IntProto;while(X.pos<Q){let x=X.uint32();switch(x>>>3){case 1:q.int=X.string();break;default:X.skipType(x&7);break}}return q},y.decodeDelimited=function L(X){if(!(X instanceof K))X=new K(X);return this.decode(X,X.uint32())},y.verify=function L(X){if(typeof X!=="object"||X===null)return"object expected";if(X.int!=null&&X.hasOwnProperty("int")){if(!C.isString(X.int))return"int: string expected"}return null},y.fromObject=function L(X){if(X instanceof N.cosmos.base.v1beta1.IntProto)return X;let J=new N.cosmos.base.v1beta1.IntProto;if(X.int!=null)J.int=String(X.int);return J},y.toObject=function L(X,J){if(!J)J={};let Q={};if(J.defaults)Q.int="";if(X.int!=null&&X.hasOwnProperty("int"))Q.int=X.int;return Q},y.prototype.toJSON=function L(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},y})(),Z.DecProto=(()=>{function y(L){if(L){for(let X=Object.keys(L),J=0;J<X.length;++J)if(L[X[J]]!=null)this[X[J]]=L[X[J]]}}return y.prototype.dec="",y.create=function L(X){return new y(X)},y.encode=function L(X,J){if(!J)J=Gy.create();if(X.dec!=null&&Object.hasOwnProperty.call(X,"dec"))J.uint32(10).string(X.dec);return J},y.encodeDelimited=function L(X,J){return this.encode(X,J).ldelim()},y.decode=function L(X,J){if(!(X instanceof K))X=K.create(X);let Q=J===void 0?X.len:X.pos+J,q=new N.cosmos.base.v1beta1.DecProto;while(X.pos<Q){let x=X.uint32();switch(x>>>3){case 1:q.dec=X.string();break;default:X.skipType(x&7);break}}return q},y.decodeDelimited=function L(X){if(!(X instanceof K))X=new K(X);return this.decode(X,X.uint32())},y.verify=function L(X){if(typeof X!=="object"||X===null)return"object expected";if(X.dec!=null&&X.hasOwnProperty("dec")){if(!C.isString(X.dec))return"dec: string expected"}return null},y.fromObject=function L(X){if(X instanceof N.cosmos.base.v1beta1.DecProto)return X;let J=new N.cosmos.base.v1beta1.DecProto;if(X.dec!=null)J.dec=String(X.dec);return J},y.toObject=function L(X,J){if(!J)J={};let Q={};if(J.defaults)Q.dec="";if(X.dec!=null&&X.hasOwnProperty("dec"))Q.dec=X.dec;return Q},y.prototype.toJSON=function L(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},y})(),Z})(),f})(),T})()});async function py(){let{$root:T}=await Promise.resolve().then(() => (I1(),D1)),f=await import("@cosmjs/proto-signing"),Z=f.Registry??f.default?.Registry,y=await import("@cosmjs/stargate"),L=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new Z([...L,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Vy(T){let f=await import("@cosmjs/stargate"),Z=f.AminoTypes??f.default?.AminoTypes,y=T===k1.Chain.THORChain?"thorchain":"mayachain";return new Z({"/types.MsgSend":{aminoType:`${y}/MsgSend`,toAmino:({fromAddress:L,toAddress:X,...J})=>({...J,from_address:HT(L),to_address:HT(X)}),fromAmino:({from_address:L,to_address:X,...J})=>({...J,fromAddress:WT(L),toAddress:WT(X)})},"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,toAmino:({signer:L,...X})=>({...X,signer:HT(L)}),fromAmino:({signer:L,...X})=>({...X,signer:WT(L)})}})}var k1;var S5=V(()=>{k1=require("@swapkit/helpers");V5()});function j5(T){return function f(Z){let{assetValue:y,recipient:L,memo:X,sender:J,asSignable:Q,asAminoMessage:q}=Z;if(L)return O1(T)({sender:J,recipient:L,assetValue:y,memo:X,asSignable:Q,asAminoMessage:q});return w1(T)({sender:J,assetValue:y,memo:X,asSignable:Q,asAminoMessage:q})}}function Fy(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((f)=>{let Z=By.AssetValue.from({asset:f.asset}),y=(Z.isSynthetic?Z.symbol.split("/")?.[1]:Z.symbol)?.toUpperCase(),L=(Z.isSynthetic?Z.symbol.split("/")?.[0]:Z.chain)?.toUpperCase();return{...f,asset:{chain:L,symbol:y,ticker:Z.ticker,synth:Z.isSynthetic}}})}}}async function RT({chain:T,memo:f,msgs:Z}){let y=await py(),L=await Vy(T),X={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:f,messages:Z.map((J)=>L.fromAmino(J))}};return y.encode(X)}var By,xX,zX,b5=({sender:T,recipient:f,assetValue:Z})=>{return{type:`${Z.chain===By.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{from_address:T,to_address:f,amount:[{amount:Z.getBaseValue("string"),denom:ly(Z.symbol,!0)}]}}},u5=({sender:T,assetValue:f,memo:Z=""})=>{return{type:`${f.chain===By.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:f.getBaseValue("string"),asset:UT(f)}],signer:T,memo:Z}}},rT=({sender:T,recipient:f,assetValue:Z,memo:y})=>{return!f?u5({sender:T,assetValue:Z,memo:y}):b5({sender:T,recipient:f,assetValue:Z})},$y=async(T,f)=>{return(await Vy(f)).fromAmino(T)},C1=async({rpcUrl:T,sender:f})=>{let y=await(await Oy(T)).getAccount(f);if(!y)throw new By.SwapKitError("toolbox_cosmos_account_not_found",{sender:f});return y},O1=(T)=>async({sender:f,recipient:Z,assetValue:y,memo:L="",asSignable:X=!0,asAminoMessage:J=!1,sequence:Q,accountNumber:q})=>{let x=await C1({rpcUrl:T,sender:f}),z=y.chain,M=b5({sender:f,recipient:Z,assetValue:y}),G=X?await $y(J?M:Fy(M),z):M;return{chainId:By.ChainToChainId[z],accountNumber:q||x.accountNumber,sequence:Q||x.sequence,msgs:[G],fee:Cy(y.chain),memo:L}},w1=(T)=>async({sender:f,assetValue:Z,memo:y="",asSignable:L=!0,asAminoMessage:X=!1,sequence:J,accountNumber:Q})=>{let q=await C1({rpcUrl:T,sender:f}),x=Z.chain,z=u5({sender:f,assetValue:Z,memo:y}),M=L?await $y(X?z:Fy(z),x):z;return{chainId:By.ChainToChainId[x],accountNumber:Q||q.accountNumber,sequence:J||q.sequence,msgs:[M],fee:Cy(Z.chain),memo:y}};var E1=V(()=>{By=require("@swapkit/helpers");_T();S5();xX=Cy(By.Chain.THORChain).gas,zX=Cy(By.Chain.Maya).gas});var v1=()=>{};var P1=V(()=>{v1()});var h5=V(()=>{V5();E1();S5();P1()});async function m5(T,f){try{let y=(await p5.SwapKitApi.getGasRate()).find((L)=>L.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(Z){return f}}async function n5({phrase:T,prefix:f,...Z}){let y=await import("@cosmjs/proto-signing"),L=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,X=await import("@cosmjs/crypto"),J=X.stringToPath??X.default?.stringToPath,Q="derivationPath"in Z?Z.derivationPath:`${E.DerivationPath[Z.chain]}/${Z.index}`;return L.fromMnemonic(T,{prefix:f,hdPaths:[J(Q)]})}async function MX({privateKey:T,prefix:f}){let Z=await import("@cosmjs/proto-signing");return(Z.DirectSecp256k1Wallet??Z.default?.DirectSecp256k1Wallet).fromKey(T,f)}function F1(T){return async function f({signature:Z,message:y,address:L}){let X=await T(L);if(!X?.pubkey)throw new E.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let J=await import("@cosmjs/crypto"),Q=J.Secp256k1Signature??J.default?.Secp256k1Signature,q=J.Secp256k1??J.default?.Secp256k1,x=Q.fromFixedLength(Ky.base64.decode(Z));return q.verifySignature(x,Ky.base64.decode(y),X.pubkey.value)}}async function DT({chain:T,...f}){let Z=E.SKConfig.get("rpcUrls")[T],y=E.CosmosChainPrefixes[T],L="index"in f?f.index||0:0,X=E.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:E.updateDerivationPath(E.NetworkDerivationPath[T],{index:L})),J=await NT.match(f).with({phrase:NT.P.string},({phrase:M})=>n5({phrase:M,prefix:y,derivationPath:X})).with({signer:NT.P.any},({signer:M})=>M).otherwise(()=>{return});async function Q(M){return(await Oy(Z)).getAccount(M)}async function q(){let[M]=await J?.getAccounts()||[];return M?.address}async function x(){let[M]=await J?.getAccounts()||[];if(!M?.pubkey)throw new E.SwapKitError("toolbox_cosmos_signer_not_defined");return Ky.base64.encode(M?.pubkey)}async function z({recipient:M,assetValue:G,memo:W="",feeRate:B,feeOptionKey:R=E.FeeOption.Fast}){let I=await q();if(!(J&&I))throw new E.SwapKitError("toolbox_cosmos_signer_not_defined");let w=E.AssetValue.from({chain:T}),b=UT(w),t=B||UX((await V1(T,l1[T]))[R],b),m=await YT(Z,J),e=[{denom:ly(`u${G.symbol}`).toLowerCase(),amount:G.getBaseValue("string")}],{transactionHash:a}=await m.sendTokens(I,M,e,t,W);return a}return{transfer:z,getAddress:q,getAccount:Q,getBalance:async(M,G)=>{let W=await $1(Z)(M);return await Promise.all(W.filter(({denom:B})=>B&&!B.includes("IBC/")).map(({denom:B,amount:R})=>{let I=[E.Chain.THORChain,E.Chain.Maya].includes(T)&&(B.includes("/")||B.includes("˜"))?`${T}.${B}`:B;return A5(I,R)}))},getSignerFromPhrase:async({phrase:M,derivationPath:G})=>n5({phrase:M,prefix:y,derivationPath:E.derivationPathToString(G),index:L}),getSignerFromPrivateKey:async(M)=>{let G=await import("@cosmjs/proto-signing");return(G.DirectSecp256k1Wallet??G.default?.DirectSecp256k1Wallet).fromKey(M,y)},createPrivateKeyFromPhrase:_X(X),validateAddress:A1(y),getPubKey:x,getFees:()=>V1(T,l1[T]),fetchFeeRateFromSwapKit:m5,getBalanceAsDenoms:$1(Z),createTransaction:K5,verifySignature:F1(Q)}}async function K1(T,f){try{let y=(await p5.SwapKitApi.getGasRate()).find((L)=>L.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(Z){return f}}function BX({address:T,chain:f,prefix:Z}){let y=Z||HX(f);if(!(y&&T))throw new E.SwapKitError("toolbox_cosmos_validate_address_prefix_not_found");return A1(y)(T)}function WX({assetValue:{chain:T}}){return E.AssetValue.from({chain:T,value:YX(T)})}function HX(T){let{isStagenet:f}=E.SKConfig.get("envs"),Z=T?[E.Chain.THORChain,E.Chain.Maya].includes(T)&&f:!1,y=T?E.CosmosChainPrefixes[T]:void 0;return Z?`s${y}`:y}async function V1(T,f){let Z=await m5(E.ChainToChainId[T],f);return{average:E.SwapKitNumber.fromBigInt(BigInt(Z),E.BaseDecimal[T]),fast:E.SwapKitNumber.fromBigInt(BigInt(E.applyFeeMultiplier(Z,E.FeeOption.Fast,!0)),E.BaseDecimal[T]),fastest:E.SwapKitNumber.fromBigInt(BigInt(E.applyFeeMultiplier(Z,E.FeeOption.Fastest,!0)),E.BaseDecimal[T])}}function UX(T,f){return{amount:[{denom:f,amount:T.getBaseValue("string")}],gas:"200000"}}function YX(T){return{[E.Chain.Cosmos]:0.007,[E.Chain.Kujira]:0.02,[E.Chain.Noble]:0.01,[E.Chain.THORChain]:0.02,[E.Chain.Maya]:0.02}[T]||0}function A1(T){return function f(Z){if(!Z.startsWith(T))return!1;try{let{prefix:y,words:L}=Ky.bech32.decode(Z);return Ky.bech32.encode(y,L)===Z.toLocaleLowerCase()}catch(y){return!1}}}function $1(T){return async function f(Z){return(await(await Oy(T)).getAllBalances(Z)).map((J)=>({...J,denom:J.denom.includes("/")?J.denom.toUpperCase():J.denom}))}}function _X(T){return async function f(Z){let y=await import("@cosmjs/crypto"),L=y.stringToPath??y.default?.stringToPath,X=y.Slip10Curve??y.default?.Slip10Curve,J=y.Slip10??y.default?.Slip10,Q=y.EnglishMnemonic??y.default?.EnglishMnemonic,q=y.Bip39??y.default?.Bip39,x=new Q(Z),z=await q.mnemonicToSeed(x),{privkey:M}=J.derivePath(X.Secp256k1,z,L(T));return M}}var Ky,E,p5,NT,l1,GX;var aT=V(()=>{Ky=require("@scure/base"),E=require("@swapkit/helpers"),p5=require("@swapkit/helpers/api"),NT=require("ts-pattern");_T();l1={[E.Chain.Cosmos]:500,[E.Chain.Kujira]:1000,[E.Chain.Noble]:1000,[E.Chain.THORChain]:5000000,[E.Chain.Maya]:5000000};GX=K1});function RX({prefix:T,derivationPath:f}){return async function Z(y,L=0){let X=await import("@cosmjs/amino"),J=X.Secp256k1HdWallet??X.default?.Secp256k1HdWallet,Q=await import("@cosmjs/crypto"),q=Q.stringToPath??Q.default?.stringToPath;return J.fromMnemonic(y,{hdPaths:[q(`${f}/${L}`)],prefix:T})}}function NX(T){return Ay.base64.encode(T)}function DX(T){return async function f({wallet:Z,tx:y}){let{msgs:L,accountNumber:X,sequence:J,chainId:Q,fee:q,memo:x}=typeof y==="string"?JSON.parse(y):y,z=(await Z.getAccounts())?.[0]?.address||"",M=await Vy(T),G=await py(),W=await F5(Z,{registry:G,aminoTypes:M}),B=[];for(let w of L){let b=await $y(w,T);B.push(b)}let{signatures:[R]}=await W.sign(z,B,q,x,{accountNumber:X,sequence:J,chainId:Q}),I=await RT({chain:T,memo:x,msgs:L.map(Fy)});return{signature:NX(R),bodyBytes:I}}}function IX({prefix:T,rpcUrl:f}){return async function Z(y,L,X,J,Q){let{encodeSecp256k1Pubkey:q,pubkeyToAddress:x}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:z}=(await import("@cosmjs/stargate")).default,{sequence:M,fee:G}=JSON.parse(y),W=await S1(X,J),B=L.map((w)=>[x(q(Ay.base64.decode(w.pubKey)),T),Ay.base64.decode(w.signature)]),R=await Oy(f),{transactionHash:I}=await R.broadcastTx(z(W,M,G,Q,new Map(B)));return I}}async function S1(T,f,Z=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:L}=(await import("@cosmjs/amino")).default;return y(T.map((X)=>L(Ay.base64.decode(X))),f,Z)}function kX(T){return Ay.base64.decode(T)}async function CX({privateKey:T,message:f}){let{Secp256k1:Z}=(await import("@cosmjs/crypto")).default,y=await Z.createSignature(Ay.base64.decode(f),T);return Ay.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function o5({chain:T,...f}){let Z=p.SKConfig.get("nodeUrls")[T],y=p.SKConfig.get("rpcUrls")[T],{isStagenet:L}=p.SKConfig.get("envs"),X=T===p.Chain.THORChain,J=`${L?"s":""}${p.CosmosChainPrefixes[T]}`,Q="index"in f?f.index||0:0,q="derivationPath"in f&&f.derivationPath?f.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[T],{index:Q}),x=await DT({chain:T,...f}),z=await IT.match(f).with({phrase:IT.P.string},({phrase:B})=>x.getSignerFromPhrase({phrase:B,derivationPath:q})).with({signer:IT.P.any},({signer:B})=>B).otherwise(()=>{return}),M=Cy(T);async function G(){let B,R=`${Z}/${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()});B=new p.SwapKitNumber(I)}catch{B=new p.SwapKitNumber({value:X?0.02:1,decimal:p.BaseDecimal[T]})}return{[p.FeeOption.Average]:B,[p.FeeOption.Fast]:B,[p.FeeOption.Fastest]:B}}async function W({assetValue:B,memo:R="",recipient:I}){let{TxRaw:w}=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 t="signAmino"in z,m=await py(),e=await Vy(T),a=await YT(y,z,{registry:m,aminoTypes:e}),Ly=rT({assetValue:B,sender:b,recipient:I,memo:R});if(t){let O=await $y(Ly,T),{signatures:$,authInfoBytes:P}=await a.sign(b,[O],M,R),S=w.encode({signatures:$,authInfoBytes:P,bodyBytes:await RT({chain:T,msgs:[Ly].map(Fy),memo:R})}).finish();return(await a.broadcastTx(S)).transactionHash}let v=Fy(Ly),U=await $y(v,T);return(await a.signAndBroadcast(b,[U],M,R)).transactionHash}return{...x,broadcastMultisigTx:IX({prefix:J,rpcUrl:y}),buildAminoMsg:rT,buildEncodedTxBody:RT,convertToSignable:$y,createDefaultAminoTypes:()=>Vy(T),createDefaultRegistry:py,createMultisig:S1,createTransaction:j5(y),deposit:W,getFees:G,importSignature:kX,parseAminoMessageForDirectSigning:Fy,secp256k1HdWalletFromMnemonic:RX({derivationPath:p.derivationPathToString(q),prefix:J}),signMultisigTx:DX(T),signWithPrivateKey:CX,transfer:W,pubkeyToAddress:async(B)=>{let{pubkeyToAddress:R}=(await import("@cosmjs/amino")).default;return R(B,J)}}}var Ay,p,IT;var c5=V(()=>{Ay=require("@scure/base"),p=require("@swapkit/helpers"),IT=require("ts-pattern");h5();_T();aT()});var Sy,OX=(T,f)=>{switch(T){case Sy.Chain.Cosmos:case Sy.Chain.Kujira:case Sy.Chain.Noble:return DT({chain:T,...f});case Sy.Chain.Maya:case Sy.Chain.THORChain:return o5({chain:T,...f});default:throw new Sy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var b1=V(()=>{Sy=require("@swapkit/helpers");aT();c5();aT();c5()});var sT={};My(sT,{verifySignature:()=>F1,transferMsgAmino:()=>b5,toBase64:()=>ZX,parseAminoMessageForDirectSigning:()=>Fy,getSignerFromPrivateKey:()=>MX,getSignerFromPhrase:()=>n5,getRPC:()=>N1,getMsgSendDenom:()=>ly,getFeeRateFromThorswap:()=>GX,getFeeRateFromSwapKit:()=>K1,getDenomWithChain:()=>UT,getDefaultChainFee:()=>Cy,getCreateTransaction:()=>j5,getCosmosToolbox:()=>OX,getAssetFromDenom:()=>A5,fromBase64:()=>JX,fetchFeeRateFromSwapKit:()=>m5,estimateTransactionFee:()=>WX,depositMsgAmino:()=>u5,createThorchainToolbox:()=>o5,createStargateClient:()=>Oy,createSigningStargateClient:()=>YT,createOfflineStargateClient:()=>F5,createDefaultRegistry:()=>py,createDefaultAminoTypes:()=>Vy,createCosmosToolbox:()=>DT,cosmosValidateAddress:()=>BX,cosmosCreateTransaction:()=>K5,convertToSignable:()=>$y,buildTransferTx:()=>O1,buildEncodedTxBody:()=>RT,buildDepositTx:()=>w1,buildAminoMsg:()=>rT,bech32ToBase64:()=>WT,base64ToBech32:()=>HT,YUM_KUJIRA_FACTORY_DENOM:()=>U1,USK_KUJIRA_FACTORY_DENOM:()=>$5,THORCHAIN_GAS_VALUE:()=>xX,MAYA_GAS_VALUE:()=>zX,DEFAULT_NOBLE_FEE_MAINNET:()=>R1,DEFAULT_KUJI_FEE_MAINNET:()=>_1,DEFAULT_COSMOS_FEE_MAINNET:()=>Y1});module.exports=_y(sT);var eT=V(()=>{h5();b1();_T()});function j1(){function T(){let f=Date.now(),Z=g5||f;return g5=Z,f>g5?f:Z+1}return wX+T().toString(36)}function T5(T){return async function f(Z,y=!0){return(await u1.SwapKitApi.getChainBalance({chain:T,address:Z,scamFilter:y})).map(({identifier:X,value:J,decimal:Q})=>{return new y5.AssetValue({decimal:Q||y5.BaseDecimal[T],value:J,identifier:X})})}}var y5,u1,wX,g5=0;var f5=V(()=>{y5=require("@swapkit/helpers"),u1=require("@swapkit/helpers/api"),wX=typeof process!=="undefined"&&process.pid?process.pid.toString(36):""});function kT(T){let f=X5.SKConfig.get("apis")[T];if(f)return X5.warnOnce(!0,"Using custom EVM API. Be sure to implement all methods to avoid issues."),f;return vX(T)}function EX(T){return T}function vX(T){return{getBalance:T5(T)}}var X5;var L5=V(()=>{X5=require("@swapkit/helpers");f5()});function sy({chain:T=H.Chain.Ethereum,provider:f,signer:Z,isEIP1559Compatible:y=!0}){return{getAddress:()=>{return Z?Z.getAddress():void 0},estimateTransactionFee:s5({provider:f,isEIP1559Compatible:y,chain:T}),call:a5({provider:f,signer:Z,isEIP1559Compatible:y,chain:T}),estimateCall:m1({provider:f,signer:Z}),EIP1193SendTransaction:yT(f),approve:$X({provider:f,signer:Z,isEIP1559Compatible:y,chain:T}),approvedAmount:p1({provider:f,chain:T}),broadcastTransaction:f.broadcastTransaction,createApprovalTx:SX({provider:f,signer:Z,chain:T}),createContract:i5({provider:f,chain:T}),createContractTxObject:my({provider:f,chain:T}),createTransferTx:d5({provider:f,signer:Z,chain:T}),createTransaction:d5({provider:f,signer:Z,chain:T}),estimateGasLimit:KX({provider:f,signer:Z,chain:T}),estimateGasPrices:by({chain:T,provider:f,isEIP1559Compatible:y}),isApproved:VX({provider:f,chain:T}),sendTransaction:o1({provider:f,signer:Z,isEIP1559Compatible:y,chain:T}),signMessage:Z?.signMessage,transfer:FX({provider:f,signer:Z,isEIP1559Compatible:y,chain:T}),validateAddress:(L)=>t5({address:L})}}function t5({address:T}){try{return Jy.getAddress(T),!0}catch(f){return!1}}function ey(T){return T instanceof Jy.BrowserProvider}function wT(T,f,Z){return new Jy.Contract(T,Jy.Interface.from(f),Z)}function i5({provider:T}){return function f(Z,y){return new Jy.Contract(Z,Jy.Interface.from(y),T)}}function r5({abi:T,funcName:f}){let Z=T.find((y)=>y.name===f);if(!Z)throw new H.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:f});return Z.stateMutability&&PX.includes(Z.stateMutability)}function h1(T){return Jy.getAddress(T)}function yT(T){return function f({value:Z,...y}){if(!ey(T))throw new H.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");return T.send("eth_sendTransaction",[{value:CT(BigInt(Z||0)),...y}])}}function n1(T,f){let Z=TT(T,f);if(Z)return Jy.getAddress(Z.toLowerCase());throw new H.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function TT({chain:T,symbol:f,ticker:Z},y){try{let L=T===H.Chain.BinanceSmartChain&&f==="BNB"&&Z==="BNB",X=T===y&&f===y&&Z===y,J=[H.Chain.Arbitrum,H.Chain.Aurora,H.Chain.Base,H.Chain.Optimism].includes(T)&&f==="ETH"&&Z==="ETH";if(X||L||J)return lX[y];return Jy.getAddress(f.slice(Z.length+1).replace(/^0X/,""))}catch(L){return null}}function my({provider:T}){return async({contractAddress:f,abi:Z,funcName:y,funcParams:L=[],txOverrides:X})=>wT(f,Z,T).getFunction(y).populateTransaction(...L.concat(X).filter((J)=>typeof J!=="undefined"))}function by({chain:T,provider:f,isEIP1559Compatible:Z=!0}){if(T===H.Chain.Arbitrum)return async function y(){try{let{gasPrice:L}=await f.getFeeData();if(!L)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{gasPrice:L},[H.FeeOption.Fast]:{gasPrice:L},[H.FeeOption.Fastest]:{gasPrice:L}}}catch(L){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:L.msg??L.toString()})}};if(T===H.Chain.Optimism)return async function y(){try{let{maxFeePerGas:L,maxPriorityFeePerGas:X,gasPrice:J}=await f.getFeeData(),Q=vT(f)(),q=J;if(!(L&&X))throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{l1GasPrice:Q,gasPrice:q,maxFeePerGas:L,maxPriorityFeePerGas:X},[H.FeeOption.Fast]:{l1GasPrice:H.applyFeeMultiplierToBigInt(Q||0n,H.FeeOption.Fast),gasPrice:H.applyFeeMultiplierToBigInt(q,H.FeeOption.Fast),maxFeePerGas:L,maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(X,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{l1GasPrice:H.applyFeeMultiplierToBigInt(Q||0n,H.FeeOption.Fastest),gasPrice:H.applyFeeMultiplierToBigInt(q,H.FeeOption.Fastest),maxFeePerGas:L,maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(X,H.FeeOption.Fastest)}}}catch(L){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:L.msg??L.toString()})}};return async function y(){try{let{maxFeePerGas:L,maxPriorityFeePerGas:X,gasPrice:J}=await f.getFeeData();if(Z){if(L===null||X===null)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:L,maxPriorityFeePerGas:X},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(X,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(X,H.FeeOption.Fastest)}}}if(!J)throw new H.SwapKitError("toolbox_evm_no_gas_price");return{[H.FeeOption.Average]:{gasPrice:J},[H.FeeOption.Fast]:{gasPrice:H.applyFeeMultiplierToBigInt(J,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{gasPrice:H.applyFeeMultiplierToBigInt(J,H.FeeOption.Fastest)}}}catch(L){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:L.msg??L.toString()})}}}function a5({provider:T,isEIP1559Compatible:f,signer:Z,chain:y}){return async function L({callProvider:X,contractAddress:J,abi:Q,funcName:q,funcParams:x=[],txOverrides:z={},feeOption:M=H.FeeOption.Fast}){let G=X||T;if(!J)throw new H.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let W=r5({abi:Q,funcName:q});if(W&&ey(G)&&Z){let I=my({provider:G,chain:y}),w=z?.from||await Z?.getAddress(),b=await I({contractAddress:J,abi:Q,funcName:q,funcParams:x,txOverrides:{...z,from:w}});return yT(G)(b)}let B=wT(J,Q,G);if(W){if(!Z)throw new H.SwapKitError("toolbox_evm_no_signer");let I=z?.from||await Z.getAddress();if(!I)throw new H.SwapKitError("toolbox_evm_no_signer_address");let w=B.connect(Z),b=by({provider:T,isEIP1559Compatible:f,chain:y}),{maxFeePerGas:t,maxPriorityFeePerGas:m,gasPrice:e}=(await b())[M],a=await B.getFunction(q).estimateGas(...x,z),Ly=await w[q](...x,{...z,gasLimit:a,maxFeePerGas:t,maxPriorityFeePerGas:m,gasPrice:e,nonce:z?.nonce||await G.getTransactionCount(I)});return typeof Ly?.hash==="string"?Ly?.hash:Ly}let R=await B[q]?.(...x);return typeof R?.hash==="string"?R?.hash:R}}function p1({provider:T,chain:f}){return function Z({assetAddress:y,spenderAddress:L,from:X}){return a5({provider:T,isEIP1559Compatible:!0,chain:f})({contractAddress:y,abi:ay.erc20ABI,funcName:"allowance",funcParams:[X,L]})}}function VX({provider:T,chain:f}){return async function Z({assetAddress:y,spenderAddress:L,from:X,amount:J=OT}){let Q=await p1({provider:T,chain:f})({assetAddress:y,spenderAddress:L,from:X});return H.SwapKitNumber.fromBigInt(Q).gte(H.SwapKitNumber.fromBigInt(BigInt(J)))}}function $X({signer:T,isEIP1559Compatible:f=!0,provider:Z,chain:y}){return async function L({assetAddress:X,spenderAddress:J,feeOptionKey:Q=H.FeeOption.Fast,amount:q,gasLimitFallback:x,from:z,nonce:M}){let G=[J,BigInt(q||OT)],W=await T?.getAddress()||z,B={contractAddress:X,abi:ay.erc20ABI,funcName:"approve",funcParams:G,signer:T,txOverrides:{from:W}};if(ey(Z)){let I=my({provider:Z,chain:y}),w=yT(Z),b=await I(B);return w(b)}return a5({provider:Z,isEIP1559Compatible:f,signer:T,chain:y})({...B,funcParams:G,txOverrides:{from:W,nonce:M,gasLimit:x?BigInt(x.toString()):void 0},feeOption:Q})}}function FX({signer:T,isEIP1559Compatible:f=!0,provider:Z}){return async function y({assetValue:L,memo:X,recipient:J,feeOptionKey:Q=H.FeeOption.Fast,sender:q,...x}){let{hexlify:z,toUtf8Bytes:M}=await import("ethers"),G=L.getBaseValue("bigint"),W=L.chain,B=q||await T?.getAddress(),R=o1({provider:Z,signer:T,isEIP1559Compatible:f,chain:W});if(!B)throw new H.SwapKitError("toolbox_evm_no_from_address");if(L.isGasAsset){let e={...x,from:B,to:J,value:G,data:z(M(X||"")),feeOptionKey:Q};return R(e)}if(!TT(L,W))throw new H.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:w,maxPriorityFeePerGas:b,gasPrice:t}=(await by({provider:Z,isEIP1559Compatible:f,chain:W})())[Q],m=await d5({provider:Z,signer:T,chain:W})({assetValue:L,memo:X,recipient:J,data:z(M(X||"")),sender:B,maxFeePerGas:w,maxPriorityFeePerGas:b,gasPrice:t});return R(m)}}function m1({provider:T,signer:f}){return function Z({contractAddress:y,abi:L,funcName:X,funcParams:J=[],txOverrides:Q}){if(!y)throw new H.SwapKitError("toolbox_evm_no_contract_address");let q=wT(y,L,T);return f?q.connect(f).getFunction(X).estimateGas(...J,Q):q.getFunction(X).estimateGas(...J,Q)}}function KX({provider:T,signer:f}){return async function Z({assetValue:y,recipient:L,memo:X,data:J,sender:Q,funcName:q,funcParams:x,txOverrides:z}){let M=y.bigIntValue,G=y.isGasAsset?null:TT(y,y.chain);if(G&&q)return m1({provider:T,signer:f})({contractAddress:G,abi:ay.erc20ABI,funcName:q,funcParams:x,txOverrides:z});let{hexlify:W,toUtf8Bytes:B}=await import("ethers");return T.estimateGas({from:Q,to:L,value:M,data:J?J:X?W(B(X)):void 0})}}function o1({provider:T,signer:f,isEIP1559Compatible:Z=!0,chain:y}){return async function L({feeOptionKey:X=H.FeeOption.Fast,...J}){let{from:Q,to:q,data:x,value:z,...M}=J;if(!f)throw new H.SwapKitError("toolbox_evm_no_signer");if(!q)throw new H.SwapKitError("toolbox_evm_no_to_address");let G={...M,data:x||"0x",to:q,from:Q,value:BigInt(z||0)};if(ey(T))return yT(T)(G);let W=Q||await f.getAddress(),B=J.nonce||await T.getTransactionCount(W),R=(await T.getNetwork()).chainId,I=AX(G)||Z,w=by({provider:T,isEIP1559Compatible:Z,chain:y}),b=I&&!(G.maxFeePerGas&&G.maxPriorityFeePerGas)||!G.gasPrice?Object.entries((await w())[X]).reduce((m,[e,a])=>({...m,[e]:CT(BigInt(a))}),{}):{},t;try{t=CT(G.gasLimit||await T.estimateGas(G)*11n/10n)}catch(m){throw new H.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:m})}try{let m={...G,chainId:R,type:I?2:0,gasLimit:t,nonce:B,...b};try{return(await f.sendTransaction(m)).hash}catch(e){let a=await f.signTransaction({...m,from:W});return(await T.broadcastTransaction(a)).hash}}catch(m){throw new H.SwapKitError("toolbox_evm_error_sending_transaction",{error:m})}}}function d5({provider:T,signer:f}){return async function Z({assetValue:y,memo:L,recipient:X,data:J,sender:Q,maxFeePerGas:q,maxPriorityFeePerGas:x,gasPrice:z,...M}){let G=y.getBaseValue("bigint"),W=y.chain,B=Q||await f?.getAddress();if(!B)throw new H.SwapKitError("toolbox_evm_no_from_address");if(H.isGasAsset(y)){let{hexlify:w,toUtf8Bytes:b}=await import("ethers");return{...M,from:B,to:X,value:G,data:J||w(b(L||""))}}let R=TT(y,W);if(!R)throw new H.SwapKitError("toolbox_evm_no_contract_address");return my({provider:T,chain:y.chain})({contractAddress:R,abi:ay.erc20ABI,funcName:"transfer",funcParams:[X,G],txOverrides:{from:B,maxFeePerGas:q,maxPriorityFeePerGas:x,gasPrice:z}})}}function SX({provider:T,signer:f,chain:Z}){return async function y({assetAddress:L,spenderAddress:X,amount:J,from:Q}){let q=await f?.getAddress()||Q,x=my({provider:T,chain:Z}),z=["bigint","number"].includes(typeof J)?J:J||OT;return await x({contractAddress:L,abi:ay.erc20ABI,funcName:"approve",funcParams:[X,BigInt(z)],txOverrides:{from:q}})}}var H,ay,Jy,OT,PX,lX,AX=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var ET=V(()=>{H=require("@swapkit/helpers"),ay=require("@swapkit/helpers/contracts"),Jy=require("ethers");e5();OT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");PX=["payable","nonpayable"];lX={[H.Chain.Arbitrum]:H.ContractAddress.ARB,[H.Chain.Aurora]:H.ContractAddress.AURORA,[H.Chain.Avalanche]:H.ContractAddress.AVAX,[H.Chain.Base]:H.ContractAddress.BASE,[H.Chain.Berachain]:H.ContractAddress.BERA,[H.Chain.BinanceSmartChain]:H.ContractAddress.BSC,[H.Chain.Ethereum]:H.ContractAddress.ETH,[H.Chain.Gnosis]:H.ContractAddress.GNO,[H.Chain.Optimism]:H.ContractAddress.OP,[H.Chain.Polygon]:H.ContractAddress.MATIC}});var c1;var g1=V(()=>{c1=[{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 Z5({provider:T,...f}){let Z=await wy(Xy.Chain.Ethereum)({provider:T,...f});async function y(L,X="0x5ba1e12693dc8f9c48aad8770482f4739beed696",J="aggregate",Q=Xy.FeeOption.Fast){let q=await Z.createContractTxObject({contractAddress:X,abi:c1,funcName:J,funcParams:[L]});return Z.sendTransaction({...q,feeOptionKey:Q})}return{...Z,multicall:y}}function wy(T){return async function f({provider:Z,...y}){let L=Xy.SKConfig.get("rpcUrls")[T],X=Z||await oy(T,L),J=f0(T),Q=PT.match(y).with({phrase:PT.P.string},({phrase:x})=>d1.HDNodeWallet.fromPhrase(x).connect(X)).with({signer:PT.P.any},({signer:x})=>x).otherwise(()=>{return});return{...sy({provider:X,signer:Q,isEIP1559Compatible:J,chain:T}),getNetworkParams:T0(T),getBalance:kT(T).getBalance}}}var Xy,d1,PT,J5,Q5,q5,x5,z5,M5,G5,B5;var y0=V(()=>{Xy=require("@swapkit/helpers"),d1=require("ethers"),PT=require("ts-pattern");L5();g1();lT();ET();J5=wy(Xy.Chain.Arbitrum),Q5=wy(Xy.Chain.Aurora),q5=wy(Xy.Chain.Avalanche),x5=wy(Xy.Chain.Base),z5=wy(Xy.Chain.Berachain),M5=wy(Xy.Chain.BinanceSmartChain),G5=wy(Xy.Chain.Gnosis),B5=wy(Xy.Chain.Polygon)});var t1;var i1=V(()=>{t1=[{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 L0(T){return new W5.Contract(bX,t1,T)}function vT(T){return function f(){let Z=L0(T);if(Z&&"l1BaseFee"in Z)return Z?.l1BaseFee();return}}function a1(T){return async function f({from:Z,to:y,nonce:L,...X}){let{Transaction:J}=await import("ethers");if(!y)throw new yy.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return J.from({...X,authorizationList:X.authorizationList,to:y,nonce:L?L:Z?await T.getTransactionCount(Z):0}).serialized}}function s1(T){return async function f(Z){let y=L0(T),L=await a1(T)(Z);if(y&&"getL1Fee"in y)return y.getL1Fee(L)}}function e1(T){return async function f(Z){let y=await T.send("eth_gasPrice",[]),L=await T.estimateGas(Z);return y.mul(L)}}function uX(T){return async function f(Z){let y=await s1(T)(Z),L=await e1(T)(Z);return y.add(L)}}function Z0(T){return async function f(Z){let y=L0(T),L=await a1(T)(Z);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(L)}}async function H5({provider:T,...f}){let Z=yy.Chain.Optimism,y=yy.SKConfig.get("rpcUrls")[Z],L=T||await oy(Z,y),X=r1.match(f).with({phrase:X0.P.string},({phrase:q})=>W5.HDNodeWallet.fromPhrase(q).connect(L)).with({signer:X0.P.any},({signer:q})=>q).otherwise(()=>{return}),J=sy({provider:L,signer:X}),Q=vT(L);return{...J,estimateL1Gas:Z0(L),estimateL1GasCost:s1(L),estimateL2GasCost:e1(L),estimateTotalGasCost:uX(L),getBalance:kT(yy.Chain.Optimism).getBalance,getL1GasPrice:Q,getNetworkParams:jX}}var yy,W5,X0,r1,bX="0x420000000000000000000000000000000000000f",jX=()=>({chainId:yy.ChainId.OptimismHex,chainName:"Optimism",nativeCurrency:{name:"Ethereum",symbol:yy.Chain.Ethereum,decimals:yy.BaseDecimal.ETH},rpcUrls:[yy.SKConfig.get("rpcUrls")[yy.Chain.Optimism]],blockExplorerUrls:[yy.ChainToExplorerUrl[yy.Chain.Optimism]]});var J0=V(()=>{yy=require("@swapkit/helpers"),W5=require("ethers"),X0=require("ts-pattern"),r1=require("ts-pattern");L5();i1();lT();ET()});var Q0={};My(Q0,{toChecksumAddress:()=>h1,isStateChangingCall:()=>r5,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getL1GasPriceFetcher:()=>vT,getEvmToolbox:()=>yf,getEstimateGasPrices:()=>by,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>my,getCreateContract:()=>i5,getChecksumAddressFromAsset:()=>n1,evmValidateAddress:()=>t5,estimateL1Gas:()=>Z0,createContract:()=>wT,OPToolbox:()=>H5,MAX_APPROVAL:()=>OT,MATICToolbox:()=>B5,GNOToolbox:()=>G5,ETHToolbox:()=>Z5,BaseEVMToolbox:()=>sy,BSCToolbox:()=>M5,BERAToolbox:()=>z5,BASEToolbox:()=>x5,AVAXToolbox:()=>q5,AURORAToolbox:()=>Q5,ARBToolbox:()=>J5});async function yf(T,f){let Z={...f,provider:f?.provider||await oy(T)};switch(T){case Qy.Chain.Arbitrum:return J5(Z);case Qy.Chain.Aurora:return Q5(Z);case Qy.Chain.Avalanche:return q5(Z);case Qy.Chain.Base:return x5(Z);case Qy.Chain.Berachain:return z5(Z);case Qy.Chain.BinanceSmartChain:return M5(Z);case Qy.Chain.Gnosis:return G5(Z);case Qy.Chain.Optimism:return H5(Z);case Qy.Chain.Polygon:return B5(Z);case Qy.Chain.Ethereum:return Z5(Z);default:throw new Qy.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var Qy;var U5=V(()=>{Qy=require("@swapkit/helpers");lT();y0();J0();ET();y0();J0()});async function oy(T,f){let{JsonRpcProvider:Z}=await import("ethers");return new Z(f||A.SKConfig.get("rpcUrls")[T])}function CT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function s5({provider:T,isEIP1559Compatible:f=!0}){return async function Z({feeOption:y=A.FeeOption.Fast,chain:L,...X}){let Q=await by({provider:T,isEIP1559Compatible:f,chain:L})(),q=await T.estimateGas(X),x=A.AssetValue.from({chain:L}),{gasPrice:z,maxFeePerGas:M,maxPriorityFeePerGas:G}=Q[y];if(!f&&z)return x.set(A.SwapKitNumber.fromBigInt(z*q,x.decimal));if(M&&G){let W=(M+G)*q;return x.set(A.SwapKitNumber.fromBigInt(W,x.decimal))}throw new A.SwapKitError("toolbox_evm_no_gas_price")}}function T0(T){return()=>A.Chain.Ethereum===T?void 0:{...nX({chain:T}),chainId:A.ChainToHexChainId[T],rpcUrls:[A.SKConfig.get("rpcUrls")[T]],blockExplorerUrls:[A.ChainToExplorerUrl[T]]}}function f0(T){return![A.Chain.Arbitrum,A.Chain.BinanceSmartChain].includes(T)}function nX({chain:T}){let f=A.BaseDecimal[T];switch(T){case A.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{name:"Ethereum",symbol:A.Chain.Ethereum,decimals:f}};case A.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{name:"Ethereum",symbol:A.Chain.Ethereum,decimals:f}};case A.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{name:"Avalanche",symbol:T,decimals:f}};case A.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{name:"Ethereum",symbol:A.Chain.Ethereum,decimals:f}};case A.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{name:"Berachain",symbol:"BERA",decimals:f}};case A.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{name:"Binance Coin",symbol:"BNB",decimals:f}};case A.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{name:"xDAI",symbol:"XDAI",decimals:f}};case A.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{name:"Ethereum",symbol:A.Chain.Ethereum,decimals:f}};case A.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{name:"Polygon",symbol:A.Chain.Polygon,decimals:f}};default:throw new A.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var A,hX=async({from:T,memo:f="",feeOptionKey:Z=A.FeeOption.Fastest,assetValue:y,abi:L,funcName:X,funcParams:J,contractAddress:Q,txOverrides:q})=>{let{getEvmToolbox:x}=await Promise.resolve().then(() => (U5(),Q0)),z=await x(y.chain),G=(await z.getBalance(T)).find(({symbol:m,chain:e})=>y?m===y.symbol:m===A.AssetValue.from({chain:e})?.symbol),W=(await z.estimateGasPrices())[Z];if(!G)return A.AssetValue.from({chain:y.chain});if(y&&(G.chain!==y.chain||G.symbol!==y?.symbol))return G;let B=L&&X&&J&&Q?await z.estimateCall({contractAddress:Q,abi:L,funcName:X,funcParams:J,txOverrides:q}):await z.estimateGasLimit({sender:T,recipient:T,memo:f,assetValue:y}),R="maxFeePerGas"in W,I="gasPrice"in W&&W.gasPrice!==void 0;if(!(W&&(I||R)))throw new A.SwapKitError("toolbox_evm_no_fee_data");let w=R?(W.maxFeePerGas||1n)+(W.maxPriorityFeePerGas||1n):W.gasPrice||1n,b=B*w,t=A.SwapKitNumber.fromBigInt(G.getBaseValue("bigint")).sub(b.toString());return A.AssetValue.from({chain:G.chain,value:t.getValue("string")})};var lT=V(()=>{A=require("@swapkit/helpers");ET()});var Tf;var ff=V(()=>{((Z)=>{Z.Test="goerli";Z.Main="homestead"})(Tf||={})});var Xf={};My(Xf,{toHexString:()=>CT,toChecksumAddress:()=>h1,isStateChangingCall:()=>r5,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getProvider:()=>oy,getNetworkParams:()=>T0,getL1GasPriceFetcher:()=>vT,getIsEIP1559Compatible:()=>f0,getEvmToolbox:()=>yf,getEvmApi:()=>kT,getEstimateTransactionFee:()=>s5,getEstimateGasPrices:()=>by,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>my,getCreateContract:()=>i5,getChecksumAddressFromAsset:()=>n1,evmValidateAddress:()=>t5,estimateMaxSendableAmount:()=>hX,estimateL1Gas:()=>Z0,createCustomEvmApi:()=>EX,createContract:()=>wT,OPToolbox:()=>H5,MAX_APPROVAL:()=>OT,MATICToolbox:()=>B5,GNOToolbox:()=>G5,EthNetwork:()=>Tf,ETHToolbox:()=>Z5,BaseEVMToolbox:()=>sy,BSCToolbox:()=>M5,BERAToolbox:()=>z5,BASEToolbox:()=>x5,AVAXToolbox:()=>q5,AURORAToolbox:()=>Q5,ARBToolbox:()=>J5});module.exports=_y(Xf);var e5=V(()=>{L5();lT();ff();U5()});async function pX(T,f,Z){try{let y=await T.query.system?.account?.(Z);if(!y)return[f.set(0)];let{data:{free:L}}=y,X=cy.SwapKitNumber.fromBigInt(BigInt(L.toString()),f.decimal).getValue("string");return[f.set(X)]}catch(y){return console.error("Error fetching substrate balance:",y),[f.set(0)]}}async function mX(T,f,Z){try{let y=await T.query.flip?.account?.(Z);if(!y)return[f.set(0)];let L=y.balance||y.data?.balance;if(!L||L.isEmpty)return[f.set(0)];let X=cy.SwapKitNumber.fromBigInt(BigInt(L.toString()),f.decimal).getValue("string");return[f.set(X)]}catch(y){return console.error("Error fetching chainflip balance:",y),[f.set(0)]}}function Lf(T,f){return function Z(y){let L=cy.AssetValue.from({chain:T});switch(T){case cy.Chain.Chainflip:return mX(f,L,y);default:return pX(f,L,y)}}}var cy;var Zf=V(()=>{cy=require("@swapkit/helpers")});var oX,cX,gX,uy;var q0=V(()=>{oX={prefix:0,network:"polkadot",displayName:"Polkadot Relay Chain",symbols:["DOT"],decimals:[10],standardAccount:"*25519",website:"https://polkadot.network"},cX={prefix:2112,network:"chainflip",displayName:"Chainflip",symbols:["FLIP"],decimals:[18],standardAccount:"*25519",website:"https://chainflip.io/"},gX={prefix:42,network:"substrate",displayName:"Substrate",symbols:[],decimals:[],standardAccount:"*25519",website:"https://substrate.io/"},uy={DOT:oX,FLIP:cX,GENERIC:gX}});function dX(T,f){switch(T){case d.Chain.Chainflip:return Qf(f);case d.Chain.Polkadot:return Jf(f);default:throw new d.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function fT(T){return"address"in T}async function z0(T,f){let{Keyring:Z}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new Z({type:"sr25519",ss58Format:f}).addFromUri(T)}function y2(T,f){let Z=LT.decodeAddress(T);return LT.encodeAddress(Z,f)}function qf(T,f){return XT.isHex(T)?XT.hexToU8a(T):LT.decodeAddress(T,void 0,f)}function xf(T,f="ss58",Z){if(f==="hex")return XT.u8aToHex(T);return LT.encodeAddress(T,Z)}async function B0({generic:T,chain:f,...Z}){let{ApiPromise:y,WsProvider:L}=await import("@polkadot/api"),X=new L(d.SKConfig.get("rpcUrls")[f]),J=await y.create({provider:X}),Q=d.AssetValue.from({chain:f}),q=T?uy.GENERIC:uy[f],x=await VT.match(Z).with({phrase:VT.P.string},({phrase:z})=>z0(z,uy[f].prefix)).with({signer:VT.P.any},({signer:z})=>z).otherwise(()=>{return});return zf({api:J,signer:x,gasAsset:Q,network:q,chain:f})}var XT,LT,d,VT,Jf=({generic:T=!1,...f}={})=>{return B0({chain:d.Chain.Polkadot,generic:T,...f})},Qf=async({generic:T=!1,...f}={})=>{return{...await B0({chain:d.Chain.Chainflip,generic:T,...f})}},M0=(T,f)=>T.rpc.system.accountNextIndex(f),x0=(T,f)=>{try{let Z=qf(T,f);return xf(Z,"ss58",f),!0}catch(Z){return!1}},G0=(T,{recipient:f,assetValue:Z})=>T.tx.balances?.transferAllowDeath?.(f,Z.getBaseValue("number")),tX=async(T,f,{recipient:Z,assetValue:y,sender:L})=>{let X=G0(T,{recipient:Z,assetValue:y}),J=fT(f);if(!X)return;let Q=J?f.address:L;if(!Q)throw new d.SwapKitError("core_transaction_invalid_sender_address");let q=await M0(T,Q);return(await X.signAndSend(J?f:Q,{signer:J?void 0:f,nonce:q}))?.toString()},iX=async(T,f,Z,{recipient:y,assetValue:L,sender:X})=>{let J=G0(T,{recipient:y,assetValue:L}),Q=fT(f)?f.address:X;if(!Q)return;let q=await J?.paymentInfo(Q,{nonce:await M0(T,Q)})||{partialFee:0};return Z.set(d.SwapKitNumber.fromBigInt(BigInt(q.partialFee.toString()),Z.decimal).getValue("string"))},rX=async(T,f)=>{if(f)return T.send(f);return(await T.send()).toString()},aX=async(T,f)=>{return await f.signAsync(T)},sX=(T,f,Z)=>{if(Z)return f.signAndSend(T,Z);return f.signAndSend(T).toString()},eX=async({signer:T,address:f,tx:Z,callback:y,api:L})=>{let X=await M0(L,f);if(y)Z.signAndSend(f,{nonce:X,signer:T},y);return Z.signAndSend(f,{nonce:X,signer:T}).toString()},zf=({api:T,network:f,gasAsset:Z,signer:y,chain:L})=>({api:T,network:f,gasAsset:Z,decodeAddress:qf,encodeAddress:xf,convertAddress:y2,getBalance:Lf(L||d.Chain.Polkadot,T),createKeyring:(X)=>z0(X,f.prefix),getAddress:(X)=>{let J=X||y;if(!J)throw new d.SwapKitError("core_wallet_not_keypair_wallet");return fT(J)?J.address:void 0},createTransaction:(X)=>G0(T,X),validateAddress:(X)=>x0(X,f.prefix),transfer:(X)=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");return tX(T,y,X)},estimateTransactionFee:(X)=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");return iX(T,y,Z,X)},sign:(X)=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");if(fT(y))return aX(y,X);throw new d.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},broadcast:rX,signAndBroadcast:({tx:X,callback:J,address:Q})=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");if(fT(y))return sX(y,X,J);if(Q)return eX({signer:y,address:Q,tx:X,callback:J,api:T});throw new d.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")}}),T2=({address:T,chain:f})=>{let{prefix:Z}=f===d.Chain.Polkadot?uy.DOT:uy.FLIP;return x0(T,Z)||x0(T,uy.GENERIC.prefix)};var Mf=V(()=>{XT=require("@polkadot/util"),LT=require("@polkadot/util-crypto"),d=require("@swapkit/helpers"),VT=require("ts-pattern");Zf();q0()});var W0={};My(W0,{substrateValidateAddress:()=>T2,isKeyringPair:()=>fT,getSubstrateToolbox:()=>dX,createSubstrateToolbox:()=>B0,createKeyring:()=>z0,SubstrateNetwork:()=>uy,PolkadotToolbox:()=>Jf,ChainflipToolbox:()=>Qf,BaseSubstrateToolbox:()=>zf});module.exports=_y(W0);var H0=V(()=>{Mf();q0()});async function f2({chain:T,txHash:f}){let Z=j.SKConfig.get("rpcUrls")[T],y=JSON.stringify({jsonrpc:"2.0",method:"sendrawtransaction",params:[f],id:j1()}),L=await j.RequestClient.post(Z,{headers:{"Content-Type":"application/json"},body:y});if(L.error)throw new j.SwapKitError("toolbox_utxo_broadcast_failed",{error:L.error?.message});if(L.result.includes('"code":-26'))throw new j.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return L.result}function U0(T){return`https://api.blockchair.com/${X2(T)}`}function Gf(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 X2(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 L2(T){try{let{feePerKb:f}=await j.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),Z=f/1000;return Math.max(Z,Gf(T))}catch(f){return Gf(T)}}async function Y0(T,f){let Z=await j.RequestClient.get(`${T}${f?`${T.includes("?")?"&":"?"}key=${f}`:""}`);if(!Z||Z.context.code!==200)throw new j.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return Z.data}async function Uf({address:T,chain:f,apiKey:Z}){if(!T)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Y0(`${U0(f)}/dashboards/address/${T}?transaction_details=true`,Z))[T]}catch(y){return{utxo:[],address:{balance:0,transaction_count:0}}}}async function Z2({address:T,chain:f,apiKey:Z}){return(await Uf({address:T,chain:f,apiKey:Z}))?.address.balance||0}async function Yf({chain:T,apiKey:f,txHash:Z}){if(!Z)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Y0(`${U0(T)}/raw/transaction/${Z}`,f))?.[Z]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function J2({chain:T,address:f,apiKey:Z,offset:y=0,limit:L=30}){return(await Y0(`${U0(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=${L}&offset=${y}`,Z)).map(({is_spent:q,script_hex:x,block_id:z,transaction_hash:M,index:G,value:W,spending_signature_hex:B})=>({hash:M,index:G,value:W,txHex:B,script_hex:x,is_confirmed:z!==-1,is_spent:q}))}function Q2(T){return T.reduce((f,Z)=>f+Z.value,0)}function Bf(T,f){let Z=[...T].sort((y,L)=>L.value-y.value);if(f){let y=[],L=0;for(let X of Z)if(y.push(X),L+=X.value,L>=f)break;return y}return Z}async function _f({chain:T,address:f,apiKey:Z,targetValue:y,accumulativeValue:L=0,offset:X=0,limit:J=30}){if(!f)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let Q=await J2({targetValue:y,chain:T,address:f,apiKey:Z,offset:X,limit:J}),x=Q.length<J,z=Q.filter(({is_spent:I})=>!I),M=Q2(z),G=L+M,W=y&&G>=y;if(x||W)return Bf(z,y);let B=await _f({chain:T,address:f,apiKey:Z,offset:X+J,limit:J,accumulativeValue:G,targetValue:y}),R=[...z,...B];return Bf(R,y)}catch(Q){return console.error("Failed to fetch unspent UTXOs:",Q),[]}}async function q2({address:T,chain:f,apiKey:Z,fetchTxHex:y=!0,targetValue:L}){let X=await _f({chain:f,address:T,apiKey:Z,targetValue:L}),J=[];for(let{hash:Q,index:q,script_hex:x,value:z}of X){let M;if(y)M=await Yf({txHash:Q,chain:f,apiKey:Z});J.push({address:T,hash:Q,index:q,txHex:M,value:z,witnessUtxo:{value:z,script:Buffer.from(x,"hex")}})}return J}function x2(T){let f=j.SKConfig.get("apiKeys").blockchair||"";return j.warnOnce(!f,"No Blockchair API key found. Functionality will be limited."),{broadcastTx:(Z)=>f2({txHash:Z,chain:T}),getRawTx:(Z)=>Yf({txHash:Z,chain:T,apiKey:f}),getSuggestedTxFee:()=>L2(T),getBalance:(Z)=>Z2({address:Z,chain:T,apiKey:f}),getAddressData:(Z)=>Uf({address:Z,chain:T,apiKey:f}),getUtxos:(Z)=>q2({...Z,chain:T,apiKey:f})}}function z2(T){return T}function qy(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 x2(T)}function Ry(){return function T(f){switch(f){case j.Chain.Bitcoin:return Hf.networks.bitcoin;case j.Chain.BitcoinCash:return ZT.default.bitcoincash.main.toBitcoinJS();case j.Chain.Dash:return ZT.default.dash.main.toBitcoinJS();case j.Chain.Litecoin:return ZT.default.litecoin.main.toBitcoinJS();case j.Chain.Dogecoin:{let Z={private:70615956,public:70617039},y=ZT.default.dogecoin.test;return y.versions.bip32=Z,ZT.default.dogecoin.main.toBitcoinJS()}case j.Chain.Zcash:return Wf.networks.zcash;default:throw new j.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}}var Wf,j,Hf,ZT;var Rf=V(()=>{Wf=require("@bitgo/utxo-lib"),j=require("@swapkit/helpers"),Hf=require("bitcoinjs-lib");f5();ZT=Y(require("coininfo"))});function I0(T){try{return Y5(T),!0}catch(f){return!1}}function k0(T){return Y5(T)?.network}function JT(T){let f=Y5(T);if(f?.format==="legacy")return T;return B2(f)}function $T(T){let f=Y5(T);return W2(f)}function Y5(T){try{let f=M2(T);if(f)return f}catch(f){}try{let f=G2(T);if(f)return f}catch(f){}throw new _0.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function M2(T){try{let f=R0.default.decode(T);if(f.length!==21)throw new _0.SwapKitError("toolbox_utxo_invalid_address",{address:T});let Z=f[0],y=Array.prototype.slice.call(f,1);switch(Z){case c.legacy.mainnet.p2pkh:return{hash:y,format:"legacy",network:"mainnet",type:"p2pkh"};case c.legacy.mainnet.p2sh:return{hash:y,format:"legacy",network:"mainnet",type:"p2sh"};case c.legacy.testnet.p2pkh:return{hash:y,format:"legacy",network:"testnet",type:"p2pkh"};case c.legacy.testnet.p2sh:return{hash:y,format:"legacy",network:"testnet",type:"p2sh"};case c.bitpay.mainnet.p2pkh:return{hash:y,format:"bitpay",network:"mainnet",type:"p2pkh"};case c.bitpay.mainnet.p2sh:return{hash:y,format:"bitpay",network:"mainnet",type:"p2sh"};default:return}}catch(f){return}}function G2(T){if(T.indexOf(":")!==-1)try{return Nf(T)}catch(f){}else{let f=["bitcoincash","bchtest","bchreg"];for(let Z of f)try{return Nf(`${Z}:${T}`)}catch(y){}}return}function Nf(T){try{let{hash:f,prefix:Z,type:y}=N0.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(f,0),network:Z==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch(f){return}}function B2(T){let f=c.legacy[T.network][T.type],Z=Buffer.alloc(1+T.hash.length);return Z[0]=f,Z.set(T.hash,1),R0.default.encode(Z)}function W2(T){let f=T.network==="mainnet"?"bitcoincash":"bchtest",Z=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return N0.default.encode(f,Z,y)}var _0,R0,N0,D0,c;var Df=V(()=>{_0=require("@swapkit/helpers"),R0=Y(require("bs58check")),N0=Y(require("cashaddrjs"));((Z)=>{Z.Mainnet="mainnet";Z.Testnet="testnet"})(D0||={});c={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});var Ny,_5=(T)=>{switch(T){case Ny.Chain.Bitcoin:case Ny.Chain.BitcoinCash:return 550;case Ny.Chain.Dash:case Ny.Chain.Litecoin:return 5500;case Ny.Chain.Dogecoin:return 1e5;case Ny.Chain.Zcash:return 546;default:throw new Ny.SwapKitError("toolbox_utxo_not_supported",{chain:T})}},Dy=({inputs:T,outputs:f,feeRate:Z=1,chain:y=Ny.Chain.Bitcoin,changeAddress:L=""})=>{let X=Math.ceil(Z),J=T[0]&&"address"in T[0]&&T[0].address?KT(T[0].address):"P2PKH",Q=T.filter((W)=>jy(W)*X<=W.value),q=R5+f.reduce((W,B)=>W+FT(B,J),0),x=f.reduce((W,B)=>W+B.value,0),z=q*X,M=0,G=[];for(let W of Q){let B=jy(W),R=X*B;z+=R,M+=W.value,G.push(W);let I=z+x;if(M<I)continue;let w=M-I,b=X*FT({address:"",value:0},J);if(w>b){let t=b+z,m=M-(x+t);if(m>Math.max(jy({})*X,_5(y)))return{inputs:G,outputs:f.concat({value:m,address:L}),fee:t}}return{inputs:G,outputs:f,fee:z}}return{fee:X*QT({inputs:T,outputs:f,feeRate:X})}};var If=V(()=>{Ny=require("@swapkit/helpers");qT()});function Iy(T){let f=Buffer.from(T,"utf8");return I5.script.compile([I5.opcodes.OP_RETURN,f])}var kf,I5,H2=1000,R5=10,Cf=10,U2=41,Y2=107,N5,D5,AT,KT=(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 kf.SwapKitError("toolbox_utxo_invalid_address",{address:T})},QT=({inputs:T,outputs:f,feeRate:Z})=>{let y=T[0]&&"address"in T[0]&&T[0].address?KT(T[0].address):"P2PKH",L=T.filter((J)=>J.value>=D5["type"in J?J.type:"P2PKH"]*Math.ceil(Z)).reduce((J,Q)=>J+jy(Q),0),X=f?.reduce((J,Q)=>J+FT(Q),0)||AT[y];return R5+L+X},jy=(T)=>{if("type"in T)return D5[T.type];if("address"in T&&T.address)return D5[KT(T.address)];return U2+Y2},FT=(T,f)=>{if(T?.script)return Cf+T.script.length+(T.script.length>=74?2:1);if(f)return AT[f];return AT.P2PKH};var Of=V(()=>{kf=require("@swapkit/helpers"),I5=require("bitcoinjs-lib");((Z)=>{Z.P2PKH="P2PKH";Z.P2WPKH="P2WPKH"})(N5||={});D5={["P2PKH"]:148,["P2WPKH"]:68},AT={["P2PKH"]:34,["P2WPKH"]:31}});var qT=V(()=>{Rf();Df();If();Of()});function k5(){return xy.networks.zcash}function Ef(){return{messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
-
`,bech32:void 0,bip32:{public:76067358,private:76066276},pubKeyHash:28,scriptHash:28,wif:128}}function ST(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=k5();try{return xy.address.toOutputScript(T,f),!0}catch{let Z=w0.default.decode(T);if(Z.length<21)return!1;let y=Z[0];return y===f.pubKeyHash||y===f.scriptHash}}catch{return!1}}function _2({phrase:T,derivationPath:f}){let Z=O0.mnemonicToSeedSync(T),L=C0.HDKey.fromMasterSeed(Z).derive(f);if(!L.privateKey)throw new r.SwapKitError("toolbox_utxo_invalid_params");let X=Ef(),J=xy.ECPair.fromPrivateKey(Buffer.from(L.privateKey),{network:X}),Q=xy.crypto.hash160(J.publicKey),{isStagenet:q}=r.SKConfig.get("envs"),x=q?Buffer.from([29,37]):Buffer.from([28,184]),z=Buffer.concat([x,Q]),M=w0.default.encode(z);return{getAddress:()=>Promise.resolve(M),signTransaction:({inputs:G,psbt:W})=>{let B=xy.bitgo.createTransactionBuilderForNetwork(k5());B.setVersion(4);for(let w of W.txInputs){let b=typeof w.hash==="string"?Buffer.from(w.hash,"hex").reverse():w.hash;B.addInput(b,w.index)}let R=W.txOutputs||[];for(let w of R){if(!w.script)throw new r.SwapKitError("toolbox_utxo_invalid_params",{message:"PSBT output script is missing"});B.addOutput(w.script,Number(w.value))}for(let w=0;w<G.length;w++){let b=G[w];B.sign(w,J,void 0,void 0,b?.value)}let I=B.build();return Promise.resolve(I.toHex())}}}function R2({inputs:T,outputs:f,psbt:Z,sender:y,compiledMemo:L}){Z.setVersion(4,!0);for(let X of T){let J=!!X.witnessUtxo&&{witnessUtxo:{...X.witnessUtxo,value:BigInt(X.value)}},Q=!X.witnessUtxo&&{nonWitnessUtxo:X.txHex?Buffer.from(X.txHex,"hex"):void 0};Z.addInput({hash:X.hash,index:X.index,...J,...Q})}for(let X of f){let J="address"in X&&X.address?X.address:y,Q=X.script;if(Q&&!L)continue;let q=Q?{script:L,value:0n}:{script:xy.address.toOutputScript(J,k5()),value:BigInt(X.value)};Z.addOutput(q)}return{psbt:Z,inputs:T}}async function wf(T){let{assetValue:f,recipient:Z,memo:y,feeRate:L,sender:X,fetchTxHex:J}=T,Q=y?Iy(y):null,q=await qy(r.Chain.Zcash).getUtxos({address:X,fetchTxHex:J!==!1}),x=[{address:Z,value:Number(f.getBaseValue("string"))},...Q?[{script:Q,value:0}]:[]],{inputs:z,outputs:M}=Dy({inputs:q,outputs:x,feeRate:L,chain:r.Chain.Zcash,changeAddress:X});if(!(z&&M))throw new r.SwapKitError("toolbox_utxo_insufficient_balance",{sender:X,assetValue:f});let G=xy.bitgo.createPsbtForNetwork({network:k5()},{version:455}),{psbt:W,inputs:B}=await R2({inputs:z,outputs:M,psbt:G,sender:X,compiledMemo:Q});return{inputs:B,outputs:M,psbt:W}}async function E0(T){let f=await xT.match(T).with({signer:xT.P.not(xT.P.nullish)},({signer:J})=>Promise.resolve(J)).with({phrase:xT.P.string},({phrase:J,derivationPath:Q,index:q=0})=>{let x=Q||r.NetworkDerivationPath[r.Chain.Zcash]||[44,133,0,0,0],z=r.updateDerivationPath(x,{index:q}),M=r.derivationPathToString(z);return _2({phrase:J,derivationPath:M})}).otherwise(()=>Promise.resolve(void 0)),Z=await gy({chain:r.Chain.Zcash,signer:f});async function y({recipient:J,assetValue:Q,feeOptionKey:q=r.FeeOption.Fast,...x}){let z=await f?.getAddress();if(!(f&&z))throw new r.SwapKitError("toolbox_utxo_no_signer");let M=x.feeRate||(await Z.getFeeRates())[q],{inputs:G,psbt:W}=await wf({...x,assetValue:Q,feeRate:M,recipient:J,sender:z}),B=await f.signTransaction({inputs:G,psbt:W});return Z.broadcastTx(B)}function L({phrase:J,derivationPath:Q="m/44'/133'/0'/0/0"}){let q=O0.mnemonicToSeedSync(J),z=C0.HDKey.fromMasterSeed(q).derive(Q);if(!z.privateKey)throw new r.SwapKitError("toolbox_utxo_invalid_params");let M=Ef();return xy.ECPair.fromPrivateKey(Buffer.from(z.privateKey),{network:M})}function X({phrase:J,derivationPath:Q="m/44'/133'/0'/0/0"}){return L({phrase:J,derivationPath:Q}).toWIF()}return{...Z,transfer:y,createTransaction:wf,createKeysForPath:L,getPrivateKeyFromMnemonic:X,validateAddress:ST}}var xy,C0,O0,r,w0,xT;var bT=V(()=>{xy=require("@bitgo/utxo-lib"),C0=require("@scure/bip32"),O0=require("@scure/bip39"),r=require("@swapkit/helpers"),w0=Y(require("bs58check")),xT=require("ts-pattern");qT();uT()});function lf({inputs:T,outputs:f,chain:Z,psbt:y,sender:L,compiledMemo:X}){for(let J of T){let Q=!!J.witnessUtxo&&!jT.includes(Z)&&{witnessUtxo:J.witnessUtxo},q=jT.includes(Z)&&{nonWitnessUtxo:J.txHex?Buffer.from(J.txHex,"hex"):void 0};y.addInput({hash:J.hash,index:J.index,...Q,...q})}for(let J of f){let Q="address"in J&&J.address?J.address:L,q=J.script;if(q&&!X)continue;let x=q?{script:X,value:0}:{address:Q,value:J.value};ky.initEccLib(C5.default),y.addOutput(x)}return{psbt:y,inputs:T}}async function Vf({assetValue:T,recipient:f,memo:Z,feeRate:y,sender:L,fetchTxHex:X=!1}){let J=T.chain,Q=Z?await Iy(Z):null,q=await Kf({assetValue:T,recipient:f,memo:Z,sender:L,fetchTxHex:X}),{inputs:x,outputs:z}=Dy({...q,feeRate:y,chain:J});if(!(x&&z))throw new F.SwapKitError("toolbox_utxo_insufficient_balance",{sender:L,assetValue:T});let M=await Ry(),G=new ky.Psbt({network:M(J)});if(J===F.Chain.Dogecoin)G.setMaximumFeeRate(650000000);let{psbt:W,inputs:B}=await lf({inputs:x,outputs:z,chain:J,psbt:G,sender:L,compiledMemo:Q});return{psbt:W,utxos:q.inputs,inputs:B}}async function $f(){let T=await Ry();return function f({address:Z,chain:y}){if(y===F.Chain.BitcoinCash)return dy(Z);if(y===F.Chain.Zcash)return ST(Z);try{return ky.initEccLib(C5.default),ky.address.toOutputScript(Z,T(y)),!0}catch(L){return!1}}}async function N2({chain:T,phrase:f,derivationPath:Z}){let y=(await hT(T))({phrase:f,derivationPath:Z});async function L(J){return await J.signAllInputs(y),J}async function X(){return(await P0(T))(y)}return{getAddress:X,signTransaction:L}}async function gy({chain:T,...f}){let Z="phrase"in f?f.phrase:void 0,y="index"in f?f.index||0:0,L=F.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:F.updateDerivationPath(F.NetworkDerivationPath[T],{index:y})),X=Z?await N2({chain:T,phrase:Z,derivationPath:L}):("signer"in f)?f.signer:void 0;function J(){return Promise.resolve(X?.getAddress())}let Q=await P0(T),q=await $f(),x=await hT(T);return{accumulative:Dy,calculateTxSize:QT,getAddressFromKeys:Q,getAddress:J,validateAddress:(z)=>q({address:z,chain:T}),broadcastTx:(z)=>qy(T).broadcastTx(z),createTransaction:Vf,createKeysForPath:x,getFeeRates:()=>nT(T),getInputsOutputsFee:Ff,transfer:k2(X),getPrivateKeyFromMnemonic:(z)=>{return x(z).toWIF()},getBalance:T5(T),estimateTransactionFee:I2(T),estimateMaxSendableAmount:D2(T)}}async function Ff({assetValue:T,feeOptionKey:f=F.FeeOption.Fast,feeRate:Z,memo:y,sender:L,recipient:X}){let J=T.chain,Q=await Kf({assetValue:T,sender:L,memo:y,recipient:X}),q=Z?Math.floor(Z):(await nT(J))[f];return Dy({...Q,feeRate:q,chain:J})}function D2(T){return async function f({from:Z,memo:y,feeRate:L,feeOptionKey:X=F.FeeOption.Fast,recipients:J=1}){let Q=await qy(T).getAddressData(Z),q=L?Math.ceil(L):(await nT(T))[X],x=Q?.utxo.map((B)=>({...B,type:"P2PKH",hash:""})).filter((B)=>B.value>Math.max(_5(T),jy(B)*q));if(!x?.length)return F.AssetValue.from({chain:T});let z=F.AssetValue.from({chain:T,value:x.reduce((B,R)=>B+R.value,0)}),M=typeof J==="number"?Array.from({length:J},()=>({address:Z,value:0})):J;if(y){let B=await Iy(y);M.push({address:Z,script:B,value:0})}let W=QT({inputs:x,outputs:M,feeRate:q})*q;return z.sub(W)}}function I2(T){return async(f)=>{let Z=await Ff(f);return F.AssetValue.from({chain:T,value:F.SwapKitNumber.fromBigInt(BigInt(Z.fee),8).getValue("string")})}}async function hT(T){let f=await Ry();switch(T){case F.Chain.BitcoinCash:return function Z({phrase:y,derivationPath:L=`${F.DerivationPath.BCH}/0`,wif:X}){let J=f(T);if(X)return O5.ECPair.fromWIF(X,J);if(!y)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return O5.HDNode.fromSeedBuffer(Buffer.from(v0.mnemonicToSeedSync(y)),J).derivePath(L).keyPair};case F.Chain.Bitcoin:case F.Chain.Dogecoin:case F.Chain.Litecoin:case F.Chain.Zcash:case F.Chain.Dash:return function Z({phrase:y,wif:L,derivationPath:X}){if(!(L||y))throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let J=vf.ECPairFactory(C5.default),Q=f(T);if(L)return J.fromWIF(L,Q);let q=v0.mnemonicToSeedSync(y),x=Pf.HDKey.fromMasterSeed(q,Q).derive(X);if(!x.privateKey)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return J.fromPrivateKey(Buffer.from(x.privateKey),{network:Q})};default:throw new F.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}async function P0(T){let f=await Ry();return function Z(y){if(!y)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let L=jT.includes(T)?ky.payments.p2pkh:ky.payments.p2wpkh,{address:X}=L({pubkey:y.publicKey,network:f(T)});if(!X)throw new F.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return X}}function k2(T){return async function f({memo:Z,recipient:y,feeOptionKey:L,feeRate:X,assetValue:J}){let Q=await T?.getAddress(),q=J.chain;if(!(T&&Q))throw new F.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new F.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let x=X||(await nT(q))[L||F.FeeOption.Fast],{psbt:z}=await Vf({recipient:y,feeRate:x,sender:Q,assetValue:J,memo:Z}),M=await T.signTransaction(z);return M.finalizeAllInputs(),qy(q).broadcastTx(M.extractTransaction().toHex())}}async function nT(T){let f=await qy(T).getSuggestedTxFee();return{[F.FeeOption.Average]:f,[F.FeeOption.Fast]:F.applyFeeMultiplier(f,F.FeeOption.Fast),[F.FeeOption.Fastest]:F.applyFeeMultiplier(f,F.FeeOption.Fastest)}}async function Kf({assetValue:T,recipient:f,memo:Z,sender:y,fetchTxHex:L=!1}){let X=T.chain,J=(await nT(X))[F.FeeOption.Fastest],Q=L||jT.includes(X),q=T.getBaseValue("number"),x=Math.ceil(q+J*5000);return{inputs:await qy(X).getUtxos({address:y,fetchTxHex:Q,targetValue:x}),outputs:[{address:f,value:q},...Z?[{address:"",script:await Iy(Z),value:0}]:[]]}}var F,ky,vf,C5,O5,Pf,v0,jT;var uT=V(()=>{F=require("@swapkit/helpers"),ky=require("bitcoinjs-lib"),vf=require("ecpair");f5();qT();pT();C5=Y(require("@bitcoinerlab/secp256k1")),O5=require("@psf/bitcoincashjs-lib"),Pf=require("@scure/bip32"),v0=require("@scure/bip39");bT();jT=[F.Chain.Dash,F.Chain.Dogecoin]});function zT(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function dy(T){let f=zT(T);return I0(f)&&k0(f)==="mainnet"}function ty(T){return zT($T(T))}async function C2(T){async function f({builder:y,utxos:L}){return L.forEach((X,J)=>{y.sign(J,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 l0(T){let f="phrase"in T?T.phrase:void 0,Z="index"in T?T.index||0:0,y=Ty.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:Ty.updateDerivationPath(Ty.NetworkDerivationPath[Yy],{index:Z})),L=f?(await hT(Yy))({phrase:f,derivationPath:y}):void 0,X=L?await C2(L):("signer"in T)?T.signer:void 0;function J(){return Promise.resolve(X?.getAddress())}let{getBalance:Q,getFeeRates:q,broadcastTx:x,...z}=await gy({chain:Yy});function M(G,W=!0){return Q(zT($T(G)))}return{...z,getAddress:J,broadcastTx:x,createTransaction:Sf,buildTx:w2,getAddressFromKeys:E2,getBalance:M,getFeeRates:q,stripPrefix:zT,stripToCashAddress:ty,validateAddress:dy,transfer:O2({getFeeRates:q,broadcastTx:x,signer:X})}}async function Sf({assetValue:T,recipient:f,memo:Z,feeRate:y,sender:L}){if(!dy(f))throw new Ty.SwapKitError("toolbox_utxo_invalid_address",{address:f});let X=Math.ceil(T.getBaseValue("number")+y*7500),J=await qy(Yy).getUtxos({address:ty(L),fetchTxHex:!0,targetValue:X}),Q=Z?await Iy(Z):null,q=[];q.push({address:f,value:T.getBaseValue("number")});let{inputs:x,outputs:z}=Dy({inputs:J,outputs:q,feeRate:y,chain:Yy});if(!(x&&z))throw new Ty.SwapKitError("toolbox_utxo_insufficient_balance",{sender:L,assetValue:T});let M=await Ry(),G=new MT.TransactionBuilder(M(Yy));await Promise.all(x.map(async(W)=>{let B=await qy(Yy).getRawTx(W.hash);G.addInput(MT.Transaction.fromBuffer(Buffer.from(B,"hex")),W.index)}));for(let W of z){let B="address"in W&&W.address?W.address:JT(L),R=await Ry(),I=MT.address.toOutputScript(JT(B),R(Yy));G.addOutput(I,W.value)}if(Q)G.addOutput(Q,0);return{builder:G,utxos:x}}function O2({broadcastTx:T,getFeeRates:f,signer:Z}){return async function y({recipient:L,assetValue:X,feeOptionKey:J=Ty.FeeOption.Fast,...Q}){let q=await Z?.getAddress();if(!(Z&&q))throw new Ty.SwapKitError("toolbox_utxo_no_signer");if(!L)throw new Ty.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let x=Q.feeRate||(await f())[J],{builder:z,utxos:M}=await Sf({...Q,assetValue:X,feeRate:x,recipient:L,sender:q}),W=(await Z.signTransaction({builder:z,utxos:M})).toHex();return T(W)}}async function w2({assetValue:T,recipient:f,memo:Z,feeRate:y,sender:L,setSigHashType:X}){let J=$T(f);if(!dy(J))throw new Ty.SwapKitError("toolbox_utxo_invalid_address",{address:J});let Q=Math.ceil(T.getBaseValue("number")+y*7500),q=await qy(Yy).getUtxos({address:ty(L),fetchTxHex:!1,targetValue:Q}),x=Number(y.toFixed(0)),z=Z?await Iy(Z):null,M=[];if(M.push({address:JT(f),value:T.getBaseValue("number")}),z)M.push({script:z,value:0});let{inputs:G,outputs:W}=Dy({inputs:q,outputs:M,feeRate:x,chain:Yy});if(!(G&&W))throw new Ty.SwapKitError("toolbox_utxo_insufficient_balance",{sender:L,assetValue:T});let B=await Ry(),R=new Af.Psbt({network:B(Yy)});for(let{hash:I,index:w,witnessUtxo:b}of G)R.addInput({hash:I,index:w,witnessUtxo:b,sighashType:X?65:void 0});for(let I of W){let w="address"in I&&I.address?I.address:JT(L),b=I.script?z?{script:z,value:0}:void 0:{address:w,value:I.value};if(b)R.addOutput(b)}return{psbt:R,utxos:q,inputs:G}}function E2(T){let f=T.getAddress(0);return ty(f)}var MT,Ty,Af,Yy;var pT=V(()=>{MT=require("@psf/bitcoincashjs-lib"),Ty=require("@swapkit/helpers"),Af=require("bitcoinjs-lib");qT();uT();Yy=Ty.Chain.BitcoinCash});async function v2(T,f){switch(T){case Ey.Chain.BitcoinCash:return await l0(f||{});case Ey.Chain.Zcash:return await E0(f);case Ey.Chain.Bitcoin:case Ey.Chain.Dogecoin:case Ey.Chain.Litecoin:case Ey.Chain.Dash:return await gy({chain:T,...f});default:throw new Ey.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var Ey;var bf=V(()=>{Ey=require("@swapkit/helpers");pT();uT();bT();pT();bT()});var V0={};My(V0,{validateZcashAddress:()=>ST,toLegacyAddress:()=>JT,toCashAddress:()=>$T,stripToCashAddress:()=>ty,stripPrefix:()=>zT,nonSegwitChains:()=>jT,isValidAddress:()=>I0,getUtxoToolbox:()=>v2,getUtxoNetwork:()=>Ry,getUtxoApi:()=>qy,getUTXOAddressValidator:()=>$f,getScriptTypeForAddress:()=>KT,getOutputSize:()=>FT,getInputSize:()=>jy,getDustThreshold:()=>_5,getCreateKeysForPath:()=>hT,detectAddressNetwork:()=>k0,createZcashToolbox:()=>E0,createUTXOToolbox:()=>gy,createCustomUtxoApi:()=>z2,createBCHToolbox:()=>l0,compileMemo:()=>Iy,calculateTxSize:()=>QT,bchValidateAddress:()=>dy,addressFromKeysGetter:()=>P0,addInputsAndOutputs:()=>lf,accumulative:()=>Dy,UtxoNetwork:()=>D0,UTXOScriptType:()=>N5,TX_OVERHEAD:()=>R5,OutputSizes:()=>AT,OP_RETURN_OVERHEAD:()=>Cf,MIN_TX_FEE:()=>H2,InputSizes:()=>D5});module.exports=_y(V0);var $0=V(()=>{bf();pT();uT();bT();qT()});async function P2(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 l2(T){let f=await iy(),{PublicKey:Z}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),L=new Z(T),X=[],J=await f.getBalance(L);if(J>0)X.push(h.AssetValue.from({chain:h.Chain.Solana,value:J,fromBaseDecimal:h.BaseDecimal[h.Chain.Solana]}));let Q=await f.getParsedTokenAccountsByOwner(L,{programId:y});for(let{account:q}of Q.value){let x=q.data.parsed.info,z=x.mint,M=x.tokenAmount.amount;if(Number(M)===0)continue;let G=await P2(z),W=G?.symbol||"UNKNOWN",B=G?.decimals||x.tokenAmount.decimals;X.push(h.AssetValue.from({asset:`${h.Chain.Solana}.${W}-${z}`,value:M,fromBaseDecimal:B}))}return X}async function S0(){let{PublicKey:T}=await import("@solana/web3.js");return(f)=>{try{let Z=new T(f);return T.isOnCurve(Z.toBytes())}catch(Z){return!1}}}async function V2(T){let f=T&&"index"in T?T.index||0:0,Z=h.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:h.updateDerivationPath(h.NetworkDerivationPath[h.Chain.Solana],{index:f})),y=await jf.match(T).with({phrase:F0.P.string},({phrase:X})=>A0({phrase:X,derivationPath:Z})).with({signer:F0.P.any},({signer:X})=>X).otherwise(()=>{return});function L(){return y?.publicKey?uf(y.publicKey):""}return{getConnection:iy,getAddress:L,createKeysForPath:A0,getAddressFromPubKey:uf,getPubkeyFromAddress:u0,createTransaction:b0(iy),createTransactionFromInstructions:A2,getBalance:(X)=>{let J=X||L();if(!J)throw new h.SwapKitError("core_wallet_connection_not_found");return l2(J)},transfer:S2(iy,y),broadcastTransaction:K0(iy),getAddressValidator:S0,signTransaction:b2(iy,y),estimateTransactionFee:$2(iy)}}function $2(T){return async({recipient:f,assetValue:Z,memo:y,isProgramDerivedAddress:L,sender:X})=>{let J=await T(),q=(await b0(T)({recipient:f,assetValue:Z,memo:y,isProgramDerivedAddress:L,sender:X})).compileMessage(),x=await J.getFeeForMessage(q);if(x.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:x.value,fromBaseDecimal:h.BaseDecimal[h.Chain.Solana]})}}async function iy(){let{Connection:T}=await import("@solana/web3.js");return new T(h.SKConfig.get("rpcUrls").SOL,"confirmed")}function F2(T){return async({assetValue:f,recipient:Z,sender:y,isProgramDerivedAddress:L})=>{let X=await T(),J=await u0(y);if(f.isGasAsset){let{Transaction:Q,SystemProgram:q,PublicKey:x}=await import("@solana/web3.js");return new Q().add(q.transfer({fromPubkey:J,lamports:f.getBaseValue("number"),toPubkey:new x(Z)}))}if(f.address)return K2({amount:f.getBaseValue("number"),connection:X,decimals:f.decimal,from:J,recipient:Z,tokenAddress:f.address,isProgramDerivedAddress:L});return}}async function K2({tokenAddress:T,recipient:f,from:Z,connection:y,amount:L,decimals:X,isProgramDerivedAddress:J}){let{getAssociatedTokenAddress:Q,getAccount:q,createAssociatedTokenAccountInstruction:x,createTransferCheckedInstruction:z}=await import("@solana/spl-token"),{Transaction:M,PublicKey:G}=await import("@solana/web3.js"),W=new M,B=new G(T),R=await Q(B,Z),I=new G(f),w=await Q(B,I,J),b=!1;try{await q(y,w),b=!0}catch(t){}if(!b)W.add(x(Z,w,I,B));return W.add(z(R,B,w,Z,L,X)),W}function b0(T){return async({recipient:f,assetValue:Z,memo:y,isProgramDerivedAddress:L,sender:X})=>{let{createMemoInstruction:J}=await import("@solana/spl-memo"),Q=await u0(X),q=await S0();if(!(L||q(f)))throw new h.SwapKitError("core_transaction_invalid_recipient_address");let x=await T(),z=await F2(T)({assetValue:Z,recipient:f,sender:X,isProgramDerivedAddress:L});if(!z)throw new h.SwapKitError("core_transaction_invalid_sender_address");if(y)z.add(J(y));let M=await x.getLatestBlockhash();return z.recentBlockhash=M.blockhash,z.feePayer=Q,z}}async function A2({instructions:T}){let{Transaction:f}=await import("@solana/web3.js"),Z=new f().add(...T);if(!Z)throw new h.SwapKitError("core_transaction_invalid_sender_address");return Z}function S2(T,f){return async({recipient:Z,assetValue:y,memo:L,isProgramDerivedAddress:X})=>{if(!f)throw new h.SwapKitError("core_transaction_invalid_sender_address");let J=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),Q=await b0(T)({recipient:Z,assetValue:y,memo:L,isProgramDerivedAddress:X,sender:J});if("connect"in f){let q=await f.signTransaction(Q);return K0(T)(q)}return Q.sign(f),K0(T)(Q)}}function K0(T){return async(f)=>{return(await T()).sendRawTransaction(f.serialize())}}function b2(T,f){return async(Z)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!f)throw new h.SwapKitError("toolbox_solana_no_signer");if(!(Z instanceof y)){let X=await(await T()).getLatestBlockhash();Z.recentBlockhash=X.blockhash,Z.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(Z);return await Z.sign([f]),Z}}async function A0({phrase:T,derivationPath:f=h.DerivationPath.SOL}){let{HDKey:Z}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:L}=await import("@solana/web3.js"),X=y(T),J=Z.fromMasterSeed(X);return L.fromSeed(J.derive(f,!0).privateKey)}function uf(T){return T.toString()}async function u0(T){let{PublicKey:f}=await import("@solana/web3.js");return new f(T)}var h,F0,jf;var hf=V(()=>{h=require("@swapkit/helpers"),F0=require("ts-pattern"),jf=require("ts-pattern")});var j0={};My(j0,{getSolanaToolbox:()=>V2,getSolanaAddressValidator:()=>S0,createKeysForPath:()=>A0});module.exports=_y(j0);var h0=V(()=>{hf()});async function mT(){let{validateAccountId:T}=await import("near-sdk-js");return(f)=>{try{return T(f)}catch{let Z=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return f.length>=2&&f.length<=64&&Z.test(f)}}}async function E5(T){let{parseSeedPhrase:f}=await import("near-seed-phrase"),{KeyPair:Z}=await import("near-api-js"),y=T.index||0,L=T.derivationPath?w5.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:X}=f(T.phrase,L),J=Z.fromString(X);return mf(J)}async function n0(T){let{KeyPair:f}=await import("near-api-js/lib/utils"),Z=f.fromString(T);return mf(Z)}function mf(T){return new pf(T)}async function v5(T,f){let y=(await T.query({request_type:"view_access_key_list",finality:"final",account_id:f})).keys.find((Q)=>Q.access_key.permission==="FullAccess");if(!y)throw new w5.SwapKitError("toolbox_near_invalid_address");let{utils:L}=await import("near-api-js"),X=L.PublicKey.fromString(y.public_key),J=y.access_key.nonce||0;return{publicKey:X,nonce:J}}var w5,nf,pf;var p0=V(()=>{w5=require("@swapkit/helpers"),nf=require("near-api-js");pf=class pf extends nf.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 m0(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function o0(T){return"contractId"in T&&"methodName"in T}function c0(T){return"actions"in T}function g0(T){return"newAccountId"in T}function d0(T){return"contractCode"in T}function t0(T){return"customEstimator"in T}function i0(T){let f=0;for(let Z of T)switch(Z.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 r0(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 u2(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function j2(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var fy;var a0=V(()=>{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 P5({account:T,contractId:f,viewMethods:Z,changeMethods:y}){let{Contract:L}=await import("near-api-js");return new L(T,f,{viewMethods:Z,changeMethods:y,useLocalViewExecution:!0})}async function s0({contractId:T,account:f}){let Z=(await import("bn.js")).default,y=await P5({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"]}),L=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 Z("100000000000000"),new Z(q))}};return{transfer:async(X,J,Q)=>{return await L(X),y.ft_transfer({receiver_id:X,amount:J,memo:Q},new Z("100000000000000"),new Z("1"))},transferCall:async(X,J,Q,q)=>{return await L(X),y.ft_transfer_call({receiver_id:X,amount:J,memo:q,msg:Q},new Z("100000000000000"),new Z("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,J)=>y.storage_deposit({account_id:X},new Z("100000000000000"),new Z(J||"1250000000000000000000")),ensureStorage:L,contract:y}}async function h2(T){let{P:f,match:Z}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),L=await Z(T).with({phrase:f.string},async(v)=>{return await E5(v)}).with({signer:f.any},({signer:v})=>v).otherwise(()=>{return}),X=u.SKConfig.get("rpcUrls")[u.Chain.Near],J=new y.JsonRpcProvider({url:X});async function Q(v){let{Account:U}=await import("near-api-js"),D=v||await q();return new U(D,J,L)}async function q(){if(!L)throw new u.SwapKitError("toolbox_near_no_signer");return await L.getAddress()}async function x(v){if(!L)throw new u.SwapKitError("toolbox_near_no_signer");let{recipient:U,assetValue:D}=v;if(!(await mT())(U))throw new u.SwapKitError("toolbox_near_invalid_address");let $=await Q();if(D.isGasAsset===!1){let P=D.address;if(!P)throw new u.SwapKitError("toolbox_near_missing_contract_address");let S=D.getBaseValue("string");return w({contractId:P,methodName:"ft_transfer",args:{receiver_id:U,amount:S,memo:v.memo}})}try{let P=D.getBaseValue("string");return(await $.transfer({receiverId:U,amount:P})).transaction_outcome.id}catch(P){throw new u.SwapKitError("toolbox_near_transfer_failed",{error:P})}}async function z(v){let{recipient:U,assetValue:D,memo:O,feeRate:$,attachedDeposit:P,sender:S}=v,i=await mT();if(!i(U))throw new u.SwapKitError("toolbox_near_invalid_address",{address:U});if(!i(S))throw new u.SwapKitError("toolbox_near_invalid_address",{address:S});if(!D.isGasAsset){let tT=D.address;if(!tT)throw new u.SwapKitError("toolbox_near_missing_contract_address");return M({sender:S,contractId:tT,methodName:"ft_transfer",args:{receiver_id:U,amount:D.getBaseValue("string"),memo:O||null},gas:$.toString()||"100000000000000",attachedDeposit:"1"})}let{publicKey:o,nonce:g}=await v5(J,S),zy=D.getBaseValue("bigint"),{SCHEMA:Zy}=await import("near-api-js/lib/transaction"),{transactions:Wy,utils:Hy}=await import("near-api-js"),ny=[Wy.transfer(zy)];if(O&&P)ny.push(Wy.functionCall("memo",{memo:O},BigInt($),BigInt(P)));let cT=await J.block({finality:"final"}),gT=Hy.serialize.base_decode(cT.header.hash),ry=Wy.createTransaction(S,o,U,g,ny,gT),dT=Hy.serialize.serialize(Zy.Transaction,ry);return{serialized:Buffer.from(dT).toString("base64"),publicKey:o.toString(),details:{signerId:S,nonce:g,blockHash:Hy.serialize.base_encode(gT)}}}async function M(v){let{sender:U}=v,{publicKey:D,nonce:O}=await v5(J,U),{SCHEMA:$}=await import("near-api-js/lib/transaction"),{transactions:P,utils:S}=await import("near-api-js"),i=await J.block({finality:"final"}),o=S.serialize.base_decode(i.header.hash),g=[P.functionCall(v.methodName,Buffer.from(JSON.stringify(v.args)),BigInt(v.gas),BigInt(v.attachedDeposit))],zy=P.createTransaction(U,D,v.contractId,O,g,o),Zy=S.serialize.serialize($.Transaction,zy);return{serialized:Buffer.from(Zy).toString("base64"),publicKey:D.toString(),details:{signerId:U,receiverId:v.contractId,methodName:v.methodName,nonce:O,blockHash:S.serialize.base_encode(o)}}}async function G(v){if(!L)throw new u.SwapKitError("toolbox_near_no_signer");let[U,D]=await L.signTransaction(v);return D}async function W(v){return(await J.sendTransaction(v)).transaction.hash}async function B(v){if("assetValue"in v){let $=BigInt("115123062500")+BigInt("108059500000"),P=await R(),S=$*BigInt(P.toString());return u.AssetValue.from({chain:u.Chain.Near,value:S.toString(),fromBaseDecimal:u.BaseDecimal[u.Chain.Near]})}let U=L?await Q():void 0;return a(v,U)}async function R(){try{return await J.query({request_type:"call_function",finality:"final",account_id:"system",method_name:"gas_price",args_base64:""})}catch{return"100000000"}}async function I(v,U,D){if(!L)throw new u.SwapKitError("toolbox_near_no_signer");let O=await Q(),{utils:$}=await import("near-api-js"),P=$.format.parseNearAmount(D)||"0";return(await O.createAccount(v,$.PublicKey.fromString(U),BigInt(P))).transaction.hash}async function w(v){try{if(!L)throw new u.SwapKitError("toolbox_near_no_signer");let{transactions:U}=await import("near-api-js"),{contractId:D,methodName:O,args:$,deposit:P}=v,S=await Q(),i=await a({methodName:O,args:$||{},contractId:D}),o=U.functionCall(O,$||{},i.getBaseValue("bigint"),BigInt(P||"0"));return(await S.signAndSendTransaction({receiverId:D,actions:[o]})).transaction_outcome.id}catch(U){throw new u.SwapKitError("toolbox_near_transfer_failed",{error:U})}}async function b(v){let U=await Q();return P5({account:U,contractId:v.contractId,viewMethods:v.viewMethods,changeMethods:v.changeMethods})}async function t(v){if(!L)throw new u.SwapKitError("toolbox_near_no_signer");if(v.actions.length===0)throw new u.SwapKitError("toolbox_near_empty_batch");return(await(await Q()).signAndSendTransaction({receiverId:v.receiverId,actions:v.actions})).transaction.hash}async function m(v){let U=await Q();return s0({contractId:v,account:U})}async function e(v){try{let U=await Q(v),D;try{let O=await U.getBalance();D=u.AssetValue.from({chain:u.Chain.Near,value:O,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 a(v,U){let D=await Z(v).when(m0,()=>fy.SIMPLE_TRANSFER).when(o0,(S)=>r0(S.methodName)).when(c0,(S)=>i0(S.actions)).when(g0,()=>fy.ACCOUNT_CREATION).when(d0,()=>fy.CONTRACT_DEPLOYMENT).when(t0,(S)=>{if(!U)throw new u.SwapKitError("toolbox_near_no_account");return S.customEstimator(U)}).otherwise(()=>{throw new u.SwapKitError("toolbox_near_invalid_gas_params")}),O=await Ly(),P=BigInt(D)*BigInt(1000000000000)*BigInt(O);return u.AssetValue.from({chain:u.Chain.Near,value:P,fromBaseDecimal:u.BaseDecimal[u.Chain.Near]})}async function Ly(){try{return(await J.gasPrice(null)).gas_price||"100000000"}catch(v){return"100000000"}}return{getAddress:q,getPublicKey:async()=>L?(await L.getPublicKey()).toString():"",provider:J,transfer:x,createTransaction:z,createContractFunctionCall:M,estimateTransactionFee:B,broadcastTransaction:W,signTransaction:G,getBalance:e,validateAddress:await mT(),getSignerFromPhrase:(v)=>E5(v),getSignerFromPrivateKey:n0,callFunction:w,createSubAccount:I,createContract:b,executeBatchTransaction:t,nep141:m,getGasPrice:Ly,estimateGas:a}}var u;var e0=V(()=>{u=require("@swapkit/helpers");p0();a0()});var of=V(()=>{e0()});var y1={};My(y1,{tgasToGas:()=>u2,isSimpleTransfer:()=>m0,isCustomEstimator:()=>t0,isContractDeployment:()=>d0,isContractCall:()=>o0,isBatchTransaction:()=>c0,isAccountCreation:()=>g0,getValidateNearAddress:()=>mT,getNearToolbox:()=>h2,getNearSignerFromPrivateKey:()=>n0,getNearSignerFromPhrase:()=>E5,getFullAccessPublicKey:()=>v5,getContractMethodGas:()=>r0,gasToTGas:()=>j2,estimateBatchGas:()=>i0,createNearContract:()=>P5,createNEP141Token:()=>s0,GAS_COSTS:()=>fy});module.exports=_y(y1);var T1=V(()=>{e0();of();p0();a0()});var X1={};My(X1,{rippleValidateAddress:()=>f1,hashes:()=>gf.hashes,getRippleToolbox:()=>p2});module.exports=_y(X1);function cf(T){let f=hy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(f.address),signTransaction:(Z)=>Promise.resolve(f.sign(Z))}}function f1(T){return hy.isValidAddress(T)}var n,hy,gf,n2,p2=async(T={})=>{let f="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?cf(T.phrase):void 0,Z=n.SKConfig.get("rpcUrls")[n.Chain.Ripple];if(!Z)throw new n.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:n.Chain.Ripple}});let y=new hy.Client(Z);await y.connect();let L=()=>{if(!f)throw new n.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.getAddress()},X=async(G)=>{let W=G||await L();try{let R=(await y.request({command:"account_info",account:W})).result.account_data.Balance;return[n.AssetValue.from({chain:n.Chain.Ripple,value:R,fromBaseDecimal:n.BaseDecimal[n.Chain.Ripple]})]}catch(B){if(B.data.error_code===n2.ACCOUNT_NOT_FOUND)return[n.AssetValue.from({chain:n.Chain.Ripple,value:0})];throw new n.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:W,error:B}})}},J=async()=>{let W=(await y.request({command:"fee"})).result.drops.open_ledger_fee;return n.AssetValue.from({chain:n.Chain.Ripple,value:n.SwapKitNumber.fromBigInt(BigInt(W),n.BaseDecimal[n.Chain.Ripple])})},Q=async({assetValue:G,recipient:W,memo:B,sender:R})=>{if(!f1(W))throw new n.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let I=R||await L();if(!G.isGasAsset||G.chain!==n.Chain.Ripple)throw new n.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:G.toString()}});let w={TransactionType:"Payment",Account:I,Amount:hy.xrpToDrops(G.getValue("string")),Destination:W};if(B)w.Memos=[{Memo:{MemoData:Buffer.from(B).toString("hex")}}];return await y.autofill(w)},q=(G)=>{if(!f)throw new n.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.signTransaction(G)},x=async(G)=>{let B=(await y.submitAndWait(G)).result;if(B.validated)return B.hash;throw new n.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:n.Chain.Ripple}})};return{signer:f,createSigner:cf,getAddress:L,validateAddress:f1,getBalance:X,createTransaction:Q,signTransaction:q,broadcastTransaction:x,transfer:async(G)=>{if(!f)throw new n.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let W=await f.getAddress(),B=await Q({...G,sender:W}),R=await q(B);return x(R.tx_blob)},estimateTransactionFee:J,disconnect:()=>y.disconnect()}};var L1=V(()=>{n=require("@swapkit/helpers"),hy=require("xrpl"),gf=require("xrpl"),n2={ACCOUNT_NOT_FOUND:19}});var Z1={};My(Z1,{radixValidateAddress:()=>df,RadixToolbox:()=>d2});module.exports=_y(Z1);function df(T){return T.startsWith("account_rdx1")&&T.length===66}function m2({networkApi:T}){return async function f(Z){let y=await o2({address:Z,networkApi:T});return c2({resources:y,networkApi:T})}}async function o2({address:T,networkApi:f}){let Z=!0,y,L=[],X=await g2(f);while(Z){let J={address:T,limit_per_page:100,cursor:y,at_ledger_state:{state_version:X}},Q=await f.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:J});if(L=L.concat(Q.items),Q.next_cursor)y=Q.next_cursor;else Z=!1}return L}async function c2({resources:T,networkApi:f}){let Z=[],y=50,L=[];for(let X=0;X<T.length;X+=50)L.push(T.slice(X,X+50));for(let X of L){let J=X.map((x)=>x.resource_address),Q=await f.state.getEntityDetailsVaultAggregated(J),q=new Map;for(let x of Q)if(x.details!==void 0){let z=x.metadata?.items.find((G)=>G.key==="symbol"),M=z?.value.typed.type==="String"?z.value.typed.value:"?";if(x.details.type==="FungibleResource")q.set(x.address,{decimals:x.details.divisibility,symbol:M})}for(let x of X)if(x.aggregation_level==="Global"){let z=q.get(x.resource_address)||{decimals:0,symbol:"?"},M=vy.AssetValue.from({asset:z.symbol!==vy.Chain.Radix?`${vy.Chain.Radix}.${z.symbol}-${x.resource_address}`:"XRD.XRD",value:x.amount});Z.push(M)}}return Z}async function g2(T){return T.status.getCurrent().then((f)=>f.ledger_state.state_version)}var vy,d2=async({dappConfig:T}={})=>{let{RadixDappToolkit:f}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:Z}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||vy.SKConfig.get("integrations").radix,L=f({...y,networkId:y.network?.networkId||1}),X=Z.initialize(L.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:m2({networkApi:X}),networkApi:X,validateAddress:df,signAndBroadcast:()=>{throw new vy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})}}};var J1=V(()=>{vy=require("@swapkit/helpers")});var GT;var Q1=V(()=>{GT=[{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 rf(T){let f=await import("tronweb"),Z=f.TronWeb??f.default?.TronWeb;try{let y=await fetch(`${t2}/v1/accounts/${T}`);if(!y.ok)throw new Error(`TronGrid API error: ${y.status} ${y.statusText}`);let L=await y.json();if(!(L.success&&L.data)||L.data.length===0)throw new Error("Invalid response from TronGrid API");let X;try{X=Z.address.toHex(T).toLowerCase()}catch{X=T.toLowerCase()}let J=L.data.find((Q)=>{return Q.address.toLowerCase()===X});if(!J)return;return{balance:J.balance,trc20:J.trc20||[]}}catch(y){throw new tf.SwapKitError("toolbox_tron_trongrid_api_error",{message:y instanceof Error?y.message:"Unknown error",address:T})}}var tf,t2="https://api.trongrid.io";var af=V(()=>{tf=require("@swapkit/helpers")});async function q1(){let T=await import("tronweb"),f=T.TronWeb??T.default?.TronWeb;return(Z)=>{return f.isAddress(Z)}}async function ef({phrase:T,derivationPath:f,index:Z}){let y=f||l.derivationPathToString(l.updateDerivationPath(l.NetworkDerivationPath[l.Chain.Tron],{index:Z||0})),{HDKey:L}=await import("@scure/bip32"),{mnemonicToSeedSync:X}=await import("@scure/bip39"),J=X(T),q=L.fromMasterSeed(J).derive(y);if(!q.privateKey)throw new l.SwapKitError("toolbox_tron_no_signer");return Buffer.from(q.privateKey).toString("hex")}async function e2({phrase:T,derivationPath:f,tronWeb:Z}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),X=L(T),Q=y.fromMasterSeed(X).derive(f);if(!Q.privateKey)throw new l.SwapKitError("toolbox_tron_no_signer");let q=Buffer.from(Q.privateKey).toString("hex");Z.setPrivateKey(q);let x=Z?.address.fromPrivateKey(q);return{getAddress:()=>Promise.resolve(typeof x==="string"?x:""),signTransaction:async(z)=>{return await Z.trx.sign(z,q)}}}var l,oT,i2=268,r2=13000,a2=345,sf="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",s2="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",yX=async(T={})=>{let f=await import("tronweb"),Z=f.TronWeb??f.default?.TronWeb,y=l.SKConfig.get("rpcUrls")[l.Chain.Tron],L=void 0,X=new Z({fullHost:y,headers:void 0}),J="index"in T?T.index||0:0,Q=l.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:l.updateDerivationPath(l.NetworkDerivationPath[l.Chain.Tron],{index:J})),q=await oT.match(T).with({phrase:oT.P.string},async({phrase:U})=>e2({phrase:U,derivationPath:Q,tronWeb:X})).with({signer:oT.P.any},({signer:U})=>Promise.resolve(U)).otherwise(()=>Promise.resolve(void 0)),x=async()=>{if(!q)throw new l.SwapKitError("toolbox_tron_no_signer");return await q.getAddress()},z=()=>{return 1e8},M=async()=>{try{let U=await X.trx.getChainParameters(),D={};for(let O of U)D[O.key]=O.value;return{energyFee:D.getEnergyFee||420,bandwidthFee:D.getTransactionFee||1000,createAccountFee:D.getCreateAccountFee||1e5}}catch{return{energyFee:420,bandwidthFee:1000,createAccountFee:1e5}}},G=async(U)=>{try{let D=await X.trx.getAccount(U);return D&&Object.keys(D).length>0}catch{return!1}},W=async(U)=>{try{let D=await X.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}}}},B=async(U,D)=>{try{let O=X.contract(GT,D);if(!O.methods?.balanceOf)return 0n;let $=(await O.methods.balanceOf(U).call())[0];return BigInt($||0)}catch(O){return console.warn(`balanceOf() failed for ${D}:`,O),0n}},R=async(U,D)=>{try{X.setAddress(D);let O=X.contract(GT,U),[$,P]=await Promise.all([O.symbol().call().catch(()=>"UNKNOWN"),O.decimals().call().catch(()=>"18")]);return{symbol:$??"UNKNOWN",decimals:Number(P??18)}}catch(O){return l.warnOnce(!0,`Failed to get token balance for ${U}: ${O instanceof Error?O.message:O}`),null}},I=async(U,D=!0)=>{let O=[l.AssetValue.from({chain:l.Chain.Tron})];try{let $=await rf(U);if($){let P=[];P.push(l.AssetValue.from({chain:l.Chain.Tron,value:$.balance,fromBaseDecimal:6}));for(let S of $.trc20){let[i,o]=Object.entries(S)[0]||[];if(!(i&&o))continue;let g=await R(i,U);if(!g)continue;P.push(l.AssetValue.from({asset:`TRON.${g.symbol}-${i}`,value:BigInt(o||0),fromBaseDecimal:g.decimals}))}return P}return O}catch($){l.warnOnce(!0,`Tron API getBalance failed: ${$ instanceof Error?$.message:$}`);let P=[],S=await X.trx.getBalance(U);if(S&&Number(S)>0)P.push(l.AssetValue.from({chain:l.Chain.Tron,value:S,fromBaseDecimal:6}));let i=await B(U,sf);if(i)P.push(l.AssetValue.from({asset:`TRON.USDT-${sf}`,value:i,fromBaseDecimal:6}));return P}},w=async({recipient:U,assetValue:D,memo:O})=>{if(!q)throw new l.SwapKitError("toolbox_tron_no_signer");let $=await x();if(X.setAddress($),D.isGasAsset){let g=await X.transactionBuilder.sendTrx(U,D.getBaseValue("number"),$);if(O){let Wy=await X.transactionBuilder.addUpdateData(g,O,"utf8"),Hy=await q.signTransaction(Wy),{txid:ny}=await X.trx.sendRawTransaction(Hy);return ny}let zy=await q.signTransaction(g),{txid:Zy}=await X.trx.sendRawTransaction(zy);return Zy}let S=await t({recipient:U,assetValue:D,memo:O,sender:$}),i=await q.signTransaction(S),{txid:o}=await X.trx.sendRawTransaction(i);if(!o)throw new l.SwapKitError("toolbox_tron_token_transfer_failed");return o},b=async({assetValue:U,recipient:D,sender:O})=>{let $=U.isGasAsset;try{let P=O?O:q?await x():void 0;if(!P)return $?l.AssetValue.from({chain:l.Chain.Tron,value:0.1,fromBaseDecimal:0}):l.AssetValue.from({chain:l.Chain.Tron,value:15,fromBaseDecimal:0});let S=await M(),o=await G(D)?0:S.createAccountFee,g=await W(P);if($){let ry=i2,dT=g.bandwidth.free+(g.bandwidth.total-g.bandwidth.used),l5=0;if(ry>dT)l5=(ry-dT)*S.bandwidthFee;let tT=o+l5;return l.AssetValue.from({chain:l.Chain.Tron,value:tT,fromBaseDecimal:6})}let zy=a2,Zy=r2,Wy=g.bandwidth.free+(g.bandwidth.total-g.bandwidth.used),Hy=g.energy.total-g.energy.used,ny=0;if(zy>Wy)ny=(zy-Wy)*S.bandwidthFee;let cT=0;if(Zy>Hy)cT=(Zy-Hy)*S.energyFee;let gT=o+ny+cT;return l.AssetValue.from({chain:l.Chain.Tron,value:gT,fromBaseDecimal:6})}catch(P){throw l.warnOnce(!0,`Failed to calculate exact fee, using conservative estimate: ${P instanceof Error?P.message:P}`),new l.SwapKitError("toolbox_tron_fee_estimation_failed",{error:P})}},t=async(U)=>{let{recipient:D,assetValue:O,memo:$,sender:P}=U;if(O.isGasAsset){let o=await X.transactionBuilder.sendTrx(D,O.getBaseValue("number"),P);if($)return X.transactionBuilder.addUpdateData(o,$,"utf8");return o}X.setAddress(P);let i=O.address;if(!i)throw new l.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:O.toString()});try{let g=[{type:"address",value:D},{type:"uint256",value:O.getBaseValue("string")}],zy={feeLimit:z(),callValue:0};return(await X.transactionBuilder.triggerSmartContract(i,"transfer(address,uint256)",zy,g,P)).transaction}catch(o){throw new l.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)})}},m=async(U)=>{if(!q)throw new l.SwapKitError("toolbox_tron_no_signer");return await q.signTransaction(U)},e=async(U)=>{let{txid:D}=await X.trx.sendRawTransaction(U);return D},a=async({assetAddress:U,spenderAddress:D,from:O})=>{try{let $=X.contract(GT,U);if(!$.methods?.allowance)throw new l.SwapKitError("toolbox_tron_invalid_token_contract");let P=(await $.methods.allowance(O,D).call())[0];return BigInt(P||0)}catch($){throw new l.SwapKitError("toolbox_tron_allowance_check_failed",{error:$})}},Ly=async({assetAddress:U,spenderAddress:D,from:O,amount:$})=>{let P=await a({assetAddress:U,spenderAddress:D,from:O});if(!$)return P>0n;let S=BigInt($);return P>=S},v=async({assetAddress:U,spenderAddress:D,amount:O,from:$})=>{if(!q)throw new l.SwapKitError("toolbox_tron_no_signer");let P=$||await x(),S=O!==void 0?BigInt(O).toString():s2,i="approve(address,uint256)",o=[{type:"address",value:D},{type:"uint256",value:S}],zy={feeLimit:z(),callValue:0};try{let{transaction:Zy}=await X.transactionBuilder.triggerSmartContract(U,i,zy,o,P),Wy=await q.signTransaction(Zy),{txid:Hy}=await X.trx.sendRawTransaction(Wy);if(!Hy)throw new l.SwapKitError("toolbox_tron_approve_failed");return Hy}catch(Zy){throw new l.SwapKitError("toolbox_tron_approve_failed",{error:Zy})}};return{tronWeb:X,getAddress:x,validateAddress:await q1(),getBalance:I,transfer:w,estimateTransactionFee:b,createTransaction:t,signTransaction:m,broadcastTransaction:e,approve:v,isApproved:Ly,getApprovedAmount:a}};var TX=V(()=>{l=require("@swapkit/helpers"),oT=require("ts-pattern");Q1();af()});var x1={};My(x1,{trc20ABI:()=>GT,getTronPrivateKeyFromMnemonic:()=>ef,getTronAddressValidator:()=>q1,createTronToolbox:()=>yX});module.exports=_y(x1);var z1=V(()=>{TX();Q1()});var f8={};My(f8,{getToolbox:()=>M1,getFeeEstimator:()=>T8,getAddressValidator:()=>y8});module.exports=_y(f8);var _=require("@swapkit/helpers");async function y8(){let{match:T}=await import("ts-pattern"),{cosmosValidateAddress:f}=await Promise.resolve().then(() => (eT(),sT)),{evmValidateAddress:Z}=await Promise.resolve().then(() => (e5(),Xf)),{substrateValidateAddress:y}=await Promise.resolve().then(() => (H0(),W0)),{getUTXOAddressValidator:L}=await Promise.resolve().then(() => ($0(),V0)),{getSolanaAddressValidator:X}=await Promise.resolve().then(() => (h0(),j0)),{getValidateNearAddress:J}=await Promise.resolve().then(() => (T1(),y1)),{rippleValidateAddress:Q}=await Promise.resolve().then(() => (L1(),X1)),{radixValidateAddress:q}=await Promise.resolve().then(() => (J1(),Z1)),{getTronAddressValidator:x}=await Promise.resolve().then(() => (z1(),x1)),z=await X(),M=await L(),G=await x(),W=await J();return function B({address:R,chain:I}){return T(I).with(..._.EVMChains,()=>Z({address:R})).with(..._.UTXOChains,()=>M({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,()=>W(R)).with(_.Chain.Ripple,()=>Q(R)).with(_.Chain.Solana,()=>z(R)).with(_.Chain.Tron,()=>G(R)).otherwise(()=>!1)}}function T8(T){return async function f(Z){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(L)=>{let X=await M1(L),J=await X.createTransaction(Z);return X.estimateTransactionFee({...J,feeOption:Z.feeOptionKey||_.FeeOption.Fast,chain:L})}).with(_.Chain.Bitcoin,_.Chain.BitcoinCash,_.Chain.Dogecoin,_.Chain.Dash,_.Chain.Litecoin,_.Chain.Polkadot,_.Chain.Solana,_.Chain.Ripple,_.Chain.Tron,_.Chain.Near,async(L)=>{return(await M1(L)).estimateTransactionFee(Z)}).with(_.Chain.THORChain,_.Chain.Maya,_.Chain.Kujira,_.Chain.Noble,_.Chain.Cosmos,async()=>{let{estimateTransactionFee:L}=await Promise.resolve().then(() => (eT(),sT));return L(Z)}).otherwise(async()=>_.AssetValue.from({chain:T}))}}async function M1(T,f){let{match:Z}=await import("ts-pattern");return Z(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(() => (U5(),Q0));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(() => ($0(),V0));return await y(T,f)}).with(_.Chain.Cosmos,_.Chain.Kujira,_.Chain.Noble,_.Chain.Maya,_.Chain.THORChain,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (eT(),sT));return await y(T,f)}).with(_.Chain.Chainflip,_.Chain.Polkadot,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (H0(),W0));return await y(T,f)}).with(_.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (J1(),Z1));return await y(f)}).with(_.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (L1(),X1));return await y(f)}).with(_.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (h0(),j0));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(() => (T1(),y1));return await y(f)}).otherwise(()=>{throw new _.SwapKitError("toolbox_not_supported",{chain:T})})}
|
|
1
|
+
var f2=Object.create;var{getPrototypeOf:X2,defineProperty:BT,getOwnPropertyNames:B1,getOwnPropertyDescriptor:L2}=Object,W1=Object.prototype.hasOwnProperty;var U=(T,f,Z)=>{Z=T!=null?f2(X2(T)):{};let y=f||!T||!T.__esModule?BT(Z,"default",{value:T,enumerable:!0}):Z;for(let L of B1(T))if(!W1.call(y,L))BT(y,L,{get:()=>T[L],enumerable:!0});return y},G1=new WeakMap,_y=(T)=>{var f=G1.get(T),Z;if(f)return f;if(f=BT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")B1(T).map((y)=>!W1.call(f,y)&&BT(f,y,{get:()=>T[y],enumerable:!(Z=L2(T,y))||Z.enumerable}));return G1.set(T,f),f};var zy=(T,f)=>{for(var Z in f)BT(T,Z,{get:f[Z],enumerable:!0,configurable:!0,set:(y)=>f[Z]=()=>y})};var l=(T,f)=>()=>(T&&(f=T(T=0)),f);function WT(T){return Py.base64.encode(Uint8Array.from(Py.bech32.fromWords(Py.bech32.decode(T).words)))}function HT(T,f="thor"){return Py.bech32.encode(f,Py.bech32.toWords(Py.base64.decode(T)))}function Z2(T){return iT.fromByteArray(T)}function J2(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new H1.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return iT.toByteArray(T)}var Py,H1,iT;var V5=l(()=>{Py=require("@scure/base"),H1=require("@swapkit/helpers"),iT=require("base64-js")});function Oy(T){switch(T){case I.Chain.Maya:return{amount:[],gas:"10000000000"};case I.Chain.THORChain:return{amount:[],gas:"500000000"};case I.Chain.Kujira:return _1;case I.Chain.Noble:return R1;default:return U1}}async function Cy(T){let f=await import("@cosmjs/stargate"),Z=f.StargateClient??f.default?.StargateClient,y=typeof window!=="undefined"?{}:{referrer:"https://sdk.swapkit.dev",referer:"https://sdk.swapkit.dev"};return Z.connect({url:T,headers:y})}async function UT(T,f,Z={}){let y=await import("@cosmjs/stargate"),L=y.SigningStargateClient??y.default?.SigningStargateClient,X=y.GasPrice??y.default?.GasPrice,J=typeof Z==="string"?Z:"0.0003uatom",x=typeof Z==="string"?{}:Z;return L.connectWithSigner(T,f,{gasPrice:X.fromString(J),...x})}async function F5(T,f){let Z=await import("@cosmjs/stargate");return(Z.SigningStargateClient??Z.default?.SigningStargateClient).offline(T,f)}var I,$5="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Y1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",U1,_1,R1,ly=(T,f=!1)=>{if(f)return T.toLowerCase();switch(T){case"uUSK":case"USK":return $5;case"uYUM":case"YUM":return Y1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},YT=({symbol:T,chain:f})=>{if(f===I.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${I.Chain.Maya}.${T}`).toUpperCase();if(f===I.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${I.Chain.THORChain}.${T}`:T).toUpperCase();return ly(T,!1)},N1=(T)=>{let{isStagenet:f}=I.SKConfig.get("envs"),Z=I.SKConfig.get("rpcUrls");switch(T){case I.ChainId.Kujira:return Z.KUJI;case I.ChainId.Noble:return Z.NOBLE;case I.ChainId.THORChain:case"thorchain-mainnet-v1":return f?Z.THOR_STAGENET:Z.THOR;case I.ChainId.Maya:return f?Z.MAYA_STAGENET:Z.MAYA;default:return Z.GAIA}},x2=(T)=>{switch(T){case I.Chain.Maya:case I.Chain.THORChain:return"/types.MsgSend";case I.Chain.Cosmos:case I.Chain.Kujira:case I.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new I.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},K5=async({sender:T,recipient:f,assetValue:Z,memo:y="",feeRate:L,sequence:X,accountNumber:J})=>{let{chain:x,chainId:Q}=Z,q=N1(Q),M=await(await Cy(q)).getAccount(T);if(!M)throw new I.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let G=I.AssetValue.from({chain:x}),B=ly(G.symbol),W=Oy(x),R=B&&L?{amount:[{denom:B,amount:L.toString()}],gas:W.gas}:W,k={fromAddress:T,toAddress:f,amount:[{amount:Z.getBaseValue("string"),denom:ly(Z.symbol)}]};return{accountNumber:J??M.accountNumber,chainId:Q,fee:R,memo:y,sequence:X??M.sequence,msgs:[{typeUrl:x2(x),value:k}]}},Q2,A5=(T,f)=>{let Z=Q2[T.toLowerCase()];if(!Z)return I.AssetValue.from({asset:T,value:f,fromBaseDecimal:8});let{chain:y,asset:L,decimals:X}=Z,J=y?{chain:y}:{asset:L};return I.AssetValue.from({...J,value:f,fromBaseDecimal:X})};var _T=l(()=>{I=require("@swapkit/helpers"),U1={amount:[{denom:"uatom",amount:"500"}],gas:"200000"},_1={amount:[{denom:"ukuji",amount:"1000"}],gas:"200000"},R1={amount:[{denom:"uusdc",amount:"1000"}],gas:"200000"};Q2={rune:{chain:I.Chain.THORChain,decimals:I.BaseDecimal[I.Chain.THORChain]},tcy:{asset:"THOR.TCY",decimals:I.BaseDecimal[I.Chain.THORChain]},"x/kuji":{asset:"THOR.KUJI",decimals:I.BaseDecimal[I.Chain.THORChain]},uatom:{chain:I.Chain.Cosmos,decimals:I.BaseDecimal[I.Chain.Cosmos]},atom:{chain:I.Chain.Cosmos,decimals:I.BaseDecimal[I.Chain.Cosmos]},cacao:{chain:I.Chain.Maya,decimals:10},maya:{asset:`${I.Chain.Maya}.${I.Chain.Maya}`,decimals:4},ukuji:{chain:I.Chain.Kujira,decimals:I.BaseDecimal[I.Chain.Kujira]},kuji:{chain:I.Chain.Kujira,decimals:I.BaseDecimal[I.Chain.Kujira]},uusdc:{chain:I.Chain.Noble,decimals:I.BaseDecimal[I.Chain.Noble]},usdc:{chain:I.Chain.Noble,decimals:I.BaseDecimal[I.Chain.Noble]},[$5.toLowerCase()]:{asset:`${I.Chain.Kujira}.USK`,decimals:I.BaseDecimal[I.Chain.Kujira]}}});var D1={};zy(D1,{$root:()=>N});var s,F,My,O,N;var k1=l(()=>{s=U(require("protobufjs/minimal.js")),F=s.default.Reader,My=s.default.Writer,O=s.default.util,N=s.default.roots.default||(s.default.roots.default={});N.common=(()=>{let T={};return T.Asset=(()=>{function f(Z){if(Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.chain="",f.prototype.symbol="",f.prototype.ticker="",f.prototype.synth=!1,f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=My.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))L.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))L.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))L.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))L.uint32(32).bool(y.synth);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof F))y=F.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.Asset;while(y.pos<X){let x=y.uint32();switch(x>>>3){case 1:J.chain=y.string();break;case 2:J.symbol=y.string();break;case 3:J.ticker=y.string();break;case 4:J.synth=y.bool();break;default:y.skipType(x&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!O.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!O.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!O.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 Z(y){if(y instanceof N.common.Asset)return y;let L=new N.common.Asset;if(y.chain!=null)L.chain=String(y.chain);if(y.symbol!=null)L.symbol=String(y.symbol);if(y.ticker!=null)L.ticker=String(y.ticker);if(y.synth!=null)L.synth=Boolean(y.synth);return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.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 Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.Coin=(()=>{function f(Z){if(Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.asset=null,f.prototype.amount="",f.prototype.decimals=O.Long?O.Long.fromBits(0,0,!1):0,f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=My.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))N.common.Asset.encode(y.asset,L.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))L.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))L.uint32(24).int64(y.decimals);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof F))y=F.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.Coin;while(y.pos<X){let x=y.uint32();switch(x>>>3){case 1:J.asset=N.common.Asset.decode(y,y.uint32());break;case 2:J.amount=y.string();break;case 3:J.decimals=y.int64();break;default:y.skipType(x&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let L=N.common.Asset.verify(y.asset);if(L)return"asset."+L}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!O.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!O.isInteger(y.decimals)&&!(y.decimals&&O.isInteger(y.decimals.low)&&O.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},f.fromObject=function Z(y){if(y instanceof N.common.Coin)return y;let L=new N.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");L.asset=N.common.Asset.fromObject(y.asset)}if(y.amount!=null)L.amount=String(y.amount);if(y.decimals!=null){if(O.Long)(L.decimals=O.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")L.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")L.decimals=y.decimals;else if(typeof y.decimals==="object")L.decimals=new O.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.defaults)if(X.asset=null,X.amount="",O.Long){let J=new O.Long(0,0,!1);X.decimals=L.longs===String?J.toString():L.longs===Number?J.toNumber():J}else X.decimals=L.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))X.asset=N.common.Asset.toObject(y.asset,L);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=L.longs===String?String(y.decimals):y.decimals;else X.decimals=L.longs===String?O.Long.prototype.toString.call(y.decimals):L.longs===Number?new O.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.PubKeySet=(()=>{function f(Z){if(Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.secp256k1="",f.prototype.ed25519="",f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=My.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))L.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))L.uint32(18).string(y.ed25519);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof F))y=F.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.PubKeySet;while(y.pos<X){let x=y.uint32();switch(x>>>3){case 1:J.secp256k1=y.string();break;case 2:J.ed25519=y.string();break;default:y.skipType(x&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!O.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!O.isString(y.ed25519))return"ed25519: string expected"}return null},f.fromObject=function Z(y){if(y instanceof N.common.PubKeySet)return y;let L=new N.common.PubKeySet;if(y.secp256k1!=null)L.secp256k1=String(y.secp256k1);if(y.ed25519!=null)L.ed25519=String(y.ed25519);return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.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 Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.Tx=(()=>{function f(Z){if(this.coins=[],this.gas=[],Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.id="",f.prototype.chain="",f.prototype.fromAddress="",f.prototype.toAddress="",f.prototype.coins=O.emptyArray,f.prototype.gas=O.emptyArray,f.prototype.memo="",f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=My.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))L.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))L.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))L.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))L.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],L.uint32(42).fork()).ldelim();if(y.gas?.length)for(let X=0;X<y.gas.length;++X)N.common.Coin.encode(y.gas[X],L.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))L.uint32(58).string(y.memo);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof F))y=F.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.Tx;while(y.pos<X){let x=y.uint32();switch(x>>>3){case 1:J.id=y.string();break;case 2:J.chain=y.string();break;case 3:J.fromAddress=y.string();break;case 4:J.toAddress=y.string();break;case 5:if(!J.coins?.length)J.coins=[];J.coins.push(N.common.Coin.decode(y,y.uint32()));break;case 6:if(!J.gas?.length)J.gas=[];J.gas.push(N.common.Coin.decode(y,y.uint32()));break;case 7:J.memo=y.string();break;default:y.skipType(x&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!O.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!O.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!O.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!O.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 L=0;L<y.coins.length;++L){let X=N.common.Coin.verify(y.coins[L]);if(X)return"coins."+X}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let L=0;L<y.gas.length;++L){let X=N.common.Coin.verify(y.gas[L]);if(X)return"gas."+X}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!O.isString(y.memo))return"memo: string expected"}return null},f.fromObject=function Z(y){if(y instanceof N.common.Tx)return y;let L=new N.common.Tx;if(y.id!=null)L.id=String(y.id);if(y.chain!=null)L.chain=String(y.chain);if(y.fromAddress!=null)L.fromAddress=String(y.fromAddress);if(y.toAddress!=null)L.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");L.coins=[];for(let X=0;X<y.coins.length;++X){if(typeof y.coins[X]!=="object")throw TypeError(".common.Tx.coins: object expected");L.coins[X]=N.common.Coin.fromObject(y.coins[X])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");L.gas=[];for(let X=0;X<y.gas.length;++X){if(typeof y.gas[X]!=="object")throw TypeError(".common.Tx.gas: object expected");L.gas[X]=N.common.Coin.fromObject(y.gas[X])}}if(y.memo!=null)L.memo=String(y.memo);return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.arrays||L.defaults)X.coins=[],X.gas=[];if(L.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 J=0;J<y.coins.length;++J)X.coins[J]=N.common.Coin.toObject(y.coins[J],L)}if(y.gas?.length){X.gas=[];for(let J=0;J<y.gas.length;++J)X.gas[J]=N.common.Coin.toObject(y.gas[J],L)}if(y.memo!=null&&y.hasOwnProperty("memo"))X.memo=y.memo;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.Fee=(()=>{function f(Z){if(this.coins=[],Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.coins=O.emptyArray,f.prototype.poolDeduct="",f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=My.create();if(y.coins?.length)for(let X=0;X<y.coins.length;++X)N.common.Coin.encode(y.coins[X],L.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))L.uint32(18).string(y.poolDeduct);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof F))y=F.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.Fee;while(y.pos<X){let x=y.uint32();switch(x>>>3){case 1:if(!J.coins?.length)J.coins=[];J.coins.push(N.common.Coin.decode(y,y.uint32()));break;case 2:J.poolDeduct=y.string();break;default:y.skipType(x&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function Z(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 L=0;L<y.coins.length;++L){let X=N.common.Coin.verify(y.coins[L]);if(X)return"coins."+X}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!O.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},f.fromObject=function Z(y){if(y instanceof N.common.Fee)return y;let L=new N.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");L.coins=[];for(let X=0;X<y.coins.length;++X){if(typeof y.coins[X]!=="object")throw TypeError(".common.Fee.coins: object expected");L.coins[X]=N.common.Coin.fromObject(y.coins[X])}}if(y.poolDeduct!=null)L.poolDeduct=String(y.poolDeduct);return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.arrays||L.defaults)X.coins=[];if(L.defaults)X.poolDeduct="";if(y.coins?.length){X.coins=[];for(let J=0;J<y.coins.length;++J)X.coins[J]=N.common.Coin.toObject(y.coins[J],L)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))X.poolDeduct=y.poolDeduct;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.ProtoUint=(()=>{function f(Z){if(Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.value="",f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=My.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))L.uint32(10).string(y.value);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof F))y=F.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.ProtoUint;while(y.pos<X){let x=y.uint32();switch(x>>>3){case 1:J.value=y.string();break;default:y.skipType(x&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!O.isString(y.value))return"value: string expected"}return null},f.fromObject=function Z(y){if(y instanceof N.common.ProtoUint)return y;let L=new N.common.ProtoUint;if(y.value!=null)L.value=String(y.value);return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.defaults)X.value="";if(y.value!=null&&y.hasOwnProperty("value"))X.value=y.value;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T})();N.types=(()=>{let T={};return T.MsgDeposit=(()=>{function f(Z){if(this.coins=[],Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.coins=O.emptyArray,f.prototype.memo="",f.prototype.signer=O.newBuffer([]),f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=My.create();if(y.coins?.length)for(let X=0;X<y.coins.length;++X)N.common.Coin.encode(y.coins[X],L.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))L.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))L.uint32(26).bytes(y.signer);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof F))y=F.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.types.MsgDeposit;while(y.pos<X){let x=y.uint32();switch(x>>>3){case 1:if(!J.coins?.length)J.coins=[];J.coins.push(N.common.Coin.decode(y,y.uint32()));break;case 2:J.memo=y.string();break;case 3:J.signer=y.bytes();break;default:y.skipType(x&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function Z(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 L=0;L<y.coins.length;++L){let X=N.common.Coin.verify(y.coins[L]);if(X)return"coins."+X}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!O.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||O.isString(y.signer)))return"signer: buffer expected"}return null},f.fromObject=function Z(y){if(y instanceof N.types.MsgDeposit)return y;let L=new N.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");L.coins=[];for(let X=0;X<y.coins.length;++X){if(typeof y.coins[X]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");L.coins[X]=N.common.Coin.fromObject(y.coins[X])}}if(y.memo!=null)L.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")O.base64.decode(y.signer,L.signer=O.newBuffer(O.base64.length(y.signer)),0);else if(y.signer.length)L.signer=y.signer}return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.arrays||L.defaults)X.coins=[];if(L.defaults){if(X.memo="",L.bytes===String)X.signer="";else if(X.signer=[],L.bytes!==Array)X.signer=O.newBuffer(X.signer)}if(y.coins?.length){X.coins=[];for(let J=0;J<y.coins.length;++J)X.coins[J]=N.common.Coin.toObject(y.coins[J],L)}if(y.memo!=null&&y.hasOwnProperty("memo"))X.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))X.signer=L.bytes===String?O.base64.encode(y.signer,0,y.signer.length):L.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.MsgSend=(()=>{function f(Z){if(this.amount=[],Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.fromAddress=O.newBuffer([]),f.prototype.toAddress=O.newBuffer([]),f.prototype.amount=O.emptyArray,f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=My.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))L.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))L.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],L.uint32(26).fork()).ldelim();return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof F))y=F.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.types.MsgSend;while(y.pos<X){let x=y.uint32();switch(x>>>3){case 1:J.fromAddress=y.bytes();break;case 2:J.toAddress=y.bytes();break;case 3:if(!J.amount?.length)J.amount=[];J.amount.push(N.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(x&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function Z(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"||O.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||O.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 L=0;L<y.amount.length;++L){let X=N.cosmos.base.v1beta1.Coin.verify(y.amount[L]);if(X)return"amount."+X}}return null},f.fromObject=function Z(y){if(y instanceof N.types.MsgSend)return y;let L=new N.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")O.base64.decode(y.fromAddress,L.fromAddress=O.newBuffer(O.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)L.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")O.base64.decode(y.toAddress,L.toAddress=O.newBuffer(O.base64.length(y.toAddress)),0);else if(y.toAddress.length)L.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");L.amount=[];for(let X=0;X<y.amount.length;++X){if(typeof y.amount[X]!=="object")throw TypeError(".types.MsgSend.amount: object expected");L.amount[X]=N.cosmos.base.v1beta1.Coin.fromObject(y.amount[X])}}return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.arrays||L.defaults)X.amount=[];if(L.defaults){if(L.bytes===String)X.fromAddress="";else if(X.fromAddress=[],L.bytes!==Array)X.fromAddress=O.newBuffer(X.fromAddress);if(L.bytes===String)X.toAddress="";else if(X.toAddress=[],L.bytes!==Array)X.toAddress=O.newBuffer(X.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))X.fromAddress=L.bytes===String?O.base64.encode(y.fromAddress,0,y.fromAddress.length):L.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))X.toAddress=L.bytes===String?O.base64.encode(y.toAddress,0,y.toAddress.length):L.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){X.amount=[];for(let J=0;J<y.amount.length;++J)X.amount[J]=N.cosmos.base.v1beta1.Coin.toObject(y.amount[J],L)}return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T})();N.cosmos=(()=>{let T={};return T.base=(()=>{let f={};return f.v1beta1=(()=>{let Z={};return Z.Coin=(()=>{function y(L){if(L){for(let X=Object.keys(L),J=0;J<X.length;++J)if(L[X[J]]!=null)this[X[J]]=L[X[J]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function L(X){return new y(X)},y.encode=function L(X,J){if(!J)J=My.create();if(X.denom!=null&&Object.hasOwnProperty.call(X,"denom"))J.uint32(10).string(X.denom);if(X.amount!=null&&Object.hasOwnProperty.call(X,"amount"))J.uint32(18).string(X.amount);return J},y.encodeDelimited=function L(X,J){return this.encode(X,J).ldelim()},y.decode=function L(X,J){if(!(X instanceof F))X=F.create(X);let x=J===void 0?X.len:X.pos+J,Q=new N.cosmos.base.v1beta1.Coin;while(X.pos<x){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 L(X){if(!(X instanceof F))X=new F(X);return this.decode(X,X.uint32())},y.verify=function L(X){if(typeof X!=="object"||X===null)return"object expected";if(X.denom!=null&&X.hasOwnProperty("denom")){if(!O.isString(X.denom))return"denom: string expected"}if(X.amount!=null&&X.hasOwnProperty("amount")){if(!O.isString(X.amount))return"amount: string expected"}return null},y.fromObject=function L(X){if(X instanceof N.cosmos.base.v1beta1.Coin)return X;let J=new N.cosmos.base.v1beta1.Coin;if(X.denom!=null)J.denom=String(X.denom);if(X.amount!=null)J.amount=String(X.amount);return J},y.toObject=function L(X,J){if(!J)J={};let x={};if(J.defaults)x.denom="",x.amount="";if(X.denom!=null&&X.hasOwnProperty("denom"))x.denom=X.denom;if(X.amount!=null&&X.hasOwnProperty("amount"))x.amount=X.amount;return x},y.prototype.toJSON=function L(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},y})(),Z.DecCoin=(()=>{function y(L){if(L){for(let X=Object.keys(L),J=0;J<X.length;++J)if(L[X[J]]!=null)this[X[J]]=L[X[J]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function L(X){return new y(X)},y.encode=function L(X,J){if(!J)J=My.create();if(X.denom!=null&&Object.hasOwnProperty.call(X,"denom"))J.uint32(10).string(X.denom);if(X.amount!=null&&Object.hasOwnProperty.call(X,"amount"))J.uint32(18).string(X.amount);return J},y.encodeDelimited=function L(X,J){return this.encode(X,J).ldelim()},y.decode=function L(X,J){if(!(X instanceof F))X=F.create(X);let x=J===void 0?X.len:X.pos+J,Q=new N.cosmos.base.v1beta1.DecCoin;while(X.pos<x){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 L(X){if(!(X instanceof F))X=new F(X);return this.decode(X,X.uint32())},y.verify=function L(X){if(typeof X!=="object"||X===null)return"object expected";if(X.denom!=null&&X.hasOwnProperty("denom")){if(!O.isString(X.denom))return"denom: string expected"}if(X.amount!=null&&X.hasOwnProperty("amount")){if(!O.isString(X.amount))return"amount: string expected"}return null},y.fromObject=function L(X){if(X instanceof N.cosmos.base.v1beta1.DecCoin)return X;let J=new N.cosmos.base.v1beta1.DecCoin;if(X.denom!=null)J.denom=String(X.denom);if(X.amount!=null)J.amount=String(X.amount);return J},y.toObject=function L(X,J){if(!J)J={};let x={};if(J.defaults)x.denom="",x.amount="";if(X.denom!=null&&X.hasOwnProperty("denom"))x.denom=X.denom;if(X.amount!=null&&X.hasOwnProperty("amount"))x.amount=X.amount;return x},y.prototype.toJSON=function L(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},y})(),Z.IntProto=(()=>{function y(L){if(L){for(let X=Object.keys(L),J=0;J<X.length;++J)if(L[X[J]]!=null)this[X[J]]=L[X[J]]}}return y.prototype.int="",y.create=function L(X){return new y(X)},y.encode=function L(X,J){if(!J)J=My.create();if(X.int!=null&&Object.hasOwnProperty.call(X,"int"))J.uint32(10).string(X.int);return J},y.encodeDelimited=function L(X,J){return this.encode(X,J).ldelim()},y.decode=function L(X,J){if(!(X instanceof F))X=F.create(X);let x=J===void 0?X.len:X.pos+J,Q=new N.cosmos.base.v1beta1.IntProto;while(X.pos<x){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 L(X){if(!(X instanceof F))X=new F(X);return this.decode(X,X.uint32())},y.verify=function L(X){if(typeof X!=="object"||X===null)return"object expected";if(X.int!=null&&X.hasOwnProperty("int")){if(!O.isString(X.int))return"int: string expected"}return null},y.fromObject=function L(X){if(X instanceof N.cosmos.base.v1beta1.IntProto)return X;let J=new N.cosmos.base.v1beta1.IntProto;if(X.int!=null)J.int=String(X.int);return J},y.toObject=function L(X,J){if(!J)J={};let x={};if(J.defaults)x.int="";if(X.int!=null&&X.hasOwnProperty("int"))x.int=X.int;return x},y.prototype.toJSON=function L(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},y})(),Z.DecProto=(()=>{function y(L){if(L){for(let X=Object.keys(L),J=0;J<X.length;++J)if(L[X[J]]!=null)this[X[J]]=L[X[J]]}}return y.prototype.dec="",y.create=function L(X){return new y(X)},y.encode=function L(X,J){if(!J)J=My.create();if(X.dec!=null&&Object.hasOwnProperty.call(X,"dec"))J.uint32(10).string(X.dec);return J},y.encodeDelimited=function L(X,J){return this.encode(X,J).ldelim()},y.decode=function L(X,J){if(!(X instanceof F))X=F.create(X);let x=J===void 0?X.len:X.pos+J,Q=new N.cosmos.base.v1beta1.DecProto;while(X.pos<x){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 L(X){if(!(X instanceof F))X=new F(X);return this.decode(X,X.uint32())},y.verify=function L(X){if(typeof X!=="object"||X===null)return"object expected";if(X.dec!=null&&X.hasOwnProperty("dec")){if(!O.isString(X.dec))return"dec: string expected"}return null},y.fromObject=function L(X){if(X instanceof N.cosmos.base.v1beta1.DecProto)return X;let J=new N.cosmos.base.v1beta1.DecProto;if(X.dec!=null)J.dec=String(X.dec);return J},y.toObject=function L(X,J){if(!J)J={};let x={};if(J.defaults)x.dec="";if(X.dec!=null&&X.hasOwnProperty("dec"))x.dec=X.dec;return x},y.prototype.toJSON=function L(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},y})(),Z})(),f})(),T})()});async function py(){let{$root:T}=await Promise.resolve().then(() => (k1(),D1)),f=await import("@cosmjs/proto-signing"),Z=f.Registry??f.default?.Registry,y=await import("@cosmjs/stargate"),L=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new Z([...L,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Vy(T){let f=await import("@cosmjs/stargate"),Z=f.AminoTypes??f.default?.AminoTypes,y=T===I1.Chain.THORChain?"thorchain":"mayachain";return new Z({"/types.MsgSend":{aminoType:`${y}/MsgSend`,toAmino:({fromAddress:L,toAddress:X,...J})=>({...J,from_address:HT(L),to_address:HT(X)}),fromAmino:({from_address:L,to_address:X,...J})=>({...J,fromAddress:WT(L),toAddress:WT(X)})},"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,toAmino:({signer:L,...X})=>({...X,signer:HT(L)}),fromAmino:({signer:L,...X})=>({...X,signer:WT(L)})}})}var I1;var S5=l(()=>{I1=require("@swapkit/helpers");V5()});function j5(T){return function f(Z){let{assetValue:y,recipient:L,memo:X,sender:J,asSignable:x,asAminoMessage:Q}=Z;if(L)return C1(T)({sender:J,recipient:L,assetValue:y,memo:X,asSignable:x,asAminoMessage:Q});return w1(T)({sender:J,assetValue:y,memo:X,asSignable:x,asAminoMessage:Q})}}function Fy(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((f)=>{let Z=Gy.AssetValue.from({asset:f.asset}),y=(Z.isSynthetic?Z.symbol.split("/")?.[1]:Z.symbol)?.toUpperCase(),L=(Z.isSynthetic?Z.symbol.split("/")?.[0]:Z.chain)?.toUpperCase();return{...f,asset:{chain:L,symbol:y,ticker:Z.ticker,synth:Z.isSynthetic}}})}}}async function RT({chain:T,memo:f,msgs:Z}){let y=await py(),L=await Vy(T),X={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:f,messages:Z.map((J)=>L.fromAmino(J))}};return y.encode(X)}var Gy,q2,z2,b5=({sender:T,recipient:f,assetValue:Z})=>{return{type:`${Z.chain===Gy.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{from_address:T,to_address:f,amount:[{amount:Z.getBaseValue("string"),denom:ly(Z.symbol,!0)}]}}},u5=({sender:T,assetValue:f,memo:Z=""})=>{return{type:`${f.chain===Gy.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:f.getBaseValue("string"),asset:YT(f)}],signer:T,memo:Z}}},rT=({sender:T,recipient:f,assetValue:Z,memo:y})=>{return!f?u5({sender:T,assetValue:Z,memo:y}):b5({sender:T,recipient:f,assetValue:Z})},$y=async(T,f)=>{return(await Vy(f)).fromAmino(T)},O1=async({rpcUrl:T,sender:f})=>{let y=await(await Cy(T)).getAccount(f);if(!y)throw new Gy.SwapKitError("toolbox_cosmos_account_not_found",{sender:f});return y},C1=(T)=>async({sender:f,recipient:Z,assetValue:y,memo:L="",asSignable:X=!0,asAminoMessage:J=!1,sequence:x,accountNumber:Q})=>{let q=await O1({rpcUrl:T,sender:f}),z=y.chain,M=b5({sender:f,recipient:Z,assetValue:y}),G=X?await $y(J?M:Fy(M),z):M;return{chainId:Gy.ChainToChainId[z],accountNumber:Q||q.accountNumber,sequence:x||q.sequence,msgs:[G],fee:Oy(y.chain),memo:L}},w1=(T)=>async({sender:f,assetValue:Z,memo:y="",asSignable:L=!0,asAminoMessage:X=!1,sequence:J,accountNumber:x})=>{let Q=await O1({rpcUrl:T,sender:f}),q=Z.chain,z=u5({sender:f,assetValue:Z,memo:y}),M=L?await $y(X?z:Fy(z),q):z;return{chainId:Gy.ChainToChainId[q],accountNumber:x||Q.accountNumber,sequence:J||Q.sequence,msgs:[M],fee:Oy(Z.chain),memo:y}};var E1=l(()=>{Gy=require("@swapkit/helpers");_T();S5();q2=Oy(Gy.Chain.THORChain).gas,z2=Oy(Gy.Chain.Maya).gas});var v1=()=>{};var P1=l(()=>{v1()});var h5=l(()=>{V5();E1();S5();P1()});async function m5(T,f){try{let y=(await p5.SwapKitApi.getGasRate()).find((L)=>L.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(Z){return f}}async function n5({phrase:T,prefix:f,...Z}){let y=await import("@cosmjs/proto-signing"),L=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,X=await import("@cosmjs/crypto"),J=X.stringToPath??X.default?.stringToPath,x="derivationPath"in Z?Z.derivationPath:`${w.DerivationPath[Z.chain]}/${Z.index}`;return L.fromMnemonic(T,{prefix:f,hdPaths:[J(x)]})}async function M2({privateKey:T,prefix:f}){let Z=await import("@cosmjs/proto-signing");return(Z.DirectSecp256k1Wallet??Z.default?.DirectSecp256k1Wallet).fromKey(T,f)}function F1(T){return async function f({signature:Z,message:y,address:L}){let X=await T(L);if(!X?.pubkey)throw new w.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let J=await import("@cosmjs/crypto"),x=J.Secp256k1Signature??J.default?.Secp256k1Signature,Q=J.Secp256k1??J.default?.Secp256k1,q=x.fromFixedLength(Ky.base64.decode(Z));return Q.verifySignature(q,Ky.base64.decode(y),X.pubkey.value)}}async function DT({chain:T,...f}){let Z=w.SKConfig.get("rpcUrls")[T],y=w.CosmosChainPrefixes[T],L="index"in f?f.index||0:0,X=w.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:w.updateDerivationPath(w.NetworkDerivationPath[T],{index:L})),J=await NT.match(f).with({phrase:NT.P.string},({phrase:M})=>n5({phrase:M,prefix:y,derivationPath:X})).with({signer:NT.P.any},({signer:M})=>M).otherwise(()=>{return});async function x(M){return(await Cy(Z)).getAccount(M)}async function Q(){let[M]=await J?.getAccounts()||[];return M?.address}async function q(){let[M]=await J?.getAccounts()||[];if(!M?.pubkey)throw new w.SwapKitError("toolbox_cosmos_signer_not_defined");return Ky.base64.encode(M?.pubkey)}async function z({recipient:M,assetValue:G,memo:B="",feeRate:W,feeOptionKey:R=w.FeeOption.Fast}){let k=await Q();if(!(J&&k))throw new w.SwapKitError("toolbox_cosmos_signer_not_defined");let S=w.AssetValue.from({chain:T}),u=YT(S),d=W||Y2((await V1(T,l1[T]))[R],u),m=await UT(Z,J),e=[{denom:ly(`u${G.symbol}`).toLowerCase(),amount:G.getBaseValue("string")}],{transactionHash:a}=await m.sendTokens(k,M,e,d,B);return a}return{transfer:z,getAddress:Q,getAccount:x,getBalance:async(M,G)=>{let B=await $1(Z)(M);return await Promise.all(B.filter(({denom:W})=>W&&!W.includes("IBC/")).map(({denom:W,amount:R})=>{let k=[w.Chain.THORChain,w.Chain.Maya].includes(T)&&(W.includes("/")||W.includes("˜"))?`${T}.${W}`:W;return A5(k,R)}))},getSignerFromPhrase:async({phrase:M,derivationPath:G})=>n5({phrase:M,prefix:y,derivationPath:w.derivationPathToString(G),index:L}),getSignerFromPrivateKey:async(M)=>{let G=await import("@cosmjs/proto-signing");return(G.DirectSecp256k1Wallet??G.default?.DirectSecp256k1Wallet).fromKey(M,y)},createPrivateKeyFromPhrase:_2(X),validateAddress:A1(y),getPubKey:q,getFees:()=>V1(T,l1[T]),fetchFeeRateFromSwapKit:m5,getBalanceAsDenoms:$1(Z),createTransaction:K5,verifySignature:F1(x)}}async function K1(T,f){try{let y=(await p5.SwapKitApi.getGasRate()).find((L)=>L.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(Z){return f}}function B2({address:T,chain:f,prefix:Z}){let y=Z||H2(f);if(!(y&&T))throw new w.SwapKitError("toolbox_cosmos_validate_address_prefix_not_found");return A1(y)(T)}function W2({assetValue:{chain:T}}){return w.AssetValue.from({chain:T,value:U2(T)})}function H2(T){let{isStagenet:f}=w.SKConfig.get("envs"),Z=T?[w.Chain.THORChain,w.Chain.Maya].includes(T)&&f:!1,y=T?w.CosmosChainPrefixes[T]:void 0;return Z?`s${y}`:y}async function V1(T,f){let Z=await m5(w.ChainToChainId[T],f);return{average:w.SwapKitNumber.fromBigInt(BigInt(Z),w.BaseDecimal[T]),fast:w.SwapKitNumber.fromBigInt(BigInt(w.applyFeeMultiplier(Z,w.FeeOption.Fast,!0)),w.BaseDecimal[T]),fastest:w.SwapKitNumber.fromBigInt(BigInt(w.applyFeeMultiplier(Z,w.FeeOption.Fastest,!0)),w.BaseDecimal[T])}}function Y2(T,f){return{amount:[{denom:f,amount:T.getBaseValue("string")}],gas:"200000"}}function U2(T){return{[w.Chain.Cosmos]:0.007,[w.Chain.Kujira]:0.02,[w.Chain.Noble]:0.01,[w.Chain.THORChain]:0.02,[w.Chain.Maya]:0.02}[T]||0}function A1(T){return function f(Z){if(!Z.startsWith(T))return!1;try{let{prefix:y,words:L}=Ky.bech32.decode(Z);return Ky.bech32.encode(y,L)===Z.toLocaleLowerCase()}catch(y){return!1}}}function $1(T){return async function f(Z){return(await(await Cy(T)).getAllBalances(Z)).map((J)=>({...J,denom:J.denom.includes("/")?J.denom.toUpperCase():J.denom}))}}function _2(T){return async function f(Z){let y=await import("@cosmjs/crypto"),L=y.stringToPath??y.default?.stringToPath,X=y.Slip10Curve??y.default?.Slip10Curve,J=y.Slip10??y.default?.Slip10,x=y.EnglishMnemonic??y.default?.EnglishMnemonic,Q=y.Bip39??y.default?.Bip39,q=new x(Z),z=await Q.mnemonicToSeed(q),{privkey:M}=J.derivePath(X.Secp256k1,z,L(T));return M}}var Ky,w,p5,NT,l1,G2;var aT=l(()=>{Ky=require("@scure/base"),w=require("@swapkit/helpers"),p5=require("@swapkit/helpers/api"),NT=require("ts-pattern");_T();l1={[w.Chain.Cosmos]:500,[w.Chain.Kujira]:1000,[w.Chain.Noble]:1000,[w.Chain.THORChain]:5000000,[w.Chain.Maya]:5000000};G2=K1});function R2({prefix:T,derivationPath:f}){return async function Z(y,L=0){let X=await import("@cosmjs/amino"),J=X.Secp256k1HdWallet??X.default?.Secp256k1HdWallet,x=await import("@cosmjs/crypto"),Q=x.stringToPath??x.default?.stringToPath;return J.fromMnemonic(y,{hdPaths:[Q(`${f}/${L}`)],prefix:T})}}function N2(T){return Ay.base64.encode(T)}function D2(T){return async function f({wallet:Z,tx:y}){let{msgs:L,accountNumber:X,sequence:J,chainId:x,fee:Q,memo:q}=typeof y==="string"?JSON.parse(y):y,z=(await Z.getAccounts())?.[0]?.address||"",M=await Vy(T),G=await py(),B=await F5(Z,{registry:G,aminoTypes:M}),W=[];for(let S of L){let u=await $y(S,T);W.push(u)}let{signatures:[R]}=await B.sign(z,W,Q,q,{accountNumber:X,sequence:J,chainId:x}),k=await RT({chain:T,memo:q,msgs:L.map(Fy)});return{signature:N2(R),bodyBytes:k}}}function k2({prefix:T,rpcUrl:f}){return async function Z(y,L,X,J,x){let{encodeSecp256k1Pubkey:Q,pubkeyToAddress:q}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:z}=(await import("@cosmjs/stargate")).default,{sequence:M,fee:G}=JSON.parse(y),B=await S1(X,J),W=L.map((S)=>[q(Q(Ay.base64.decode(S.pubKey)),T),Ay.base64.decode(S.signature)]),R=await Cy(f),{transactionHash:k}=await R.broadcastTx(z(B,M,G,x,new Map(W)));return k}}async function S1(T,f,Z=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:L}=(await import("@cosmjs/amino")).default;return y(T.map((X)=>L(Ay.base64.decode(X))),f,Z)}function I2(T){return Ay.base64.decode(T)}async function O2({privateKey:T,message:f}){let{Secp256k1:Z}=(await import("@cosmjs/crypto")).default,y=await Z.createSignature(Ay.base64.decode(f),T);return Ay.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function o5({chain:T,...f}){let Z=p.SKConfig.get("nodeUrls")[T],y=p.SKConfig.get("rpcUrls")[T],{isStagenet:L}=p.SKConfig.get("envs"),X=T===p.Chain.THORChain,J=`${L?"s":""}${p.CosmosChainPrefixes[T]}`,x="index"in f?f.index||0:0,Q="derivationPath"in f&&f.derivationPath?f.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[T],{index:x}),q=await DT({chain:T,...f}),z=await kT.match(f).with({phrase:kT.P.string},({phrase:W})=>q.getSignerFromPhrase({phrase:W,derivationPath:Q})).with({signer:kT.P.any},({signer:W})=>W).otherwise(()=>{return}),M=Oy(T);async function G(){let W,R=`${Z}/${X?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:k}}=await p.RequestClient.get(R);if(!k||Number.isNaN(k)||k<0)throw new p.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:k.toString()});W=new p.SwapKitNumber(k)}catch{W=new p.SwapKitNumber({value:X?0.02:1,decimal:p.BaseDecimal[T]})}return{[p.FeeOption.Average]:W,[p.FeeOption.Fast]:W,[p.FeeOption.Fastest]:W}}async function B({assetValue:W,memo:R="",recipient:k}){let{TxRaw:S}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),u=(await z?.getAccounts())?.[0]?.address;if(!(u&&z))throw new p.SwapKitError("toolbox_cosmos_no_signer");let d="signAmino"in z,m=await py(),e=await Vy(T),a=await UT(y,z,{registry:m,aminoTypes:e}),Ly=rT({assetValue:W,sender:u,recipient:k,memo:R});if(d){let C=await $y(Ly,T),{signatures:V,authInfoBytes:v}=await a.sign(u,[C],M,R),A=S.encode({signatures:V,authInfoBytes:v,bodyBytes:await RT({chain:T,msgs:[Ly].map(Fy),memo:R})}).finish();return(await a.broadcastTx(A)).transactionHash}let E=Fy(Ly),Y=await $y(E,T);return(await a.signAndBroadcast(u,[Y],M,R)).transactionHash}return{...q,broadcastMultisigTx:k2({prefix:J,rpcUrl:y}),buildAminoMsg:rT,buildEncodedTxBody:RT,convertToSignable:$y,createDefaultAminoTypes:()=>Vy(T),createDefaultRegistry:py,createMultisig:S1,createTransaction:j5(y),deposit:B,getFees:G,importSignature:I2,parseAminoMessageForDirectSigning:Fy,secp256k1HdWalletFromMnemonic:R2({derivationPath:p.derivationPathToString(Q),prefix:J}),signMultisigTx:D2(T),signWithPrivateKey:O2,transfer:B,pubkeyToAddress:async(W)=>{let{pubkeyToAddress:R}=(await import("@cosmjs/amino")).default;return R(W,J)}}}var Ay,p,kT;var c5=l(()=>{Ay=require("@scure/base"),p=require("@swapkit/helpers"),kT=require("ts-pattern");h5();_T();aT()});var Sy,C2=(T,f)=>{switch(T){case Sy.Chain.Cosmos:case Sy.Chain.Kujira:case Sy.Chain.Noble:return DT({chain:T,...f});case Sy.Chain.Maya:case Sy.Chain.THORChain:return o5({chain:T,...f});default:throw new Sy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var b1=l(()=>{Sy=require("@swapkit/helpers");aT();c5();aT();c5()});var sT={};zy(sT,{verifySignature:()=>F1,transferMsgAmino:()=>b5,toBase64:()=>Z2,parseAminoMessageForDirectSigning:()=>Fy,getSignerFromPrivateKey:()=>M2,getSignerFromPhrase:()=>n5,getRPC:()=>N1,getMsgSendDenom:()=>ly,getFeeRateFromThorswap:()=>G2,getFeeRateFromSwapKit:()=>K1,getDenomWithChain:()=>YT,getDefaultChainFee:()=>Oy,getCreateTransaction:()=>j5,getCosmosToolbox:()=>C2,getAssetFromDenom:()=>A5,fromBase64:()=>J2,fetchFeeRateFromSwapKit:()=>m5,estimateTransactionFee:()=>W2,depositMsgAmino:()=>u5,createThorchainToolbox:()=>o5,createStargateClient:()=>Cy,createSigningStargateClient:()=>UT,createOfflineStargateClient:()=>F5,createDefaultRegistry:()=>py,createDefaultAminoTypes:()=>Vy,createCosmosToolbox:()=>DT,cosmosValidateAddress:()=>B2,cosmosCreateTransaction:()=>K5,convertToSignable:()=>$y,buildTransferTx:()=>C1,buildEncodedTxBody:()=>RT,buildDepositTx:()=>w1,buildAminoMsg:()=>rT,bech32ToBase64:()=>WT,base64ToBech32:()=>HT,YUM_KUJIRA_FACTORY_DENOM:()=>Y1,USK_KUJIRA_FACTORY_DENOM:()=>$5,THORCHAIN_GAS_VALUE:()=>q2,MAYA_GAS_VALUE:()=>z2,DEFAULT_NOBLE_FEE_MAINNET:()=>R1,DEFAULT_KUJI_FEE_MAINNET:()=>_1,DEFAULT_COSMOS_FEE_MAINNET:()=>U1});module.exports=_y(sT);var eT=l(()=>{h5();b1();_T()});function j1(){function T(){let f=Date.now(),Z=g5||f;return g5=Z,f>g5?f:Z+1}return w2+T().toString(36)}function T5(T){return async function f(Z,y=!0){return(await u1.SwapKitApi.getChainBalance({chain:T,address:Z,scamFilter:y})).map(({identifier:X,value:J,decimal:x})=>{return new y5.AssetValue({decimal:x||y5.BaseDecimal[T],value:J,identifier:X})})}}var y5,u1,w2,g5=0;var f5=l(()=>{y5=require("@swapkit/helpers"),u1=require("@swapkit/helpers/api"),w2=typeof process!=="undefined"&&process.pid?process.pid.toString(36):""});function IT(T){let f=X5.SKConfig.get("apis")[T];if(f)return X5.warnOnce(!0,"Using custom EVM API. Be sure to implement all methods to avoid issues."),f;return v2(T)}function E2(T){return T}function v2(T){return{getBalance:T5(T)}}var X5;var L5=l(()=>{X5=require("@swapkit/helpers");f5()});function sy({chain:T=H.Chain.Ethereum,provider:f,signer:Z,isEIP1559Compatible:y=!0}){return{getAddress:()=>{return Z?Z.getAddress():void 0},estimateTransactionFee:s5({provider:f,isEIP1559Compatible:y,chain:T}),call:a5({provider:f,signer:Z,isEIP1559Compatible:y,chain:T}),estimateCall:m1({provider:f,signer:Z}),EIP1193SendTransaction:yT(f),approve:$2({provider:f,signer:Z,isEIP1559Compatible:y,chain:T}),approvedAmount:p1({provider:f,chain:T}),broadcastTransaction:f.broadcastTransaction,createApprovalTx:S2({provider:f,signer:Z,chain:T}),createContract:i5({provider:f,chain:T}),createContractTxObject:my({provider:f,chain:T}),createTransferTx:t5({provider:f,signer:Z,chain:T}),createTransaction:t5({provider:f,signer:Z,chain:T}),estimateGasLimit:K2({provider:f,signer:Z,chain:T}),estimateGasPrices:by({chain:T,provider:f,isEIP1559Compatible:y}),isApproved:V2({provider:f,chain:T}),sendTransaction:o1({provider:f,signer:Z,isEIP1559Compatible:y,chain:T}),signMessage:Z?.signMessage,transfer:F2({provider:f,signer:Z,isEIP1559Compatible:y,chain:T}),validateAddress:(L)=>d5({address:L})}}function d5({address:T}){try{return Jy.getAddress(T),!0}catch(f){return!1}}function ey(T){return T instanceof Jy.BrowserProvider}function wT(T,f,Z){return new Jy.Contract(T,Jy.Interface.from(f),Z)}function i5({provider:T}){return function f(Z,y){return new Jy.Contract(Z,Jy.Interface.from(y),T)}}function r5({abi:T,funcName:f}){let Z=T.find((y)=>y.name===f);if(!Z)throw new H.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:f});return Z.stateMutability&&P2.includes(Z.stateMutability)}function h1(T){return Jy.getAddress(T)}function yT(T){return function f({value:Z,...y}){if(!ey(T))throw new H.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");return T.send("eth_sendTransaction",[{value:OT(BigInt(Z||0)),...y}])}}function n1(T,f){let Z=TT(T,f);if(Z)return Jy.getAddress(Z.toLowerCase());throw new H.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function TT({chain:T,symbol:f,ticker:Z},y){try{let L=T===H.Chain.BinanceSmartChain&&f==="BNB"&&Z==="BNB",X=T===y&&f===y&&Z===y,J=[H.Chain.Arbitrum,H.Chain.Aurora,H.Chain.Base,H.Chain.Optimism].includes(T)&&f==="ETH"&&Z==="ETH";if(X||L||J)return l2[y];return Jy.getAddress(f.slice(Z.length+1).replace(/^0X/,""))}catch(L){return null}}function my({provider:T}){return async({contractAddress:f,abi:Z,funcName:y,funcParams:L=[],txOverrides:X})=>wT(f,Z,T).getFunction(y).populateTransaction(...L.concat(X).filter((J)=>typeof J!=="undefined"))}function by({chain:T,provider:f,isEIP1559Compatible:Z=!0}){if(T===H.Chain.Arbitrum)return async function y(){try{let{gasPrice:L}=await f.getFeeData();if(!L)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{gasPrice:L},[H.FeeOption.Fast]:{gasPrice:L},[H.FeeOption.Fastest]:{gasPrice:L}}}catch(L){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:L.msg??L.toString()})}};if(T===H.Chain.Optimism)return async function y(){try{let{maxFeePerGas:L,maxPriorityFeePerGas:X,gasPrice:J}=await f.getFeeData(),x=vT(f)(),Q=J;if(!(L&&X))throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{l1GasPrice:x,gasPrice:Q,maxFeePerGas:L,maxPriorityFeePerGas:X},[H.FeeOption.Fast]:{l1GasPrice:H.applyFeeMultiplierToBigInt(x||0n,H.FeeOption.Fast),gasPrice:H.applyFeeMultiplierToBigInt(Q,H.FeeOption.Fast),maxFeePerGas:L,maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(X,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{l1GasPrice:H.applyFeeMultiplierToBigInt(x||0n,H.FeeOption.Fastest),gasPrice:H.applyFeeMultiplierToBigInt(Q,H.FeeOption.Fastest),maxFeePerGas:L,maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(X,H.FeeOption.Fastest)}}}catch(L){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:L.msg??L.toString()})}};return async function y(){try{let{maxFeePerGas:L,maxPriorityFeePerGas:X,gasPrice:J}=await f.getFeeData();if(Z){if(L===null||X===null)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:L,maxPriorityFeePerGas:X},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(X,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(X,H.FeeOption.Fastest)}}}if(!J)throw new H.SwapKitError("toolbox_evm_no_gas_price");return{[H.FeeOption.Average]:{gasPrice:J},[H.FeeOption.Fast]:{gasPrice:H.applyFeeMultiplierToBigInt(J,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{gasPrice:H.applyFeeMultiplierToBigInt(J,H.FeeOption.Fastest)}}}catch(L){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:L.msg??L.toString()})}}}function a5({provider:T,isEIP1559Compatible:f,signer:Z,chain:y}){return async function L({callProvider:X,contractAddress:J,abi:x,funcName:Q,funcParams:q=[],txOverrides:z={},feeOption:M=H.FeeOption.Fast}){let G=X||T;if(!J)throw new H.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let B=r5({abi:x,funcName:Q});if(B&&ey(G)&&Z){let k=my({provider:G,chain:y}),S=z?.from||await Z?.getAddress(),u=await k({contractAddress:J,abi:x,funcName:Q,funcParams:q,txOverrides:{...z,from:S}});return yT(G)(u)}let W=wT(J,x,G);if(B){if(!Z)throw new H.SwapKitError("toolbox_evm_no_signer");let k=z?.from||await Z.getAddress();if(!k)throw new H.SwapKitError("toolbox_evm_no_signer_address");let S=W.connect(Z),u=by({provider:T,isEIP1559Compatible:f,chain:y}),{maxFeePerGas:d,maxPriorityFeePerGas:m,gasPrice:e}=(await u())[M],a=await W.getFunction(Q).estimateGas(...q,z),Ly=await S[Q](...q,{...z,gasLimit:a,maxFeePerGas:d,maxPriorityFeePerGas:m,gasPrice:e,nonce:z?.nonce||await G.getTransactionCount(k)});return typeof Ly?.hash==="string"?Ly?.hash:Ly}let R=await W[Q]?.(...q);return typeof R?.hash==="string"?R?.hash:R}}function p1({provider:T,chain:f}){return function Z({assetAddress:y,spenderAddress:L,from:X}){return a5({provider:T,isEIP1559Compatible:!0,chain:f})({contractAddress:y,abi:ay.erc20ABI,funcName:"allowance",funcParams:[X,L]})}}function V2({provider:T,chain:f}){return async function Z({assetAddress:y,spenderAddress:L,from:X,amount:J=CT}){let x=await p1({provider:T,chain:f})({assetAddress:y,spenderAddress:L,from:X});return H.SwapKitNumber.fromBigInt(x).gte(H.SwapKitNumber.fromBigInt(BigInt(J)))}}function $2({signer:T,isEIP1559Compatible:f=!0,provider:Z,chain:y}){return async function L({assetAddress:X,spenderAddress:J,feeOptionKey:x=H.FeeOption.Fast,amount:Q,gasLimitFallback:q,from:z,nonce:M}){let G=[J,BigInt(Q||CT)],B=await T?.getAddress()||z,W={contractAddress:X,abi:ay.erc20ABI,funcName:"approve",funcParams:G,signer:T,txOverrides:{from:B}};if(ey(Z)){let k=my({provider:Z,chain:y}),S=yT(Z),u=await k(W);return S(u)}return a5({provider:Z,isEIP1559Compatible:f,signer:T,chain:y})({...W,funcParams:G,txOverrides:{from:B,nonce:M,gasLimit:q?BigInt(q.toString()):void 0},feeOption:x})}}function F2({signer:T,isEIP1559Compatible:f=!0,provider:Z}){return async function y({assetValue:L,memo:X,recipient:J,feeOptionKey:x=H.FeeOption.Fast,sender:Q,...q}){let{hexlify:z,toUtf8Bytes:M}=await import("ethers"),G=L.getBaseValue("bigint"),B=L.chain,W=Q||await T?.getAddress(),R=o1({provider:Z,signer:T,isEIP1559Compatible:f,chain:B});if(!W)throw new H.SwapKitError("toolbox_evm_no_from_address");if(L.isGasAsset){let e={...q,from:W,to:J,value:G,data:z(M(X||"")),feeOptionKey:x};return R(e)}if(!TT(L,B))throw new H.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:S,maxPriorityFeePerGas:u,gasPrice:d}=(await by({provider:Z,isEIP1559Compatible:f,chain:B})())[x],m=await t5({provider:Z,signer:T,chain:B})({assetValue:L,memo:X,recipient:J,data:z(M(X||"")),sender:W,maxFeePerGas:S,maxPriorityFeePerGas:u,gasPrice:d});return R(m)}}function m1({provider:T,signer:f}){return function Z({contractAddress:y,abi:L,funcName:X,funcParams:J=[],txOverrides:x}){if(!y)throw new H.SwapKitError("toolbox_evm_no_contract_address");let Q=wT(y,L,T);return f?Q.connect(f).getFunction(X).estimateGas(...J,x):Q.getFunction(X).estimateGas(...J,x)}}function K2({provider:T,signer:f}){return async function Z({assetValue:y,recipient:L,memo:X,data:J,sender:x,funcName:Q,funcParams:q,txOverrides:z}){let M=y.bigIntValue,G=y.isGasAsset?null:TT(y,y.chain);if(G&&Q)return m1({provider:T,signer:f})({contractAddress:G,abi:ay.erc20ABI,funcName:Q,funcParams:q,txOverrides:z});let{hexlify:B,toUtf8Bytes:W}=await import("ethers");return T.estimateGas({from:x,to:L,value:M,data:J?J:X?B(W(X)):void 0})}}function o1({provider:T,signer:f,isEIP1559Compatible:Z=!0,chain:y}){return async function L({feeOptionKey:X=H.FeeOption.Fast,...J}){let{from:x,to:Q,data:q,value:z,...M}=J;if(!f)throw new H.SwapKitError("toolbox_evm_no_signer");if(!Q)throw new H.SwapKitError("toolbox_evm_no_to_address");let G={...M,data:q||"0x",to:Q,from:x,value:BigInt(z||0)};if(ey(T))return yT(T)(G);let B=x||await f.getAddress(),W=J.nonce||await T.getTransactionCount(B),R=(await T.getNetwork()).chainId,k=A2(G)||Z,S=by({provider:T,isEIP1559Compatible:Z,chain:y}),u=k&&!(G.maxFeePerGas&&G.maxPriorityFeePerGas)||!G.gasPrice?Object.entries((await S())[X]).reduce((m,[e,a])=>({...m,[e]:OT(BigInt(a))}),{}):{},d;try{d=OT(G.gasLimit||await T.estimateGas(G)*11n/10n)}catch(m){throw new H.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:m})}try{let m={...G,chainId:R,type:k?2:0,gasLimit:d,nonce:W,...u};try{return(await f.sendTransaction(m)).hash}catch(e){let a=await f.signTransaction({...m,from:B});return(await T.broadcastTransaction(a)).hash}}catch(m){throw new H.SwapKitError("toolbox_evm_error_sending_transaction",{error:m})}}}function t5({provider:T,signer:f}){return async function Z({assetValue:y,memo:L,recipient:X,data:J,sender:x,maxFeePerGas:Q,maxPriorityFeePerGas:q,gasPrice:z,...M}){let G=y.getBaseValue("bigint"),B=y.chain,W=x||await f?.getAddress();if(!W)throw new H.SwapKitError("toolbox_evm_no_from_address");if(H.isGasAsset(y)){let{hexlify:S,toUtf8Bytes:u}=await import("ethers");return{...M,from:W,to:X,value:G,data:J||S(u(L||""))}}let R=TT(y,B);if(!R)throw new H.SwapKitError("toolbox_evm_no_contract_address");return my({provider:T,chain:y.chain})({contractAddress:R,abi:ay.erc20ABI,funcName:"transfer",funcParams:[X,G],txOverrides:{from:W,maxFeePerGas:Q,maxPriorityFeePerGas:q,gasPrice:z}})}}function S2({provider:T,signer:f,chain:Z}){return async function y({assetAddress:L,spenderAddress:X,amount:J,from:x}){let Q=await f?.getAddress()||x,q=my({provider:T,chain:Z}),z=["bigint","number"].includes(typeof J)?J:J||CT;return await q({contractAddress:L,abi:ay.erc20ABI,funcName:"approve",funcParams:[X,BigInt(z)],txOverrides:{from:Q}})}}var H,ay,Jy,CT,P2,l2,A2=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var ET=l(()=>{H=require("@swapkit/helpers"),ay=require("@swapkit/helpers/contracts"),Jy=require("ethers");e5();CT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");P2=["payable","nonpayable"];l2={[H.Chain.Arbitrum]:H.ContractAddress.ARB,[H.Chain.Aurora]:H.ContractAddress.AURORA,[H.Chain.Avalanche]:H.ContractAddress.AVAX,[H.Chain.Base]:H.ContractAddress.BASE,[H.Chain.Berachain]:H.ContractAddress.BERA,[H.Chain.BinanceSmartChain]:H.ContractAddress.BSC,[H.Chain.Ethereum]:H.ContractAddress.ETH,[H.Chain.Gnosis]:H.ContractAddress.GNO,[H.Chain.Optimism]:H.ContractAddress.OP,[H.Chain.Polygon]:H.ContractAddress.MATIC}});var c1;var g1=l(()=>{c1=[{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 Z5({provider:T,...f}){let Z=await wy(Xy.Chain.Ethereum)({provider:T,...f});async function y(L,X="0x5ba1e12693dc8f9c48aad8770482f4739beed696",J="aggregate",x=Xy.FeeOption.Fast){let Q=await Z.createContractTxObject({contractAddress:X,abi:c1,funcName:J,funcParams:[L]});return Z.sendTransaction({...Q,feeOptionKey:x})}return{...Z,multicall:y}}function wy(T){return async function f({provider:Z,...y}){let L=Xy.SKConfig.get("rpcUrls")[T],X=Z||await oy(T,L),J=f0(T),x=PT.match(y).with({phrase:PT.P.string},({phrase:q})=>t1.HDNodeWallet.fromPhrase(q).connect(X)).with({signer:PT.P.any},({signer:q})=>q).otherwise(()=>{return});return{...sy({provider:X,signer:x,isEIP1559Compatible:J,chain:T}),getNetworkParams:T0(T),getBalance:IT(T).getBalance}}}var Xy,t1,PT,J5,x5,Q5,q5,z5,M5,G5,B5;var y0=l(()=>{Xy=require("@swapkit/helpers"),t1=require("ethers"),PT=require("ts-pattern");L5();g1();lT();ET();J5=wy(Xy.Chain.Arbitrum),x5=wy(Xy.Chain.Aurora),Q5=wy(Xy.Chain.Avalanche),q5=wy(Xy.Chain.Base),z5=wy(Xy.Chain.Berachain),M5=wy(Xy.Chain.BinanceSmartChain),G5=wy(Xy.Chain.Gnosis),B5=wy(Xy.Chain.Polygon)});var d1;var i1=l(()=>{d1=[{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 L0(T){return new W5.Contract(b2,d1,T)}function vT(T){return function f(){let Z=L0(T);if(Z&&"l1BaseFee"in Z)return Z?.l1BaseFee();return}}function a1(T){return async function f({from:Z,to:y,nonce:L,...X}){let{Transaction:J}=await import("ethers");if(!y)throw new yy.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return J.from({...X,authorizationList:X.authorizationList,to:y,nonce:L?L:Z?await T.getTransactionCount(Z):0}).serialized}}function s1(T){return async function f(Z){let y=L0(T),L=await a1(T)(Z);if(y&&"getL1Fee"in y)return y.getL1Fee(L)}}function e1(T){return async function f(Z){let y=await T.send("eth_gasPrice",[]),L=await T.estimateGas(Z);return y.mul(L)}}function u2(T){return async function f(Z){let y=await s1(T)(Z),L=await e1(T)(Z);return y.add(L)}}function Z0(T){return async function f(Z){let y=L0(T),L=await a1(T)(Z);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(L)}}async function H5({provider:T,...f}){let Z=yy.Chain.Optimism,y=yy.SKConfig.get("rpcUrls")[Z],L=T||await oy(Z,y),X=r1.match(f).with({phrase:X0.P.string},({phrase:Q})=>W5.HDNodeWallet.fromPhrase(Q).connect(L)).with({signer:X0.P.any},({signer:Q})=>Q).otherwise(()=>{return}),J=sy({provider:L,signer:X}),x=vT(L);return{...J,estimateL1Gas:Z0(L),estimateL1GasCost:s1(L),estimateL2GasCost:e1(L),estimateTotalGasCost:u2(L),getBalance:IT(yy.Chain.Optimism).getBalance,getL1GasPrice:x,getNetworkParams:j2}}var yy,W5,X0,r1,b2="0x420000000000000000000000000000000000000f",j2=()=>({chainId:yy.ChainId.OptimismHex,chainName:"Optimism",nativeCurrency:{name:"Ethereum",symbol:yy.Chain.Ethereum,decimals:yy.BaseDecimal.ETH},rpcUrls:[yy.SKConfig.get("rpcUrls")[yy.Chain.Optimism]],blockExplorerUrls:[yy.ChainToExplorerUrl[yy.Chain.Optimism]]});var J0=l(()=>{yy=require("@swapkit/helpers"),W5=require("ethers"),X0=require("ts-pattern"),r1=require("ts-pattern");L5();i1();lT();ET()});var x0={};zy(x0,{toChecksumAddress:()=>h1,isStateChangingCall:()=>r5,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getL1GasPriceFetcher:()=>vT,getEvmToolbox:()=>yf,getEstimateGasPrices:()=>by,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>my,getCreateContract:()=>i5,getChecksumAddressFromAsset:()=>n1,evmValidateAddress:()=>d5,estimateL1Gas:()=>Z0,createContract:()=>wT,OPToolbox:()=>H5,MAX_APPROVAL:()=>CT,MATICToolbox:()=>B5,GNOToolbox:()=>G5,ETHToolbox:()=>Z5,BaseEVMToolbox:()=>sy,BSCToolbox:()=>M5,BERAToolbox:()=>z5,BASEToolbox:()=>q5,AVAXToolbox:()=>Q5,AURORAToolbox:()=>x5,ARBToolbox:()=>J5});async function yf(T,f){let Z={...f,provider:f?.provider||await oy(T)};switch(T){case xy.Chain.Arbitrum:return J5(Z);case xy.Chain.Aurora:return x5(Z);case xy.Chain.Avalanche:return Q5(Z);case xy.Chain.Base:return q5(Z);case xy.Chain.Berachain:return z5(Z);case xy.Chain.BinanceSmartChain:return M5(Z);case xy.Chain.Gnosis:return G5(Z);case xy.Chain.Optimism:return H5(Z);case xy.Chain.Polygon:return B5(Z);case xy.Chain.Ethereum:return Z5(Z);default:throw new xy.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var xy;var Y5=l(()=>{xy=require("@swapkit/helpers");lT();y0();J0();ET();y0();J0()});async function oy(T,f){let{JsonRpcProvider:Z}=await import("ethers");return new Z(f||K.SKConfig.get("rpcUrls")[T])}function OT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function s5({provider:T,isEIP1559Compatible:f=!0}){return async function Z({feeOption:y=K.FeeOption.Fast,chain:L,...X}){let x=await by({provider:T,isEIP1559Compatible:f,chain:L})(),Q=await T.estimateGas(X),q=K.AssetValue.from({chain:L}),{gasPrice:z,maxFeePerGas:M,maxPriorityFeePerGas:G}=x[y];if(!f&&z)return q.set(K.SwapKitNumber.fromBigInt(z*Q,q.decimal));if(M&&G){let B=(M+G)*Q;return q.set(K.SwapKitNumber.fromBigInt(B,q.decimal))}throw new K.SwapKitError("toolbox_evm_no_gas_price")}}function T0(T){return()=>K.Chain.Ethereum===T?void 0:{...n2({chain:T}),chainId:K.ChainToHexChainId[T],rpcUrls:[K.SKConfig.get("rpcUrls")[T]],blockExplorerUrls:[K.ChainToExplorerUrl[T]]}}function f0(T){return![K.Chain.Arbitrum,K.Chain.BinanceSmartChain].includes(T)}function n2({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,h2=async({from:T,memo:f="",feeOptionKey:Z=K.FeeOption.Fastest,assetValue:y,abi:L,funcName:X,funcParams:J,contractAddress:x,txOverrides:Q})=>{let{getEvmToolbox:q}=await Promise.resolve().then(() => (Y5(),x0)),z=await q(y.chain),G=(await z.getBalance(T)).find(({symbol:m,chain:e})=>y?m===y.symbol:m===K.AssetValue.from({chain:e})?.symbol),B=(await z.estimateGasPrices())[Z];if(!G)return K.AssetValue.from({chain:y.chain});if(y&&(G.chain!==y.chain||G.symbol!==y?.symbol))return G;let W=L&&X&&J&&x?await z.estimateCall({contractAddress:x,abi:L,funcName:X,funcParams:J,txOverrides:Q}):await z.estimateGasLimit({sender:T,recipient:T,memo:f,assetValue:y}),R="maxFeePerGas"in B,k="gasPrice"in B&&B.gasPrice!==void 0;if(!(B&&(k||R)))throw new K.SwapKitError("toolbox_evm_no_fee_data");let S=R?(B.maxFeePerGas||1n)+(B.maxPriorityFeePerGas||1n):B.gasPrice||1n,u=W*S,d=K.SwapKitNumber.fromBigInt(G.getBaseValue("bigint")).sub(u.toString());return K.AssetValue.from({chain:G.chain,value:d.getValue("string")})};var lT=l(()=>{K=require("@swapkit/helpers");ET()});var Tf;var ff=l(()=>{((Z)=>{Z.Test="goerli";Z.Main="homestead"})(Tf||={})});var Xf={};zy(Xf,{toHexString:()=>OT,toChecksumAddress:()=>h1,isStateChangingCall:()=>r5,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getProvider:()=>oy,getNetworkParams:()=>T0,getL1GasPriceFetcher:()=>vT,getIsEIP1559Compatible:()=>f0,getEvmToolbox:()=>yf,getEvmApi:()=>IT,getEstimateTransactionFee:()=>s5,getEstimateGasPrices:()=>by,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>my,getCreateContract:()=>i5,getChecksumAddressFromAsset:()=>n1,evmValidateAddress:()=>d5,estimateMaxSendableAmount:()=>h2,estimateL1Gas:()=>Z0,createCustomEvmApi:()=>E2,createContract:()=>wT,OPToolbox:()=>H5,MAX_APPROVAL:()=>CT,MATICToolbox:()=>B5,GNOToolbox:()=>G5,EthNetwork:()=>Tf,ETHToolbox:()=>Z5,BaseEVMToolbox:()=>sy,BSCToolbox:()=>M5,BERAToolbox:()=>z5,BASEToolbox:()=>q5,AVAXToolbox:()=>Q5,AURORAToolbox:()=>x5,ARBToolbox:()=>J5});module.exports=_y(Xf);var e5=l(()=>{L5();lT();ff();Y5()});async function p2(T,f,Z){try{let y=await T.query.system?.account?.(Z);if(!y)return[f.set(0)];let{data:{free:L}}=y,X=cy.SwapKitNumber.fromBigInt(BigInt(L.toString()),f.decimal).getValue("string");return[f.set(X)]}catch(y){return console.error("Error fetching substrate balance:",y),[f.set(0)]}}async function m2(T,f,Z){try{let y=await T.query.flip?.account?.(Z);if(!y)return[f.set(0)];let L=y.balance||y.data?.balance;if(!L||L.isEmpty)return[f.set(0)];let X=cy.SwapKitNumber.fromBigInt(BigInt(L.toString()),f.decimal).getValue("string");return[f.set(X)]}catch(y){return console.error("Error fetching chainflip balance:",y),[f.set(0)]}}function Lf(T,f){return function Z(y){let L=cy.AssetValue.from({chain:T});switch(T){case cy.Chain.Chainflip:return m2(f,L,y);default:return p2(f,L,y)}}}var cy;var Zf=l(()=>{cy=require("@swapkit/helpers")});var o2,c2,g2,uy;var Q0=l(()=>{o2={prefix:0,network:"polkadot",displayName:"Polkadot Relay Chain",symbols:["DOT"],decimals:[10],standardAccount:"*25519",website:"https://polkadot.network"},c2={prefix:2112,network:"chainflip",displayName:"Chainflip",symbols:["FLIP"],decimals:[18],standardAccount:"*25519",website:"https://chainflip.io/"},g2={prefix:42,network:"substrate",displayName:"Substrate",symbols:[],decimals:[],standardAccount:"*25519",website:"https://substrate.io/"},uy={DOT:o2,FLIP:c2,GENERIC:g2}});function t2(T,f){switch(T){case t.Chain.Chainflip:return xf(f);case t.Chain.Polkadot:return Jf(f);default:throw new t.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function fT(T){return"address"in T}async function z0(T,f){let{Keyring:Z}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new Z({type:"sr25519",ss58Format:f}).addFromUri(T)}function yX(T,f){let Z=LT.decodeAddress(T);return LT.encodeAddress(Z,f)}function Qf(T,f){return XT.isHex(T)?XT.hexToU8a(T):LT.decodeAddress(T,void 0,f)}function qf(T,f="ss58",Z){if(f==="hex")return XT.u8aToHex(T);return LT.encodeAddress(T,Z)}async function B0({generic:T,chain:f,...Z}){let{ApiPromise:y,WsProvider:L}=await import("@polkadot/api"),X=new L(t.SKConfig.get("rpcUrls")[f]),J=await y.create({provider:X}),x=t.AssetValue.from({chain:f}),Q=T?uy.GENERIC:uy[f],q=await VT.match(Z).with({phrase:VT.P.string},({phrase:z})=>z0(z,uy[f].prefix)).with({signer:VT.P.any},({signer:z})=>z).otherwise(()=>{return});return zf({api:J,signer:q,gasAsset:x,network:Q,chain:f})}var XT,LT,t,VT,Jf=({generic:T=!1,...f}={})=>{return B0({chain:t.Chain.Polkadot,generic:T,...f})},xf=async({generic:T=!1,...f}={})=>{return{...await B0({chain:t.Chain.Chainflip,generic:T,...f})}},M0=(T,f)=>T.rpc.system.accountNextIndex(f),q0=(T,f)=>{try{let Z=Qf(T,f);return qf(Z,"ss58",f),!0}catch(Z){return!1}},G0=(T,{recipient:f,assetValue:Z})=>T.tx.balances?.transferAllowDeath?.(f,Z.getBaseValue("number")),d2=async(T,f,{recipient:Z,assetValue:y,sender:L})=>{let X=G0(T,{recipient:Z,assetValue:y}),J=fT(f);if(!X)return;let x=J?f.address:L;if(!x)throw new t.SwapKitError("core_transaction_invalid_sender_address");let Q=await M0(T,x);return(await X.signAndSend(J?f:x,{signer:J?void 0:f,nonce:Q}))?.toString()},i2=async(T,f,Z,{recipient:y,assetValue:L,sender:X})=>{let J=G0(T,{recipient:y,assetValue:L}),x=fT(f)?f.address:X;if(!x)return;let Q=await J?.paymentInfo(x,{nonce:await M0(T,x)})||{partialFee:0};return Z.set(t.SwapKitNumber.fromBigInt(BigInt(Q.partialFee.toString()),Z.decimal).getValue("string"))},r2=async(T,f)=>{if(f)return T.send(f);return(await T.send()).toString()},a2=async(T,f)=>{return await f.signAsync(T)},s2=(T,f,Z)=>{if(Z)return f.signAndSend(T,Z);return f.signAndSend(T).toString()},e2=async({signer:T,address:f,tx:Z,callback:y,api:L})=>{let X=await M0(L,f);if(y)Z.signAndSend(f,{nonce:X,signer:T},y);return Z.signAndSend(f,{nonce:X,signer:T}).toString()},zf=({api:T,network:f,gasAsset:Z,signer:y,chain:L})=>({api:T,network:f,gasAsset:Z,decodeAddress:Qf,encodeAddress:qf,convertAddress:yX,getBalance:Lf(L||t.Chain.Polkadot,T),createKeyring:(X)=>z0(X,f.prefix),getAddress:(X)=>{let J=X||y;if(!J)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return fT(J)?J.address:void 0},createTransaction:(X)=>G0(T,X),validateAddress:(X)=>q0(X,f.prefix),transfer:(X)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return d2(T,y,X)},estimateTransactionFee:(X)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return i2(T,y,Z,X)},sign:(X)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");if(fT(y))return a2(y,X);throw new t.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},broadcast:r2,signAndBroadcast:({tx:X,callback:J,address:x})=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");if(fT(y))return s2(y,X,J);if(x)return e2({signer:y,address:x,tx:X,callback:J,api:T});throw new t.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")}}),TX=({address:T,chain:f})=>{let{prefix:Z}=f===t.Chain.Polkadot?uy.DOT:uy.FLIP;return q0(T,Z)||q0(T,uy.GENERIC.prefix)};var Mf=l(()=>{XT=require("@polkadot/util"),LT=require("@polkadot/util-crypto"),t=require("@swapkit/helpers"),VT=require("ts-pattern");Zf();Q0()});var W0={};zy(W0,{substrateValidateAddress:()=>TX,isKeyringPair:()=>fT,getSubstrateToolbox:()=>t2,createSubstrateToolbox:()=>B0,createKeyring:()=>z0,SubstrateNetwork:()=>uy,PolkadotToolbox:()=>Jf,ChainflipToolbox:()=>xf,BaseSubstrateToolbox:()=>zf});module.exports=_y(W0);var H0=l(()=>{Mf();Q0()});async function fX({chain:T,txHash:f}){let Z=`${U5(T)}/push/transaction`,y=JSON.stringify({data:f});try{let L=await j.RequestClient.post(Z,{headers:{"Content-Type":"application/json"},body:y});if(L.context.code!==200)throw new j.SwapKitError("toolbox_utxo_broadcast_failed",{error:L.context.error||"Transaction broadcast failed"});return L.data?.transaction_hash||f}catch(L){let X=j.SKConfig.get("rpcUrls")[T];if(X){let J=JSON.stringify({jsonrpc:"2.0",method:"sendrawtransaction",params:[f],id:j1()}),x=await j.RequestClient.post(X,{headers:{"Content-Type":"application/json"},body:J});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}throw L}}function U5(T){return`https://api.blockchair.com/${XX(T)}`}function Gf(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 XX(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 LX(T){try{let{feePerKb:f}=await j.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),Z=f/1000;return Math.max(Z,Gf(T))}catch(f){return Gf(T)}}async function Y0(T,f){let Z=await j.RequestClient.get(`${T}${f?`${T.includes("?")?"&":"?"}key=${f}`:""}`);if(!Z||Z.context.code!==200)throw new j.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return Z.data}async function Yf({address:T,chain:f,apiKey:Z}){if(!T)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Y0(`${U5(f)}/dashboards/address/${T}?transaction_details=true`,Z))[T]}catch(y){return{utxo:[],address:{balance:0,transaction_count:0}}}}async function ZX({address:T,chain:f,apiKey:Z}){return(await Yf({address:T,chain:f,apiKey:Z}))?.address.balance||0}async function Uf({chain:T,apiKey:f,txHash:Z}){if(!Z)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Y0(`${U5(T)}/raw/transaction/${Z}`,f))?.[Z]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function JX({chain:T,address:f,apiKey:Z,offset:y=0,limit:L=30}){return(await Y0(`${U5(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=${L}&offset=${y}`,Z)).map(({is_spent:Q,script_hex:q,block_id:z,transaction_hash:M,index:G,value:B,spending_signature_hex:W})=>({hash:M,index:G,value:B,txHex:W,script_hex:q,is_confirmed:z!==-1,is_spent:Q}))}function xX(T){return T.reduce((f,Z)=>f+Z.value,0)}function Bf(T,f){let Z=[...T].sort((y,L)=>L.value-y.value);if(f){let y=[],L=0;for(let X of Z)if(y.push(X),L+=X.value,L>=f)break;return y}return Z}async function _f({chain:T,address:f,apiKey:Z,targetValue:y,accumulativeValue:L=0,offset:X=0,limit:J=30}){if(!f)throw new j.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let x=await JX({targetValue:y,chain:T,address:f,apiKey:Z,offset:X,limit:J}),q=x.length<J,z=x.filter(({is_spent:k})=>!k),M=xX(z),G=L+M,B=y&&G>=y;if(q||B)return Bf(z,y);let W=await _f({chain:T,address:f,apiKey:Z,offset:X+J,limit:J,accumulativeValue:G,targetValue:y}),R=[...z,...W];return Bf(R,y)}catch(x){return console.error("Failed to fetch unspent UTXOs:",x),[]}}async function QX({address:T,chain:f,apiKey:Z,fetchTxHex:y=!0,targetValue:L}){let X=await _f({chain:f,address:T,apiKey:Z,targetValue:L}),J=[];for(let{hash:x,index:Q,script_hex:q,value:z}of X){let M;if(y)M=await Uf({txHash:x,chain:f,apiKey:Z});J.push({address:T,hash:x,index:Q,txHex:M,value:z,witnessUtxo:{value:z,script:Buffer.from(q,"hex")}})}return J}function qX(T){let f=j.SKConfig.get("apiKeys").blockchair||"";return j.warnOnce(!f,"No Blockchair API key found. Functionality will be limited."),{broadcastTx:(Z)=>fX({txHash:Z,chain:T}),getRawTx:(Z)=>Uf({txHash:Z,chain:T,apiKey:f}),getSuggestedTxFee:()=>LX(T),getBalance:(Z)=>ZX({address:Z,chain:T,apiKey:f}),getAddressData:(Z)=>Yf({address:Z,chain:T,apiKey:f}),getUtxos:(Z)=>QX({...Z,chain:T,apiKey:f})}}function zX(T){return T}function Qy(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 qX(T)}function Ry(){return function T(f){switch(f){case j.Chain.Bitcoin:return Hf.networks.bitcoin;case j.Chain.BitcoinCash:return ZT.default.bitcoincash.main.toBitcoinJS();case j.Chain.Dash:return ZT.default.dash.main.toBitcoinJS();case j.Chain.Litecoin:return ZT.default.litecoin.main.toBitcoinJS();case j.Chain.Dogecoin:{let Z={private:70615956,public:70617039},y=ZT.default.dogecoin.test;return y.versions.bip32=Z,ZT.default.dogecoin.main.toBitcoinJS()}case j.Chain.Zcash:return Wf.networks.zcash;default:throw new j.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}}var Wf,j,Hf,ZT;var Rf=l(()=>{Wf=require("@bitgo/utxo-lib"),j=require("@swapkit/helpers"),Hf=require("bitcoinjs-lib");f5();ZT=U(require("coininfo"))});function D0(T){try{return _5(T),!0}catch(f){return!1}}function k0(T){return _5(T)?.network}function JT(T){let f=_5(T);if(f?.format==="legacy")return T;return BX(f)}function $T(T){let f=_5(T);return WX(f)}function _5(T){try{let f=MX(T);if(f)return f}catch(f){}try{let f=GX(T);if(f)return f}catch(f){}throw new U0.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function MX(T){try{let f=_0.default.decode(T);if(f.length!==21)throw new U0.SwapKitError("toolbox_utxo_invalid_address",{address:T});let Z=f[0],y=Array.prototype.slice.call(f,1);switch(Z){case c.legacy.mainnet.p2pkh:return{hash:y,format:"legacy",network:"mainnet",type:"p2pkh"};case c.legacy.mainnet.p2sh:return{hash:y,format:"legacy",network:"mainnet",type:"p2sh"};case c.legacy.testnet.p2pkh:return{hash:y,format:"legacy",network:"testnet",type:"p2pkh"};case c.legacy.testnet.p2sh:return{hash:y,format:"legacy",network:"testnet",type:"p2sh"};case c.bitpay.mainnet.p2pkh:return{hash:y,format:"bitpay",network:"mainnet",type:"p2pkh"};case c.bitpay.mainnet.p2sh:return{hash:y,format:"bitpay",network:"mainnet",type:"p2sh"};default:return}}catch(f){return}}function GX(T){if(T.indexOf(":")!==-1)try{return Nf(T)}catch(f){}else{let f=["bitcoincash","bchtest","bchreg"];for(let Z of f)try{return Nf(`${Z}:${T}`)}catch(y){}}return}function Nf(T){try{let{hash:f,prefix:Z,type:y}=R0.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(f,0),network:Z==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch(f){return}}function BX(T){let f=c.legacy[T.network][T.type],Z=Buffer.alloc(1+T.hash.length);return Z[0]=f,Z.set(T.hash,1),_0.default.encode(Z)}function WX(T){let f=T.network==="mainnet"?"bitcoincash":"bchtest",Z=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return R0.default.encode(f,Z,y)}var U0,_0,R0,N0,c;var Df=l(()=>{U0=require("@swapkit/helpers"),_0=U(require("bs58check")),R0=U(require("cashaddrjs"));((Z)=>{Z.Mainnet="mainnet";Z.Testnet="testnet"})(N0||={});c={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});var Ny,R5=(T)=>{switch(T){case Ny.Chain.Bitcoin:case Ny.Chain.BitcoinCash:return 550;case Ny.Chain.Dash:case Ny.Chain.Litecoin:return 5500;case Ny.Chain.Dogecoin:return 1e5;case Ny.Chain.Zcash:return 546;default:throw new Ny.SwapKitError("toolbox_utxo_not_supported",{chain:T})}},Dy=({inputs:T,outputs:f,feeRate:Z=1,chain:y=Ny.Chain.Bitcoin,changeAddress:L=""})=>{let X=Math.ceil(Z),J=T[0]&&"address"in T[0]&&T[0].address?KT(T[0].address):"P2PKH",x=T.filter((B)=>jy(B)*X<=B.value),Q=N5+f.reduce((B,W)=>B+FT(W,J),0),q=f.reduce((B,W)=>B+W.value,0),z=Q*X,M=0,G=[];for(let B of x){let W=jy(B),R=X*W;z+=R,M+=B.value,G.push(B);let k=z+q;if(M<k)continue;let S=M-k,u=X*FT({address:"",value:0},J);if(S>u){let d=u+z,m=M-(q+d);if(m>Math.max(jy({})*X,R5(y)))return{inputs:G,outputs:f.concat({value:m,address:L}),fee:d}}return{inputs:G,outputs:f,fee:z}}return{fee:X*xT({inputs:T,outputs:f,feeRate:X})}};var kf=l(()=>{Ny=require("@swapkit/helpers");QT()});function ky(T){let f=Buffer.from(T,"utf8");return I5.script.compile([I5.opcodes.OP_RETURN,f])}var If,I5,HX=1000,N5=10,Of=10,YX=41,UX=107,D5,k5,AT,KT=(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 If.SwapKitError("toolbox_utxo_invalid_address",{address:T})},xT=({inputs:T,outputs:f,feeRate:Z})=>{let y=T[0]&&"address"in T[0]&&T[0].address?KT(T[0].address):"P2PKH",L=T.filter((J)=>J.value>=k5["type"in J?J.type:"P2PKH"]*Math.ceil(Z)).reduce((J,x)=>J+jy(x),0),X=f?.reduce((J,x)=>J+FT(x),0)||AT[y];return N5+L+X},jy=(T)=>{if("type"in T)return k5[T.type];if("address"in T&&T.address)return k5[KT(T.address)];return YX+UX},FT=(T,f)=>{if(T?.script)return Of+T.script.length+(T.script.length>=74?2:1);if(f)return AT[f];return AT.P2PKH};var Cf=l(()=>{If=require("@swapkit/helpers"),I5=require("bitcoinjs-lib");((Z)=>{Z.P2PKH="P2PKH";Z.P2WPKH="P2WPKH"})(D5||={});k5={["P2PKH"]:148,["P2WPKH"]:68},AT={["P2PKH"]:34,["P2WPKH"]:31}});var QT=l(()=>{Rf();Df();kf();Cf()});function w0(){return By.networks.zcash}function Ef(){return{messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
+
`,bech32:void 0,bip32:{public:76067358,private:76066276},pubKeyHash:28,scriptHash:28,wif:128}}function ST(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=w0();try{return By.address.toOutputScript(T,f),!0}catch{let Z=C0.default.decode(T);if(Z.length<21)return!1;let y=Z[0];return y===f.pubKeyHash||y===f.scriptHash}}catch{return!1}}function _X({phrase:T,derivationPath:f}){let Z=O0.mnemonicToSeedSync(T),L=I0.HDKey.fromMasterSeed(Z).derive(f);if(!L.privateKey)throw new r.SwapKitError("toolbox_utxo_invalid_params");let X=Ef(),J=By.ECPair.fromPrivateKey(Buffer.from(L.privateKey),{network:X}),x=By.crypto.hash160(J.publicKey),{isStagenet:Q}=r.SKConfig.get("envs"),q=Q?Buffer.from([29,37]):Buffer.from([28,184]),z=Buffer.concat([q,x]),M=C0.default.encode(z);return{getAddress:()=>Promise.resolve(M),signTransaction:(G)=>{let B=G.signAllInputs(J);return Promise.resolve(B)}}}function RX({inputs:T,outputs:f,psbt:Z,sender:y,compiledMemo:L}){for(let X of T){let J=!!X.witnessUtxo&&{witnessUtxo:{...X.witnessUtxo,value:BigInt(X.value)}},x=!X.witnessUtxo&&{nonWitnessUtxo:X.txHex?Buffer.from(X.txHex,"hex"):void 0};Z.addInput({hash:X.hash,index:X.index,...J,...x})}for(let X of f){let J="address"in X&&X.address?X.address:y,x=X.script;if(x&&!L)continue;let Q=x?{script:L,value:0n}:{script:By.address.toOutputScript(J,w0()),value:BigInt(X.value)};Z.addOutput(Q)}return{psbt:Z,inputs:T}}async function wf(T){let{assetValue:f,recipient:Z,memo:y,feeRate:L,sender:X,fetchTxHex:J}=T,x=y?ky(y):null,Q=await Qy(r.Chain.Zcash).getUtxos({address:X,fetchTxHex:J!==!1}),q=[{address:Z,value:Number(f.getBaseValue("string"))},...x?[{script:x,value:0}]:[]],{inputs:z,outputs:M}=Dy({inputs:Q,outputs:q,feeRate:L,chain:r.Chain.Zcash,changeAddress:X});if(!(z&&M))throw new r.SwapKitError("toolbox_utxo_insufficient_balance",{sender:X,assetValue:f});let G=By.bitgo.createPsbtForNetwork({network:w0()},{version:455});G.setVersion(4,!0);let B=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),W=3370586197,R=Buffer.allocUnsafe(4);R.writeUInt32LE(W>>>0,0),G.addUnknownKeyValToGlobal({key:B,value:R});let{psbt:k,inputs:S}=await RX({inputs:z,outputs:M,psbt:G,sender:X,compiledMemo:x});return{inputs:S,outputs:M,psbt:k}}async function E0(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:x,index:Q=0})=>{let q=x||r.NetworkDerivationPath[r.Chain.Zcash]||[44,133,0,0,0],z=r.updateDerivationPath(q,{index:Q}),M=r.derivationPathToString(z);return _X({phrase:J,derivationPath:M})}).otherwise(()=>Promise.resolve(void 0)),Z=await gy({chain:r.Chain.Zcash,signer:f});async function y({recipient:J,assetValue:x,feeOptionKey:Q=r.FeeOption.Fast,...q}){let z=await f?.getAddress();if(!(f&&z))throw new r.SwapKitError("toolbox_utxo_no_signer");let M=q.feeRate||(await Z.getFeeRates())[Q],{psbt:G}=await wf({...q,assetValue:x,feeRate:M,recipient:J,sender:z}),B=await f.signTransaction(G);return B.finalizeAllInputs(),Z.broadcastTx(B.extractTransaction().toHex())}function L({phrase:J,derivationPath:x="m/44'/133'/0'/0/0"}){let Q=O0.mnemonicToSeedSync(J),z=I0.HDKey.fromMasterSeed(Q).derive(x);if(!z.privateKey)throw new r.SwapKitError("toolbox_utxo_invalid_params");let M=Ef();return By.ECPair.fromPrivateKey(Buffer.from(z.privateKey),{network:M})}function X({phrase:J,derivationPath:x="m/44'/133'/0'/0/0"}){return L({phrase:J,derivationPath:x}).toWIF()}return{...Z,transfer:y,createTransaction:wf,createKeysForPath:L,getPrivateKeyFromMnemonic:X,validateAddress:ST}}var By,I0,O0,r,C0,qT;var bT=l(()=>{By=require("@bitgo/utxo-lib"),I0=require("@scure/bip32"),O0=require("@scure/bip39"),r=require("@swapkit/helpers"),C0=U(require("bs58check")),qT=require("ts-pattern");QT();uT()});function lf({inputs:T,outputs:f,chain:Z,psbt:y,sender:L,compiledMemo:X}){for(let J of T){let x=!!J.witnessUtxo&&!jT.includes(Z)&&{witnessUtxo:J.witnessUtxo},Q=jT.includes(Z)&&{nonWitnessUtxo:J.txHex?Buffer.from(J.txHex,"hex"):void 0};y.addInput({hash:J.hash,index:J.index,...x,...Q})}for(let J of f){let x="address"in J&&J.address?J.address:L,Q=J.script;if(Q&&!X)continue;let q=Q?{script:X,value:0}:{address:x,value:J.value};Iy.initEccLib(O5.default),y.addOutput(q)}return{psbt:y,inputs:T}}async function Vf({assetValue:T,recipient:f,memo:Z,feeRate:y,sender:L,fetchTxHex:X=!1}){let J=T.chain,x=Z?await ky(Z):null,Q=await Kf({assetValue:T,recipient:f,memo:Z,sender:L,fetchTxHex:X}),{inputs:q,outputs:z}=Dy({...Q,feeRate:y,chain:J});if(!(q&&z))throw new $.SwapKitError("toolbox_utxo_insufficient_balance",{sender:L,assetValue:T});let M=await Ry(),G=new Iy.Psbt({network:M(J)});if(J===$.Chain.Dogecoin)G.setMaximumFeeRate(650000000);let{psbt:B,inputs:W}=await lf({inputs:q,outputs:z,chain:J,psbt:G,sender:L,compiledMemo:x});return{psbt:B,utxos:Q.inputs,inputs:W}}async function $f(){let T=await Ry();return function f({address:Z,chain:y}){if(y===$.Chain.BitcoinCash)return ty(Z);if(y===$.Chain.Zcash)return ST(Z);try{return Iy.initEccLib(O5.default),Iy.address.toOutputScript(Z,T(y)),!0}catch(L){return!1}}}async function NX({chain:T,phrase:f,derivationPath:Z}){let y=(await hT(T))({phrase:f,derivationPath:Z});async function L(J){return await J.signAllInputs(y),J}async function X(){return(await P0(T))(y)}return{getAddress:X,signTransaction:L}}async function gy({chain:T,...f}){let Z="phrase"in f?f.phrase:void 0,y="index"in f?f.index||0:0,L=$.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:$.updateDerivationPath($.NetworkDerivationPath[T],{index:y})),X=Z?await NX({chain:T,phrase:Z,derivationPath:L}):("signer"in f)?f.signer:void 0;function J(){return Promise.resolve(X?.getAddress())}let x=await P0(T),Q=await $f(),q=await hT(T);return{accumulative:Dy,calculateTxSize:xT,getAddressFromKeys:x,getAddress:J,validateAddress:(z)=>Q({address:z,chain:T}),broadcastTx:(z)=>Qy(T).broadcastTx(z),createTransaction:Vf,createKeysForPath:q,getFeeRates:()=>nT(T),getInputsOutputsFee:Ff,transfer:IX(X),getPrivateKeyFromMnemonic:(z)=>{return q(z).toWIF()},getBalance:T5(T),estimateTransactionFee:kX(T),estimateMaxSendableAmount:DX(T)}}async function Ff({assetValue:T,feeOptionKey:f=$.FeeOption.Fast,feeRate:Z,memo:y,sender:L,recipient:X}){let J=T.chain,x=await Kf({assetValue:T,sender:L,memo:y,recipient:X}),Q=Z?Math.floor(Z):(await nT(J))[f];return Dy({...x,feeRate:Q,chain:J})}function DX(T){return async function f({from:Z,memo:y,feeRate:L,feeOptionKey:X=$.FeeOption.Fast,recipients:J=1}){let x=await Qy(T).getAddressData(Z),Q=L?Math.ceil(L):(await nT(T))[X],q=x?.utxo.map((W)=>({...W,type:"P2PKH",hash:""})).filter((W)=>W.value>Math.max(R5(T),jy(W)*Q));if(!q?.length)return $.AssetValue.from({chain:T});let z=$.AssetValue.from({chain:T,value:q.reduce((W,R)=>W+R.value,0)}),M=typeof J==="number"?Array.from({length:J},()=>({address:Z,value:0})):J;if(y){let W=await ky(y);M.push({address:Z,script:W,value:0})}let B=xT({inputs:q,outputs:M,feeRate:Q})*Q;return z.sub(B)}}function kX(T){return async(f)=>{let Z=await Ff(f);return $.AssetValue.from({chain:T,value:$.SwapKitNumber.fromBigInt(BigInt(Z.fee),8).getValue("string")})}}async function hT(T){let f=await Ry();switch(T){case $.Chain.BitcoinCash:return function Z({phrase:y,derivationPath:L=`${$.DerivationPath.BCH}/0`,wif:X}){let J=f(T);if(X)return C5.ECPair.fromWIF(X,J);if(!y)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return C5.HDNode.fromSeedBuffer(Buffer.from(v0.mnemonicToSeedSync(y)),J).derivePath(L).keyPair};case $.Chain.Bitcoin:case $.Chain.Dogecoin:case $.Chain.Litecoin:case $.Chain.Zcash:case $.Chain.Dash:return function Z({phrase:y,wif:L,derivationPath:X}){if(!(L||y))throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let J=vf.ECPairFactory(O5.default),x=f(T);if(L)return J.fromWIF(L,x);let Q=v0.mnemonicToSeedSync(y),q=Pf.HDKey.fromMasterSeed(Q,x).derive(X);if(!q.privateKey)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return J.fromPrivateKey(Buffer.from(q.privateKey),{network:x})};default:throw new $.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}async function P0(T){let f=await Ry();return function Z(y){if(!y)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let L=jT.includes(T)?Iy.payments.p2pkh:Iy.payments.p2wpkh,{address:X}=L({pubkey:y.publicKey,network:f(T)});if(!X)throw new $.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return X}}function IX(T){return async function f({memo:Z,recipient:y,feeOptionKey:L,feeRate:X,assetValue:J}){let x=await T?.getAddress(),Q=J.chain;if(!(T&&x))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 nT(Q))[L||$.FeeOption.Fast],{psbt:z}=await Vf({recipient:y,feeRate:q,sender:x,assetValue:J,memo:Z}),M=await T.signTransaction(z);return M.finalizeAllInputs(),Qy(Q).broadcastTx(M.extractTransaction().toHex())}}async function nT(T){let f=await Qy(T).getSuggestedTxFee();return{[$.FeeOption.Average]:f,[$.FeeOption.Fast]:$.applyFeeMultiplier(f,$.FeeOption.Fast),[$.FeeOption.Fastest]:$.applyFeeMultiplier(f,$.FeeOption.Fastest)}}async function Kf({assetValue:T,recipient:f,memo:Z,sender:y,fetchTxHex:L=!1}){let X=T.chain,J=(await nT(X))[$.FeeOption.Fastest],x=L||jT.includes(X),Q=T.getBaseValue("number"),q=Math.ceil(Q+J*5000);return{inputs:await Qy(X).getUtxos({address:y,fetchTxHex:x,targetValue:q}),outputs:[{address:f,value:Q},...Z?[{address:"",script:await ky(Z),value:0}]:[]]}}var $,Iy,vf,O5,C5,Pf,v0,jT;var uT=l(()=>{$=require("@swapkit/helpers"),Iy=require("bitcoinjs-lib"),vf=require("ecpair");f5();QT();pT();O5=U(require("@bitcoinerlab/secp256k1")),C5=require("@psf/bitcoincashjs-lib"),Pf=require("@scure/bip32"),v0=require("@scure/bip39");bT();jT=[$.Chain.Dash,$.Chain.Dogecoin]});function zT(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function ty(T){let f=zT(T);return D0(f)&&k0(f)==="mainnet"}function dy(T){return zT($T(T))}async function OX(T){async function f({builder:y,utxos:L}){return L.forEach((X,J)=>{y.sign(J,T,void 0,65,X.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(dy(y))},signTransaction:f}}async function l0(T){let f="phrase"in T?T.phrase:void 0,Z="index"in T?T.index||0:0,y=Ty.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:Ty.updateDerivationPath(Ty.NetworkDerivationPath[Uy],{index:Z})),L=f?(await hT(Uy))({phrase:f,derivationPath:y}):void 0,X=L?await OX(L):("signer"in T)?T.signer:void 0;function J(){return Promise.resolve(X?.getAddress())}let{getBalance:x,getFeeRates:Q,broadcastTx:q,...z}=await gy({chain:Uy});function M(G,B=!0){return x(zT($T(G)))}return{...z,getAddress:J,broadcastTx:q,createTransaction:Sf,buildTx:wX,getAddressFromKeys:EX,getBalance:M,getFeeRates:Q,stripPrefix:zT,stripToCashAddress:dy,validateAddress:ty,transfer:CX({getFeeRates:Q,broadcastTx:q,signer:X})}}async function Sf({assetValue:T,recipient:f,memo:Z,feeRate:y,sender:L}){if(!ty(f))throw new Ty.SwapKitError("toolbox_utxo_invalid_address",{address:f});let X=Math.ceil(T.getBaseValue("number")+y*7500),J=await Qy(Uy).getUtxos({address:dy(L),fetchTxHex:!0,targetValue:X}),x=Z?await ky(Z):null,Q=[];Q.push({address:f,value:T.getBaseValue("number")});let{inputs:q,outputs:z}=Dy({inputs:J,outputs:Q,feeRate:y,chain:Uy});if(!(q&&z))throw new Ty.SwapKitError("toolbox_utxo_insufficient_balance",{sender:L,assetValue:T});let M=await Ry(),G=new MT.TransactionBuilder(M(Uy));await Promise.all(q.map(async(B)=>{let W=await Qy(Uy).getRawTx(B.hash);G.addInput(MT.Transaction.fromBuffer(Buffer.from(W,"hex")),B.index)}));for(let B of z){let W="address"in B&&B.address?B.address:JT(L),R=await Ry(),k=MT.address.toOutputScript(JT(W),R(Uy));G.addOutput(k,B.value)}if(x)G.addOutput(x,0);return{builder:G,utxos:q}}function CX({broadcastTx:T,getFeeRates:f,signer:Z}){return async function y({recipient:L,assetValue:X,feeOptionKey:J=Ty.FeeOption.Fast,...x}){let Q=await Z?.getAddress();if(!(Z&&Q))throw new Ty.SwapKitError("toolbox_utxo_no_signer");if(!L)throw new Ty.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let q=x.feeRate||(await f())[J],{builder:z,utxos:M}=await Sf({...x,assetValue:X,feeRate:q,recipient:L,sender:Q}),B=(await Z.signTransaction({builder:z,utxos:M})).toHex();return T(B)}}async function wX({assetValue:T,recipient:f,memo:Z,feeRate:y,sender:L,setSigHashType:X}){let J=$T(f);if(!ty(J))throw new Ty.SwapKitError("toolbox_utxo_invalid_address",{address:J});let x=Math.ceil(T.getBaseValue("number")+y*7500),Q=await Qy(Uy).getUtxos({address:dy(L),fetchTxHex:!1,targetValue:x}),q=Number(y.toFixed(0)),z=Z?await ky(Z):null,M=[];if(M.push({address:JT(f),value:T.getBaseValue("number")}),z)M.push({script:z,value:0});let{inputs:G,outputs:B}=Dy({inputs:Q,outputs:M,feeRate:q,chain:Uy});if(!(G&&B))throw new Ty.SwapKitError("toolbox_utxo_insufficient_balance",{sender:L,assetValue:T});let W=await Ry(),R=new Af.Psbt({network:W(Uy)});for(let{hash:k,index:S,witnessUtxo:u}of G)R.addInput({hash:k,index:S,witnessUtxo:u,sighashType:X?65:void 0});for(let k of B){let S="address"in k&&k.address?k.address:JT(L),u=k.script?z?{script:z,value:0}:void 0:{address:S,value:k.value};if(u)R.addOutput(u)}return{psbt:R,utxos:Q,inputs:G}}function EX(T){let f=T.getAddress(0);return dy(f)}var MT,Ty,Af,Uy;var pT=l(()=>{MT=require("@psf/bitcoincashjs-lib"),Ty=require("@swapkit/helpers"),Af=require("bitcoinjs-lib");QT();uT();Uy=Ty.Chain.BitcoinCash});async function vX(T,f){switch(T){case Ey.Chain.BitcoinCash:return await l0(f||{});case Ey.Chain.Zcash:return await E0(f);case Ey.Chain.Bitcoin:case Ey.Chain.Dogecoin:case Ey.Chain.Litecoin:case Ey.Chain.Dash:return await gy({chain:T,...f});default:throw new Ey.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var Ey;var bf=l(()=>{Ey=require("@swapkit/helpers");pT();uT();bT();pT();bT()});var V0={};zy(V0,{validateZcashAddress:()=>ST,toLegacyAddress:()=>JT,toCashAddress:()=>$T,stripToCashAddress:()=>dy,stripPrefix:()=>zT,nonSegwitChains:()=>jT,isValidAddress:()=>D0,getUtxoToolbox:()=>vX,getUtxoNetwork:()=>Ry,getUtxoApi:()=>Qy,getUTXOAddressValidator:()=>$f,getScriptTypeForAddress:()=>KT,getOutputSize:()=>FT,getInputSize:()=>jy,getDustThreshold:()=>R5,getCreateKeysForPath:()=>hT,detectAddressNetwork:()=>k0,createZcashToolbox:()=>E0,createUTXOToolbox:()=>gy,createCustomUtxoApi:()=>zX,createBCHToolbox:()=>l0,compileMemo:()=>ky,calculateTxSize:()=>xT,bchValidateAddress:()=>ty,addressFromKeysGetter:()=>P0,addInputsAndOutputs:()=>lf,accumulative:()=>Dy,UtxoNetwork:()=>N0,UTXOScriptType:()=>D5,TX_OVERHEAD:()=>N5,OutputSizes:()=>AT,OP_RETURN_OVERHEAD:()=>Of,MIN_TX_FEE:()=>HX,InputSizes:()=>k5});module.exports=_y(V0);var $0=l(()=>{bf();pT();uT();bT();QT()});async function PX(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 lX(T){let f=await iy(),{PublicKey:Z}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),L=new Z(T),X=[],J=await f.getBalance(L);if(J>0)X.push(h.AssetValue.from({chain:h.Chain.Solana,value:J,fromBaseDecimal:h.BaseDecimal[h.Chain.Solana]}));let x=await f.getParsedTokenAccountsByOwner(L,{programId:y});for(let{account:Q}of x.value){let q=Q.data.parsed.info,z=q.mint,M=q.tokenAmount.amount;if(Number(M)===0)continue;let G=await PX(z),B=G?.symbol||"UNKNOWN",W=G?.decimals||q.tokenAmount.decimals;X.push(h.AssetValue.from({asset:`${h.Chain.Solana}.${B}-${z}`,value:M,fromBaseDecimal:W}))}return X}async function S0(){let{PublicKey:T}=await import("@solana/web3.js");return(f)=>{try{let Z=new T(f);return T.isOnCurve(Z.toBytes())}catch(Z){return!1}}}async function VX(T){let f=T&&"index"in T?T.index||0:0,Z=h.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:h.updateDerivationPath(h.NetworkDerivationPath[h.Chain.Solana],{index:f})),y=await jf.match(T).with({phrase:F0.P.string},({phrase:X})=>A0({phrase:X,derivationPath:Z})).with({signer:F0.P.any},({signer:X})=>X).otherwise(()=>{return});function L(){return y?.publicKey?uf(y.publicKey):""}return{getConnection:iy,getAddress:L,createKeysForPath:A0,getAddressFromPubKey:uf,getPubkeyFromAddress:u0,createTransaction:b0(iy),createTransactionFromInstructions:AX,getBalance:(X)=>{let J=X||L();if(!J)throw new h.SwapKitError("core_wallet_connection_not_found");return lX(J)},transfer:SX(iy,y),broadcastTransaction:K0(iy),getAddressValidator:S0,signTransaction:bX(iy,y),estimateTransactionFee:$X(iy)}}function $X(T){return async({recipient:f,assetValue:Z,memo:y,isProgramDerivedAddress:L,sender:X})=>{let J=await T(),Q=(await b0(T)({recipient:f,assetValue:Z,memo:y,isProgramDerivedAddress:L,sender:X})).compileMessage(),q=await J.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 iy(){let{Connection:T}=await import("@solana/web3.js");return new T(h.SKConfig.get("rpcUrls").SOL,"confirmed")}function FX(T){return async({assetValue:f,recipient:Z,sender:y,isProgramDerivedAddress:L})=>{let X=await T(),J=await u0(y);if(f.isGasAsset){let{Transaction:x,SystemProgram:Q,PublicKey:q}=await import("@solana/web3.js");return new x().add(Q.transfer({fromPubkey:J,lamports:f.getBaseValue("number"),toPubkey:new q(Z)}))}if(f.address)return KX({amount:f.getBaseValue("number"),connection:X,decimals:f.decimal,from:J,recipient:Z,tokenAddress:f.address,isProgramDerivedAddress:L});return}}async function KX({tokenAddress:T,recipient:f,from:Z,connection:y,amount:L,decimals:X,isProgramDerivedAddress:J}){let{getAssociatedTokenAddress:x,getAccount:Q,createAssociatedTokenAccountInstruction:q,createTransferCheckedInstruction:z}=await import("@solana/spl-token"),{Transaction:M,PublicKey:G}=await import("@solana/web3.js"),B=new M,W=new G(T),R=await x(W,Z),k=new G(f),S=await x(W,k,J),u=!1;try{await Q(y,S),u=!0}catch(d){}if(!u)B.add(q(Z,S,k,W));return B.add(z(R,W,S,Z,L,X)),B}function b0(T){return async({recipient:f,assetValue:Z,memo:y,isProgramDerivedAddress:L,sender:X})=>{let{createMemoInstruction:J}=await import("@solana/spl-memo"),x=await u0(X),Q=await S0();if(!(L||Q(f)))throw new h.SwapKitError("core_transaction_invalid_recipient_address");let q=await T(),z=await FX(T)({assetValue:Z,recipient:f,sender:X,isProgramDerivedAddress:L});if(!z)throw new h.SwapKitError("core_transaction_invalid_sender_address");if(y)z.add(J(y));let M=await q.getLatestBlockhash();return z.recentBlockhash=M.blockhash,z.feePayer=x,z}}async function AX({instructions:T}){let{Transaction:f}=await import("@solana/web3.js"),Z=new f().add(...T);if(!Z)throw new h.SwapKitError("core_transaction_invalid_sender_address");return Z}function SX(T,f){return async({recipient:Z,assetValue:y,memo:L,isProgramDerivedAddress:X})=>{if(!f)throw new h.SwapKitError("core_transaction_invalid_sender_address");let J=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),x=await b0(T)({recipient:Z,assetValue:y,memo:L,isProgramDerivedAddress:X,sender:J});if("connect"in f){let Q=await f.signTransaction(x);return K0(T)(Q)}return x.sign(f),K0(T)(x)}}function K0(T){return async(f)=>{return(await T()).sendRawTransaction(f.serialize())}}function bX(T,f){return async(Z)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!f)throw new h.SwapKitError("toolbox_solana_no_signer");if(!(Z instanceof y)){let X=await(await T()).getLatestBlockhash();Z.recentBlockhash=X.blockhash,Z.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(Z);return await Z.sign([f]),Z}}async function A0({phrase:T,derivationPath:f=h.DerivationPath.SOL}){let{HDKey:Z}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:L}=await import("@solana/web3.js"),X=y(T),J=Z.fromMasterSeed(X);return L.fromSeed(J.derive(f,!0).privateKey)}function uf(T){return T.toString()}async function u0(T){let{PublicKey:f}=await import("@solana/web3.js");return new f(T)}var h,F0,jf;var hf=l(()=>{h=require("@swapkit/helpers"),F0=require("ts-pattern"),jf=require("ts-pattern")});var j0={};zy(j0,{getSolanaToolbox:()=>VX,getSolanaAddressValidator:()=>S0,createKeysForPath:()=>A0});module.exports=_y(j0);var h0=l(()=>{hf()});async function mT(){let{validateAccountId:T}=await import("near-sdk-js");return(f)=>{try{return T(f)}catch{let Z=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return f.length>=2&&f.length<=64&&Z.test(f)}}}async function E5(T){let{parseSeedPhrase:f}=await import("near-seed-phrase"),{KeyPair:Z}=await import("near-api-js"),y=T.index||0,L=T.derivationPath?w5.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:X}=f(T.phrase,L),J=Z.fromString(X);return mf(J)}async function n0(T){let{KeyPair:f}=await import("near-api-js/lib/utils"),Z=f.fromString(T);return mf(Z)}function mf(T){return new pf(T)}async function v5(T,f){let y=(await T.query({request_type:"view_access_key_list",finality:"final",account_id:f})).keys.find((x)=>x.access_key.permission==="FullAccess");if(!y)throw new w5.SwapKitError("toolbox_near_invalid_address");let{utils:L}=await import("near-api-js"),X=L.PublicKey.fromString(y.public_key),J=y.access_key.nonce||0;return{publicKey:X,nonce:J}}var w5,nf,pf;var p0=l(()=>{w5=require("@swapkit/helpers"),nf=require("near-api-js");pf=class pf extends nf.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 m0(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function o0(T){return"contractId"in T&&"methodName"in T}function c0(T){return"actions"in T}function g0(T){return"newAccountId"in T}function t0(T){return"contractCode"in T}function d0(T){return"customEstimator"in T}function i0(T){let f=0;for(let Z of T)switch(Z.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 r0(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 uX(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function jX(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var fy;var a0=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 P5({account:T,contractId:f,viewMethods:Z,changeMethods:y}){let{Contract:L}=await import("near-api-js");return new L(T,f,{viewMethods:Z,changeMethods:y,useLocalViewExecution:!0})}async function s0({contractId:T,account:f}){let Z=(await import("bn.js")).default,y=await P5({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"]}),L=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 Z("100000000000000"),new Z(Q))}};return{transfer:async(X,J,x)=>{return await L(X),y.ft_transfer({receiver_id:X,amount:J,memo:x},new Z("100000000000000"),new Z("1"))},transferCall:async(X,J,x,Q)=>{return await L(X),y.ft_transfer_call({receiver_id:X,amount:J,memo:Q,msg:x},new Z("100000000000000"),new Z("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,J)=>y.storage_deposit({account_id:X},new Z("100000000000000"),new Z(J||"1250000000000000000000")),ensureStorage:L,contract:y}}async function hX(T){let{P:f,match:Z}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),L=await Z(T).with({phrase:f.string},async(E)=>{return await E5(E)}).with({signer:f.any},({signer:E})=>E).otherwise(()=>{return}),X=b.SKConfig.get("rpcUrls")[b.Chain.Near],J=new y.JsonRpcProvider({url:X});async function x(E){let{Account:Y}=await import("near-api-js"),D=E||await Q();return new Y(D,J,L)}async function Q(){if(!L)throw new b.SwapKitError("toolbox_near_no_signer");return await L.getAddress()}async function q(E){if(!L)throw new b.SwapKitError("toolbox_near_no_signer");let{recipient:Y,assetValue:D}=E;if(!(await mT())(Y))throw new b.SwapKitError("toolbox_near_invalid_address");let V=await x();if(D.isGasAsset===!1){let v=D.address;if(!v)throw new b.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 b.SwapKitError("toolbox_near_transfer_failed",{error:v})}}async function z(E){let{recipient:Y,assetValue:D,memo:C,feeRate:V,attachedDeposit:v,sender:A}=E,i=await mT();if(!i(Y))throw new b.SwapKitError("toolbox_near_invalid_address",{address:Y});if(!i(A))throw new b.SwapKitError("toolbox_near_invalid_address",{address:A});if(!D.isGasAsset){let dT=D.address;if(!dT)throw new b.SwapKitError("toolbox_near_missing_contract_address");return M({sender:A,contractId:dT,methodName:"ft_transfer",args:{receiver_id:Y,amount:D.getBaseValue("string"),memo:C||null},gas:V.toString()||"100000000000000",attachedDeposit:"1"})}let{publicKey:o,nonce:g}=await v5(J,A),qy=D.getBaseValue("bigint"),{SCHEMA:Zy}=await import("near-api-js/lib/transaction"),{transactions:Wy,utils:Hy}=await import("near-api-js"),ny=[Wy.transfer(qy)];if(C&&v)ny.push(Wy.functionCall("memo",{memo:C},BigInt(V),BigInt(v)));let cT=await J.block({finality:"final"}),gT=Hy.serialize.base_decode(cT.header.hash),ry=Wy.createTransaction(A,o,Y,g,ny,gT),tT=Hy.serialize.serialize(Zy.Transaction,ry);return{serialized:Buffer.from(tT).toString("base64"),publicKey:o.toString(),details:{signerId:A,nonce:g,blockHash:Hy.serialize.base_encode(gT)}}}async function M(E){let{sender:Y}=E,{publicKey:D,nonce:C}=await v5(J,Y),{SCHEMA:V}=await import("near-api-js/lib/transaction"),{transactions:v,utils:A}=await import("near-api-js"),i=await J.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,C,g,o),Zy=A.serialize.serialize(V.Transaction,qy);return{serialized:Buffer.from(Zy).toString("base64"),publicKey:D.toString(),details:{signerId:Y,receiverId:E.contractId,methodName:E.methodName,nonce:C,blockHash:A.serialize.base_encode(o)}}}async function G(E){if(!L)throw new b.SwapKitError("toolbox_near_no_signer");let[Y,D]=await L.signTransaction(E);return D}async function B(E){return(await J.sendTransaction(E)).transaction.hash}async function W(E){if("assetValue"in E){let V=BigInt("115123062500")+BigInt("108059500000"),v=await R(),A=V*BigInt(v.toString());return b.AssetValue.from({chain:b.Chain.Near,value:A.toString(),fromBaseDecimal:b.BaseDecimal[b.Chain.Near]})}let Y=L?await x():void 0;return a(E,Y)}async function R(){try{return await J.query({request_type:"call_function",finality:"final",account_id:"system",method_name:"gas_price",args_base64:""})}catch{return"100000000"}}async function k(E,Y,D){if(!L)throw new b.SwapKitError("toolbox_near_no_signer");let C=await x(),{utils:V}=await import("near-api-js"),v=V.format.parseNearAmount(D)||"0";return(await C.createAccount(E,V.PublicKey.fromString(Y),BigInt(v))).transaction.hash}async function S(E){try{if(!L)throw new b.SwapKitError("toolbox_near_no_signer");let{transactions:Y}=await import("near-api-js"),{contractId:D,methodName:C,args:V,deposit:v}=E,A=await x(),i=await a({methodName:C,args:V||{},contractId:D}),o=Y.functionCall(C,V||{},i.getBaseValue("bigint"),BigInt(v||"0"));return(await A.signAndSendTransaction({receiverId:D,actions:[o]})).transaction_outcome.id}catch(Y){throw new b.SwapKitError("toolbox_near_transfer_failed",{error:Y})}}async function u(E){let Y=await x();return P5({account:Y,contractId:E.contractId,viewMethods:E.viewMethods,changeMethods:E.changeMethods})}async function d(E){if(!L)throw new b.SwapKitError("toolbox_near_no_signer");if(E.actions.length===0)throw new b.SwapKitError("toolbox_near_empty_batch");return(await(await x()).signAndSendTransaction({receiverId:E.receiverId,actions:E.actions})).transaction.hash}async function m(E){let Y=await x();return s0({contractId:E,account:Y})}async function e(E){try{let Y=await x(E),D;try{let C=await Y.getBalance();D=b.AssetValue.from({chain:b.Chain.Near,value:C,fromBaseDecimal:b.BaseDecimal[b.Chain.Near]})}catch{D=b.AssetValue.from({chain:b.Chain.Near,value:"0",fromBaseDecimal:b.BaseDecimal[b.Chain.Near]})}return[D]}catch(Y){throw new b.SwapKitError("toolbox_near_balance_failed",{error:Y})}}async function a(E,Y){let D=await Z(E).when(m0,()=>fy.SIMPLE_TRANSFER).when(o0,(A)=>r0(A.methodName)).when(c0,(A)=>i0(A.actions)).when(g0,()=>fy.ACCOUNT_CREATION).when(t0,()=>fy.CONTRACT_DEPLOYMENT).when(d0,(A)=>{if(!Y)throw new b.SwapKitError("toolbox_near_no_account");return A.customEstimator(Y)}).otherwise(()=>{throw new b.SwapKitError("toolbox_near_invalid_gas_params")}),C=await Ly(),v=BigInt(D)*BigInt(1000000000000)*BigInt(C);return b.AssetValue.from({chain:b.Chain.Near,value:v,fromBaseDecimal:b.BaseDecimal[b.Chain.Near]})}async function Ly(){try{return(await J.gasPrice(null)).gas_price||"100000000"}catch(E){return"100000000"}}return{getAddress:Q,getPublicKey:async()=>L?(await L.getPublicKey()).toString():"",provider:J,transfer:q,createTransaction:z,createContractFunctionCall:M,estimateTransactionFee:W,broadcastTransaction:B,signTransaction:G,getBalance:e,validateAddress:await mT(),getSignerFromPhrase:(E)=>E5(E),getSignerFromPrivateKey:n0,callFunction:S,createSubAccount:k,createContract:u,executeBatchTransaction:d,nep141:m,getGasPrice:Ly,estimateGas:a}}var b;var e0=l(()=>{b=require("@swapkit/helpers");p0();a0()});var of=l(()=>{e0()});var y1={};zy(y1,{tgasToGas:()=>uX,isSimpleTransfer:()=>m0,isCustomEstimator:()=>d0,isContractDeployment:()=>t0,isContractCall:()=>o0,isBatchTransaction:()=>c0,isAccountCreation:()=>g0,getValidateNearAddress:()=>mT,getNearToolbox:()=>hX,getNearSignerFromPrivateKey:()=>n0,getNearSignerFromPhrase:()=>E5,getFullAccessPublicKey:()=>v5,getContractMethodGas:()=>r0,gasToTGas:()=>jX,estimateBatchGas:()=>i0,createNearContract:()=>P5,createNEP141Token:()=>s0,GAS_COSTS:()=>fy});module.exports=_y(y1);var T1=l(()=>{e0();of();p0();a0()});var X1={};zy(X1,{rippleValidateAddress:()=>f1,hashes:()=>gf.hashes,getRippleToolbox:()=>pX});module.exports=_y(X1);function cf(T){let f=hy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(f.address),signTransaction:(Z)=>Promise.resolve(f.sign(Z))}}function f1(T){return hy.isValidAddress(T)}var n,hy,gf,nX,pX=async(T={})=>{let f="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?cf(T.phrase):void 0,Z=n.SKConfig.get("rpcUrls")[n.Chain.Ripple];if(!Z)throw new n.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:n.Chain.Ripple}});let y=new hy.Client(Z);await y.connect();let L=()=>{if(!f)throw new n.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.getAddress()},X=async(G)=>{let B=G||await L();try{let R=(await y.request({command:"account_info",account:B})).result.account_data.Balance;return[n.AssetValue.from({chain:n.Chain.Ripple,value:R,fromBaseDecimal:n.BaseDecimal[n.Chain.Ripple]})]}catch(W){if(W.data.error_code===nX.ACCOUNT_NOT_FOUND)return[n.AssetValue.from({chain:n.Chain.Ripple,value:0})];throw new n.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:B,error:W}})}},J=async()=>{let B=(await y.request({command:"fee"})).result.drops.open_ledger_fee;return n.AssetValue.from({chain:n.Chain.Ripple,value:n.SwapKitNumber.fromBigInt(BigInt(B),n.BaseDecimal[n.Chain.Ripple])})},x=async({assetValue:G,recipient:B,memo:W,sender:R})=>{if(!f1(B))throw new n.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let k=R||await L();if(!G.isGasAsset||G.chain!==n.Chain.Ripple)throw new n.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:G.toString()}});let S={TransactionType:"Payment",Account:k,Amount:hy.xrpToDrops(G.getValue("string")),Destination:B};if(W)S.Memos=[{Memo:{MemoData:Buffer.from(W).toString("hex")}}];return await y.autofill(S)},Q=(G)=>{if(!f)throw new n.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.signTransaction(G)},q=async(G)=>{let W=(await y.submitAndWait(G)).result;if(W.validated)return W.hash;throw new n.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:n.Chain.Ripple}})};return{signer:f,createSigner:cf,getAddress:L,validateAddress:f1,getBalance:X,createTransaction:x,signTransaction:Q,broadcastTransaction:q,transfer:async(G)=>{if(!f)throw new n.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let B=await f.getAddress(),W=await x({...G,sender:B}),R=await Q(W);return q(R.tx_blob)},estimateTransactionFee:J,disconnect:()=>y.disconnect()}};var L1=l(()=>{n=require("@swapkit/helpers"),hy=require("xrpl"),gf=require("xrpl"),nX={ACCOUNT_NOT_FOUND:19}});var Z1={};zy(Z1,{radixValidateAddress:()=>tf,RadixToolbox:()=>tX});module.exports=_y(Z1);function tf(T){return T.startsWith("account_rdx1")&&T.length===66}function mX({networkApi:T}){return async function f(Z){let y=await oX({address:Z,networkApi:T});return cX({resources:y,networkApi:T})}}async function oX({address:T,networkApi:f}){let Z=!0,y,L=[],X=await gX(f);while(Z){let J={address:T,limit_per_page:100,cursor:y,at_ledger_state:{state_version:X}},x=await f.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:J});if(L=L.concat(x.items),x.next_cursor)y=x.next_cursor;else Z=!1}return L}async function cX({resources:T,networkApi:f}){let Z=[],y=50,L=[];for(let X=0;X<T.length;X+=50)L.push(T.slice(X,X+50));for(let X of L){let J=X.map((q)=>q.resource_address),x=await f.state.getEntityDetailsVaultAggregated(J),Q=new Map;for(let q of x)if(q.details!==void 0){let z=q.metadata?.items.find((G)=>G.key==="symbol"),M=z?.value.typed.type==="String"?z.value.typed.value:"?";if(q.details.type==="FungibleResource")Q.set(q.address,{decimals:q.details.divisibility,symbol:M})}for(let q of X)if(q.aggregation_level==="Global"){let z=Q.get(q.resource_address)||{decimals:0,symbol:"?"},M=vy.AssetValue.from({asset:z.symbol!==vy.Chain.Radix?`${vy.Chain.Radix}.${z.symbol}-${q.resource_address}`:"XRD.XRD",value:q.amount});Z.push(M)}}return Z}async function gX(T){return T.status.getCurrent().then((f)=>f.ledger_state.state_version)}var vy,tX=async({dappConfig:T}={})=>{let{RadixDappToolkit:f}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:Z}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||vy.SKConfig.get("integrations").radix,L=f({...y,networkId:y.network?.networkId||1}),X=Z.initialize(L.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:mX({networkApi:X}),networkApi:X,validateAddress:tf,signAndBroadcast:()=>{throw new vy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})}}};var J1=l(()=>{vy=require("@swapkit/helpers")});var GT;var x1=l(()=>{GT=[{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 rf(T){let f=await import("tronweb"),Z=f.TronWeb??f.default?.TronWeb;try{let y=await fetch(`${dX}/v1/accounts/${T}`);if(!y.ok)throw new Error(`TronGrid API error: ${y.status} ${y.statusText}`);let L=await y.json();if(!(L.success&&L.data)||L.data.length===0)throw new Error("Invalid response from TronGrid API");let X;try{X=Z.address.toHex(T).toLowerCase()}catch{X=T.toLowerCase()}let J=L.data.find((x)=>{return x.address.toLowerCase()===X});if(!J)return;return{balance:J.balance,trc20:J.trc20||[]}}catch(y){throw new df.SwapKitError("toolbox_tron_trongrid_api_error",{message:y instanceof Error?y.message:"Unknown error",address:T})}}var df,dX="https://api.trongrid.io";var af=l(()=>{df=require("@swapkit/helpers")});async function Q1(){let T=await import("tronweb"),f=T.TronWeb??T.default?.TronWeb;return(Z)=>{return f.isAddress(Z)}}async function ef({phrase:T,derivationPath:f,index:Z}){let y=f||P.derivationPathToString(P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:Z||0})),{HDKey:L}=await import("@scure/bip32"),{mnemonicToSeedSync:X}=await import("@scure/bip39"),J=X(T),Q=L.fromMasterSeed(J).derive(y);if(!Q.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");return Buffer.from(Q.privateKey).toString("hex")}async function eX({phrase:T,derivationPath:f,tronWeb:Z}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),X=L(T),x=y.fromMasterSeed(X).derive(f);if(!x.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");let Q=Buffer.from(x.privateKey).toString("hex");Z.setPrivateKey(Q);let q=Z?.address.fromPrivateKey(Q);return{getAddress:()=>Promise.resolve(typeof q==="string"?q:""),signTransaction:async(z)=>{return await Z.trx.sign(z,Q)}}}var P,oT,iX=268,rX=13000,aX=345,sf="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",sX="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",y2=async(T={})=>{let f=await import("tronweb"),Z=f.TronWeb??f.default?.TronWeb,y=P.SKConfig.get("rpcUrls")[P.Chain.Tron],L=void 0,X=new Z({fullHost:y,headers:void 0}),J="index"in T?T.index||0:0,x=P.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:J})),Q=await oT.match(T).with({phrase:oT.P.string},async({phrase:Y})=>eX({phrase:Y,derivationPath:x,tronWeb:X})).with({signer:oT.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},M=async()=>{try{let Y=await X.trx.getChainParameters(),D={};for(let C of Y)D[C.key]=C.value;return{energyFee:D.getEnergyFee||420,bandwidthFee:D.getTransactionFee||1000,createAccountFee:D.getCreateAccountFee||1e5}}catch{return{energyFee:420,bandwidthFee:1000,createAccountFee:1e5}}},G=async(Y)=>{try{let D=await X.trx.getAccount(Y);return D&&Object.keys(D).length>0}catch{return!1}},B=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}}}},W=async(Y,D)=>{try{let C=X.contract(GT,D);if(!C.methods?.balanceOf)return 0n;let V=(await C.methods.balanceOf(Y).call())[0];return BigInt(V||0)}catch(C){return console.warn(`balanceOf() failed for ${D}:`,C),0n}},R=async(Y,D)=>{try{X.setAddress(D);let C=X.contract(GT,Y),[V,v]=await Promise.all([C.symbol().call().catch(()=>"UNKNOWN"),C.decimals().call().catch(()=>"18")]);return{symbol:V??"UNKNOWN",decimals:Number(v??18)}}catch(C){return P.warnOnce(!0,`Failed to get token balance for ${Y}: ${C instanceof Error?C.message:C}`),null}},k=async(Y,D=!0)=>{let C=[P.AssetValue.from({chain:P.Chain.Tron})];try{let V=await rf(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 C}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 W(Y,sf);if(i)v.push(P.AssetValue.from({asset:`TRON.USDT-${sf}`,value:i,fromBaseDecimal:6}));return v}},S=async({recipient:Y,assetValue:D,memo:C})=>{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(C){let Wy=await X.transactionBuilder.addUpdateData(g,C,"utf8"),Hy=await Q.signTransaction(Wy),{txid:ny}=await X.trx.sendRawTransaction(Hy);return ny}let qy=await Q.signTransaction(g),{txid:Zy}=await X.trx.sendRawTransaction(qy);return Zy}let A=await d({recipient:Y,assetValue:D,memo:C,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},u=async({assetValue:Y,recipient:D,sender:C})=>{let V=Y.isGasAsset;try{let v=C?C: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 M(),o=await G(D)?0:A.createAccountFee,g=await B(v);if(V){let ry=iX,tT=g.bandwidth.free+(g.bandwidth.total-g.bandwidth.used),l5=0;if(ry>tT)l5=(ry-tT)*A.bandwidthFee;let dT=o+l5;return P.AssetValue.from({chain:P.Chain.Tron,value:dT,fromBaseDecimal:6})}let qy=aX,Zy=rX,Wy=g.bandwidth.free+(g.bandwidth.total-g.bandwidth.used),Hy=g.energy.total-g.energy.used,ny=0;if(qy>Wy)ny=(qy-Wy)*A.bandwidthFee;let cT=0;if(Zy>Hy)cT=(Zy-Hy)*A.energyFee;let gT=o+ny+cT;return P.AssetValue.from({chain:P.Chain.Tron,value:gT,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:C,memo:V,sender:v}=Y;if(C.isGasAsset){let o=await X.transactionBuilder.sendTrx(D,C.getBaseValue("number"),v);if(V)return X.transactionBuilder.addUpdateData(o,V,"utf8");return o}X.setAddress(v);let i=C.address;if(!i)throw new P.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:C.toString()});try{let g=[{type:"address",value:D},{type:"uint256",value:C.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)})}},m=async(Y)=>{if(!Q)throw new P.SwapKitError("toolbox_tron_no_signer");return await Q.signTransaction(Y)},e=async(Y)=>{let{txid:D}=await X.trx.sendRawTransaction(Y);return D},a=async({assetAddress:Y,spenderAddress:D,from:C})=>{try{let V=X.contract(GT,Y);if(!V.methods?.allowance)throw new P.SwapKitError("toolbox_tron_invalid_token_contract");let v=(await V.methods.allowance(C,D).call())[0];return BigInt(v||0)}catch(V){throw new P.SwapKitError("toolbox_tron_allowance_check_failed",{error:V})}},Ly=async({assetAddress:Y,spenderAddress:D,from:C,amount:V})=>{let v=await a({assetAddress:Y,spenderAddress:D,from:C});if(!V)return v>0n;let A=BigInt(V);return v>=A},E=async({assetAddress:Y,spenderAddress:D,amount:C,from:V})=>{if(!Q)throw new P.SwapKitError("toolbox_tron_no_signer");let v=V||await q(),A=C!==void 0?BigInt(C).toString():sX,i="approve(address,uint256)",o=[{type:"address",value:D},{type:"uint256",value:A}],qy={feeLimit:z(),callValue:0};try{let{transaction:Zy}=await X.transactionBuilder.triggerSmartContract(Y,i,qy,o,v),Wy=await Q.signTransaction(Zy),{txid:Hy}=await X.trx.sendRawTransaction(Wy);if(!Hy)throw new P.SwapKitError("toolbox_tron_approve_failed");return Hy}catch(Zy){throw new P.SwapKitError("toolbox_tron_approve_failed",{error:Zy})}};return{tronWeb:X,getAddress:q,validateAddress:await Q1(),getBalance:k,transfer:S,estimateTransactionFee:u,createTransaction:d,signTransaction:m,broadcastTransaction:e,approve:E,isApproved:Ly,getApprovedAmount:a}};var T2=l(()=>{P=require("@swapkit/helpers"),oT=require("ts-pattern");x1();af()});var q1={};zy(q1,{trc20ABI:()=>GT,getTronPrivateKeyFromMnemonic:()=>ef,getTronAddressValidator:()=>Q1,createTronToolbox:()=>y2});module.exports=_y(q1);var z1=l(()=>{T2();x1()});var f8={};zy(f8,{getToolbox:()=>M1,getFeeEstimator:()=>T8,getAddressValidator:()=>y8});module.exports=_y(f8);var _=require("@swapkit/helpers");async function y8(){let{match:T}=await import("ts-pattern"),{cosmosValidateAddress:f}=await Promise.resolve().then(() => (eT(),sT)),{evmValidateAddress:Z}=await Promise.resolve().then(() => (e5(),Xf)),{substrateValidateAddress:y}=await Promise.resolve().then(() => (H0(),W0)),{getUTXOAddressValidator:L}=await Promise.resolve().then(() => ($0(),V0)),{getSolanaAddressValidator:X}=await Promise.resolve().then(() => (h0(),j0)),{getValidateNearAddress:J}=await Promise.resolve().then(() => (T1(),y1)),{rippleValidateAddress:x}=await Promise.resolve().then(() => (L1(),X1)),{radixValidateAddress:Q}=await Promise.resolve().then(() => (J1(),Z1)),{getTronAddressValidator:q}=await Promise.resolve().then(() => (z1(),q1)),z=await X(),M=await L(),G=await q(),B=await J();return function W({address:R,chain:k}){return T(k).with(..._.EVMChains,()=>Z({address:R})).with(..._.UTXOChains,()=>M({address:R,chain:k})).with(_.Chain.Cosmos,_.Chain.Kujira,_.Chain.Noble,_.Chain.Maya,_.Chain.THORChain,()=>f({address:R,chain:k})).with(_.Chain.Chainflip,_.Chain.Polkadot,()=>y({address:R,chain:k})).with(_.Chain.Radix,()=>Q(R)).with(_.Chain.Near,()=>B(R)).with(_.Chain.Ripple,()=>x(R)).with(_.Chain.Solana,()=>z(R)).with(_.Chain.Tron,()=>G(R)).otherwise(()=>!1)}}function T8(T){return async function f(Z){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(L)=>{let X=await M1(L),J=await X.createTransaction(Z);return X.estimateTransactionFee({...J,feeOption:Z.feeOptionKey||_.FeeOption.Fast,chain:L})}).with(_.Chain.Bitcoin,_.Chain.BitcoinCash,_.Chain.Dogecoin,_.Chain.Dash,_.Chain.Litecoin,_.Chain.Polkadot,_.Chain.Solana,_.Chain.Ripple,_.Chain.Tron,_.Chain.Near,async(L)=>{return(await M1(L)).estimateTransactionFee(Z)}).with(_.Chain.THORChain,_.Chain.Maya,_.Chain.Kujira,_.Chain.Noble,_.Chain.Cosmos,async()=>{let{estimateTransactionFee:L}=await Promise.resolve().then(() => (eT(),sT));return L(Z)}).otherwise(async()=>_.AssetValue.from({chain:T}))}}async function M1(T,f){let{match:Z}=await import("ts-pattern");return Z(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(() => (Y5(),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(() => ($0(),V0));return await y(T,f)}).with(_.Chain.Cosmos,_.Chain.Kujira,_.Chain.Noble,_.Chain.Maya,_.Chain.THORChain,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (eT(),sT));return await y(T,f)}).with(_.Chain.Chainflip,_.Chain.Polkadot,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (H0(),W0));return await y(T,f)}).with(_.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (J1(),Z1));return await y(f)}).with(_.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (L1(),X1));return await y(f)}).with(_.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (h0(),j0));return await y(f)}).with(_.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (z1(),q1));return await y(f)}).with(_.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (T1(),y1));return await y(f)}).otherwise(()=>{throw new _.SwapKitError("toolbox_not_supported",{chain:T})})}
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=EC534D2BC42BC92064756E2164756E21
|
|
5
5
|
//# sourceMappingURL=index.cjs.map
|