@swapkit/toolboxes 4.0.15 → 4.0.17
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 +4 -4
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +4 -4
- package/dist/src/tron/index.cjs +2 -2
- package/dist/src/tron/index.cjs.map +3 -3
- package/dist/src/tron/index.js +2 -2
- package/dist/src/tron/index.js.map +3 -3
- package/dist/src/utxo/index.cjs +3 -3
- package/dist/src/utxo/index.cjs.map +3 -3
- package/dist/src/utxo/index.js +3 -3
- package/dist/src/utxo/index.js.map +3 -3
- package/dist/types/tron/toolbox.d.ts.map +1 -1
- 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 e2=Object.create;var{getPrototypeOf:yX,defineProperty:HT,getOwnPropertyNames:x1,getOwnPropertyDescriptor:TX}=Object,z1=Object.prototype.hasOwnProperty;var Y=(T,X,L)=>{L=T!=null?e2(yX(T)):{};let y=X||!T||!T.__esModule?HT(L,"default",{value:T,enumerable:!0}):L;for(let Z of x1(T))if(!z1.call(y,Z))HT(y,Z,{get:()=>T[Z],enumerable:!0});return y},q1=new WeakMap,_y=(T)=>{var X=q1.get(T),L;if(X)return X;if(X=HT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")x1(T).map((y)=>!z1.call(X,y)&&HT(X,y,{get:()=>T[y],enumerable:!(L=TX(T,y))||L.enumerable}));return q1.set(T,X),X};var Gy=(T,X)=>{for(var L in X)HT(T,L,{get:X[L],enumerable:!0,configurable:!0,set:(y)=>X[L]=()=>y})};var $=(T,X)=>()=>(T&&(X=T(T=0)),X);function YT(T){return Fy.base64.encode(Uint8Array.from(Fy.bech32.fromWords(Fy.bech32.decode(T).words)))}function UT(T,X="thor"){return Fy.bech32.encode(X,Fy.bech32.toWords(Fy.base64.decode(T)))}function XX(T){return iT.fromByteArray(T)}function fX(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new G1.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return iT.toByteArray(T)}var Fy,G1,iT;var P0=$(()=>{Fy=require("@scure/base"),G1=require("@swapkit/helpers"),iT=require("base64-js")});function Oy(T){switch(T){case E.Chain.Maya:return{amount:[],gas:"10000000000"};case E.Chain.THORChain:return{amount:[],gas:"500000000"};case E.Chain.Kujira:return W1;case E.Chain.Noble:return H1;default:return B1}}async function wy(T){let X=await import("@cosmjs/stargate"),L=X.StargateClient??X.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return L.connect({headers:y,url:T})}async function RT(T,X,L={}){let y=await import("@cosmjs/stargate"),Z=y.SigningStargateClient??y.default?.SigningStargateClient,f=y.GasPrice??y.default?.GasPrice,J=typeof L==="string"?L:"0.0003uatom",Q=typeof L==="string"?{}:L;return Z.connectWithSigner(T,X,{gasPrice:f.fromString(J),...Q})}async function l0(T,X){let L=await import("@cosmjs/stargate");return(L.SigningStargateClient??L.default?.SigningStargateClient).offline(T,X)}async function A0({sender:T,recipient:X,assetValue:L,memo:y="",feeRate:Z,sequence:f,accountNumber:J}){let{chain:Q,chainId:q}=L,x=await E.getRPCUrl(Q),G=await(await wy(x)).getAccount(T);if(!G)throw new E.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let M=E.AssetValue.from({chain:Q}),W=$y(M.symbol),B=Oy(Q),N=W&&Z?{amount:[{amount:Z.toString(),denom:W}],gas:B.gas}:B,D={amount:[{amount:L.getBaseValue("string"),denom:$y(L.symbol)}],fromAddress:T,toAddress:X};return{accountNumber:J??G.accountNumber,chainId:q,fee:N,memo:y,msgs:[{typeUrl:ZX(Q),value:D}],sequence:f??G.sequence}}var E,K0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",M1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",B1,W1,H1,$y=(T,X=!1)=>{if(X)return T.toLowerCase();switch(T){case"uUSK":case"USK":return K0;case"uYUM":case"YUM":return M1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},_T=({symbol:T,chain:X})=>{if(X===E.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${E.Chain.Maya}.${T}`).toUpperCase();if(X===E.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${E.Chain.THORChain}.${T}`:T).toUpperCase();return $y(T,!1)},ZX=(T)=>{switch(T){case E.Chain.Maya:case E.Chain.THORChain:return"/types.MsgSend";case E.Chain.Cosmos:case E.Chain.Kujira:case E.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new E.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},LX,S0=(T,X)=>{let L=LX[T.toLowerCase()];if(!L)return E.AssetValue.from({asset:T,fromBaseDecimal:8,value:X});let{chain:y,asset:Z,decimals:f}=L,J=y?{chain:y}:{asset:Z};return E.AssetValue.from({...J,fromBaseDecimal:f,value:X})};var NT=$(()=>{E=require("@swapkit/helpers"),B1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},W1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},H1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};LX={atom:{chain:E.Chain.Cosmos,decimals:E.BaseDecimal[E.Chain.Cosmos]},cacao:{chain:E.Chain.Maya,decimals:10},kuji:{chain:E.Chain.Kujira,decimals:E.BaseDecimal[E.Chain.Kujira]},maya:{asset:`${E.Chain.Maya}.${E.Chain.Maya}`,decimals:4},rune:{chain:E.Chain.THORChain,decimals:E.BaseDecimal[E.Chain.THORChain]},tcy:{asset:"THOR.TCY",decimals:E.BaseDecimal[E.Chain.THORChain]},uatom:{chain:E.Chain.Cosmos,decimals:E.BaseDecimal[E.Chain.Cosmos]},ukuji:{chain:E.Chain.Kujira,decimals:E.BaseDecimal[E.Chain.Kujira]},usdc:{chain:E.Chain.Noble,decimals:E.BaseDecimal[E.Chain.Noble]},uusdc:{chain:E.Chain.Noble,decimals:E.BaseDecimal[E.Chain.Noble]},"x/kuji":{asset:"THOR.KUJI",decimals:E.BaseDecimal[E.Chain.THORChain]},[K0.toLowerCase()]:{asset:`${E.Chain.Kujira}.USK`,decimals:E.BaseDecimal[E.Chain.Kujira]}}});var Y1={};Gy(Y1,{$root:()=>R});var e,K,My,I,R;var U1=$(()=>{e=Y(require("protobufjs/minimal.js")),K=e.default.Reader,My=e.default.Writer,I=e.default.util,R=e.default.roots.default||(e.default.roots.default={});R.common=(()=>{let T={};return T.Asset=(()=>{function X(L){if(L){for(let y=Object.keys(L),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return X.prototype.chain="",X.prototype.symbol="",X.prototype.ticker="",X.prototype.synth=!1,X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=My.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))Z.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))Z.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))Z.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))Z.uint32(32).bool(y.synth);return Z},X.encodeDelimited=function(y,Z){return this.encode(y,Z).ldelim()},X.decode=function(y,Z){if(!(y instanceof K))y=K.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new R.common.Asset;while(y.pos<f){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},X.decodeDelimited=function(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},X.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!I.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!I.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!I.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},X.fromObject=function(y){if(y instanceof R.common.Asset)return y;let Z=new R.common.Asset;if(y.chain!=null)Z.chain=String(y.chain);if(y.symbol!=null)Z.symbol=String(y.symbol);if(y.ticker!=null)Z.ticker=String(y.ticker);if(y.synth!=null)Z.synth=Boolean(y.synth);return Z},X.toObject=function(y,Z){if(!Z)Z={};let f={};if(Z.defaults)f.chain="",f.symbol="",f.ticker="",f.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))f.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))f.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))f.synth=y.synth;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},X})(),T.Coin=(()=>{function X(L){if(L){for(let y=Object.keys(L),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return X.prototype.asset=null,X.prototype.amount="",X.prototype.decimals=I.Long?I.Long.fromBits(0,0,!1):0,X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=My.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))R.common.Asset.encode(y.asset,Z.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))Z.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))Z.uint32(24).int64(y.decimals);return Z},X.encodeDelimited=function(y,Z){return this.encode(y,Z).ldelim()},X.decode=function(y,Z){if(!(y instanceof K))y=K.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new R.common.Coin;while(y.pos<f){let Q=y.uint32();switch(Q>>>3){case 1:J.asset=R.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},X.decodeDelimited=function(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},X.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let Z=R.common.Asset.verify(y.asset);if(Z)return"asset."+Z}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!I.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!I.isInteger(y.decimals)&&!(y.decimals&&I.isInteger(y.decimals.low)&&I.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},X.fromObject=function(y){if(y instanceof R.common.Coin)return y;let Z=new R.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");Z.asset=R.common.Asset.fromObject(y.asset)}if(y.amount!=null)Z.amount=String(y.amount);if(y.decimals!=null){if(I.Long)(Z.decimals=I.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")Z.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")Z.decimals=y.decimals;else if(typeof y.decimals==="object")Z.decimals=new I.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return Z},X.toObject=function(y,Z){if(!Z)Z={};let f={};if(Z.defaults)if(f.asset=null,f.amount="",I.Long){let J=new I.Long(0,0,!1);f.decimals=Z.longs===String?J.toString():Z.longs===Number?J.toNumber():J}else f.decimals=Z.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))f.asset=R.common.Asset.toObject(y.asset,Z);if(y.amount!=null&&y.hasOwnProperty("amount"))f.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")f.decimals=Z.longs===String?String(y.decimals):y.decimals;else f.decimals=Z.longs===String?I.Long.prototype.toString.call(y.decimals):Z.longs===Number?new I.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},X})(),T.PubKeySet=(()=>{function X(L){if(L){for(let y=Object.keys(L),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return X.prototype.secp256k1="",X.prototype.ed25519="",X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=My.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))Z.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))Z.uint32(18).string(y.ed25519);return Z},X.encodeDelimited=function(y,Z){return this.encode(y,Z).ldelim()},X.decode=function(y,Z){if(!(y instanceof K))y=K.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new R.common.PubKeySet;while(y.pos<f){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},X.decodeDelimited=function(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},X.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!I.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!I.isString(y.ed25519))return"ed25519: string expected"}return null},X.fromObject=function(y){if(y instanceof R.common.PubKeySet)return y;let Z=new R.common.PubKeySet;if(y.secp256k1!=null)Z.secp256k1=String(y.secp256k1);if(y.ed25519!=null)Z.ed25519=String(y.ed25519);return Z},X.toObject=function(y,Z){if(!Z)Z={};let f={};if(Z.defaults)f.secp256k1="",f.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))f.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))f.ed25519=y.ed25519;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},X})(),T.Tx=(()=>{function X(L){if(this.coins=[],this.gas=[],L){for(let y=Object.keys(L),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return X.prototype.id="",X.prototype.chain="",X.prototype.fromAddress="",X.prototype.toAddress="",X.prototype.coins=I.emptyArray,X.prototype.gas=I.emptyArray,X.prototype.memo="",X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=My.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))Z.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))Z.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))Z.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))Z.uint32(34).string(y.toAddress);if(y.coins?.length)for(let f=0;f<y.coins.length;++f)R.common.Coin.encode(y.coins[f],Z.uint32(42).fork()).ldelim();if(y.gas?.length)for(let f=0;f<y.gas.length;++f)R.common.Coin.encode(y.gas[f],Z.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))Z.uint32(58).string(y.memo);return Z},X.encodeDelimited=function(y,Z){return this.encode(y,Z).ldelim()},X.decode=function(y,Z){if(!(y instanceof K))y=K.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new R.common.Tx;while(y.pos<f){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(R.common.Coin.decode(y,y.uint32()));break;case 6:if(!J.gas?.length)J.gas=[];J.gas.push(R.common.Coin.decode(y,y.uint32()));break;case 7:J.memo=y.string();break;default:y.skipType(Q&7);break}}return J},X.decodeDelimited=function(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},X.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!I.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!I.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!I.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!I.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 Z=0;Z<y.coins.length;++Z){let f=R.common.Coin.verify(y.coins[Z]);if(f)return"coins."+f}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let Z=0;Z<y.gas.length;++Z){let f=R.common.Coin.verify(y.gas[Z]);if(f)return"gas."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!I.isString(y.memo))return"memo: string expected"}return null},X.fromObject=function(y){if(y instanceof R.common.Tx)return y;let Z=new R.common.Tx;if(y.id!=null)Z.id=String(y.id);if(y.chain!=null)Z.chain=String(y.chain);if(y.fromAddress!=null)Z.fromAddress=String(y.fromAddress);if(y.toAddress!=null)Z.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");Z.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Tx.coins: object expected");Z.coins[f]=R.common.Coin.fromObject(y.coins[f])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");Z.gas=[];for(let f=0;f<y.gas.length;++f){if(typeof y.gas[f]!=="object")throw TypeError(".common.Tx.gas: object expected");Z.gas[f]=R.common.Coin.fromObject(y.gas[f])}}if(y.memo!=null)Z.memo=String(y.memo);return Z},X.toObject=function(y,Z){if(!Z)Z={};let f={};if(Z.arrays||Z.defaults)f.coins=[],f.gas=[];if(Z.defaults)f.id="",f.chain="",f.fromAddress="",f.toAddress="",f.memo="";if(y.id!=null&&y.hasOwnProperty("id"))f.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=y.toAddress;if(y.coins?.length){f.coins=[];for(let J=0;J<y.coins.length;++J)f.coins[J]=R.common.Coin.toObject(y.coins[J],Z)}if(y.gas?.length){f.gas=[];for(let J=0;J<y.gas.length;++J)f.gas[J]=R.common.Coin.toObject(y.gas[J],Z)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},X})(),T.Fee=(()=>{function X(L){if(this.coins=[],L){for(let y=Object.keys(L),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return X.prototype.coins=I.emptyArray,X.prototype.poolDeduct="",X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=My.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)R.common.Coin.encode(y.coins[f],Z.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))Z.uint32(18).string(y.poolDeduct);return Z},X.encodeDelimited=function(y,Z){return this.encode(y,Z).ldelim()},X.decode=function(y,Z){if(!(y instanceof K))y=K.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new R.common.Fee;while(y.pos<f){let Q=y.uint32();switch(Q>>>3){case 1:if(!J.coins?.length)J.coins=[];J.coins.push(R.common.Coin.decode(y,y.uint32()));break;case 2:J.poolDeduct=y.string();break;default:y.skipType(Q&7);break}}return J},X.decodeDelimited=function(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},X.verify=function(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 Z=0;Z<y.coins.length;++Z){let f=R.common.Coin.verify(y.coins[Z]);if(f)return"coins."+f}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!I.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},X.fromObject=function(y){if(y instanceof R.common.Fee)return y;let Z=new R.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");Z.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Fee.coins: object expected");Z.coins[f]=R.common.Coin.fromObject(y.coins[f])}}if(y.poolDeduct!=null)Z.poolDeduct=String(y.poolDeduct);return Z},X.toObject=function(y,Z){if(!Z)Z={};let f={};if(Z.arrays||Z.defaults)f.coins=[];if(Z.defaults)f.poolDeduct="";if(y.coins?.length){f.coins=[];for(let J=0;J<y.coins.length;++J)f.coins[J]=R.common.Coin.toObject(y.coins[J],Z)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))f.poolDeduct=y.poolDeduct;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},X})(),T.ProtoUint=(()=>{function X(L){if(L){for(let y=Object.keys(L),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return X.prototype.value="",X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=My.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))Z.uint32(10).string(y.value);return Z},X.encodeDelimited=function(y,Z){return this.encode(y,Z).ldelim()},X.decode=function(y,Z){if(!(y instanceof K))y=K.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new R.common.ProtoUint;while(y.pos<f){let Q=y.uint32();switch(Q>>>3){case 1:J.value=y.string();break;default:y.skipType(Q&7);break}}return J},X.decodeDelimited=function(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},X.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!I.isString(y.value))return"value: string expected"}return null},X.fromObject=function(y){if(y instanceof R.common.ProtoUint)return y;let Z=new R.common.ProtoUint;if(y.value!=null)Z.value=String(y.value);return Z},X.toObject=function(y,Z){if(!Z)Z={};let f={};if(Z.defaults)f.value="";if(y.value!=null&&y.hasOwnProperty("value"))f.value=y.value;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},X})(),T})();R.types=(()=>{let T={};return T.MsgDeposit=(()=>{function X(L){if(this.coins=[],L){for(let y=Object.keys(L),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return X.prototype.coins=I.emptyArray,X.prototype.memo="",X.prototype.signer=I.newBuffer([]),X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=My.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)R.common.Coin.encode(y.coins[f],Z.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))Z.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))Z.uint32(26).bytes(y.signer);return Z},X.encodeDelimited=function(y,Z){return this.encode(y,Z).ldelim()},X.decode=function(y,Z){if(!(y instanceof K))y=K.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new R.types.MsgDeposit;while(y.pos<f){let Q=y.uint32();switch(Q>>>3){case 1:if(!J.coins?.length)J.coins=[];J.coins.push(R.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},X.decodeDelimited=function(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},X.verify=function(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 Z=0;Z<y.coins.length;++Z){let f=R.common.Coin.verify(y.coins[Z]);if(f)return"coins."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!I.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||I.isString(y.signer)))return"signer: buffer expected"}return null},X.fromObject=function(y){if(y instanceof R.types.MsgDeposit)return y;let Z=new R.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");Z.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");Z.coins[f]=R.common.Coin.fromObject(y.coins[f])}}if(y.memo!=null)Z.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")I.base64.decode(y.signer,Z.signer=I.newBuffer(I.base64.length(y.signer)),0);else if(y.signer.length)Z.signer=y.signer}return Z},X.toObject=function(y,Z){if(!Z)Z={};let f={};if(Z.arrays||Z.defaults)f.coins=[];if(Z.defaults){if(f.memo="",Z.bytes===String)f.signer="";else if(f.signer=[],Z.bytes!==Array)f.signer=I.newBuffer(f.signer)}if(y.coins?.length){f.coins=[];for(let J=0;J<y.coins.length;++J)f.coins[J]=R.common.Coin.toObject(y.coins[J],Z)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))f.signer=Z.bytes===String?I.base64.encode(y.signer,0,y.signer.length):Z.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},X})(),T.MsgSend=(()=>{function X(L){if(this.amount=[],L){for(let y=Object.keys(L),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return X.prototype.fromAddress=I.newBuffer([]),X.prototype.toAddress=I.newBuffer([]),X.prototype.amount=I.emptyArray,X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=My.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))Z.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))Z.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let f=0;f<y.amount.length;++f)R.cosmos.base.v1beta1.Coin.encode(y.amount[f],Z.uint32(26).fork()).ldelim();return Z},X.encodeDelimited=function(y,Z){return this.encode(y,Z).ldelim()},X.decode=function(y,Z){if(!(y instanceof K))y=K.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new R.types.MsgSend;while(y.pos<f){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(R.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(Q&7);break}}return J},X.decodeDelimited=function(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},X.verify=function(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"||I.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||I.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 Z=0;Z<y.amount.length;++Z){let f=R.cosmos.base.v1beta1.Coin.verify(y.amount[Z]);if(f)return"amount."+f}}return null},X.fromObject=function(y){if(y instanceof R.types.MsgSend)return y;let Z=new R.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")I.base64.decode(y.fromAddress,Z.fromAddress=I.newBuffer(I.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)Z.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")I.base64.decode(y.toAddress,Z.toAddress=I.newBuffer(I.base64.length(y.toAddress)),0);else if(y.toAddress.length)Z.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");Z.amount=[];for(let f=0;f<y.amount.length;++f){if(typeof y.amount[f]!=="object")throw TypeError(".types.MsgSend.amount: object expected");Z.amount[f]=R.cosmos.base.v1beta1.Coin.fromObject(y.amount[f])}}return Z},X.toObject=function(y,Z){if(!Z)Z={};let f={};if(Z.arrays||Z.defaults)f.amount=[];if(Z.defaults){if(Z.bytes===String)f.fromAddress="";else if(f.fromAddress=[],Z.bytes!==Array)f.fromAddress=I.newBuffer(f.fromAddress);if(Z.bytes===String)f.toAddress="";else if(f.toAddress=[],Z.bytes!==Array)f.toAddress=I.newBuffer(f.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=Z.bytes===String?I.base64.encode(y.fromAddress,0,y.fromAddress.length):Z.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=Z.bytes===String?I.base64.encode(y.toAddress,0,y.toAddress.length):Z.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){f.amount=[];for(let J=0;J<y.amount.length;++J)f.amount[J]=R.cosmos.base.v1beta1.Coin.toObject(y.amount[J],Z)}return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},X})(),T})();R.cosmos=(()=>{let T={};return T.base=(()=>{let X={};return X.v1beta1=(()=>{let L={};return L.Coin=(()=>{function y(Z){if(Z){for(let f=Object.keys(Z),J=0;J<f.length;++J)if(Z[f[J]]!=null)this[f[J]]=Z[f[J]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,J){if(!J)J=My.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))J.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))J.uint32(18).string(f.amount);return J},y.encodeDelimited=function(f,J){return this.encode(f,J).ldelim()},y.decode=function(f,J){if(!(f instanceof K))f=K.create(f);let Q=J===void 0?f.len:f.pos+J,q=new R.cosmos.base.v1beta1.Coin;while(f.pos<Q){let x=f.uint32();switch(x>>>3){case 1:q.denom=f.string();break;case 2:q.amount=f.string();break;default:f.skipType(x&7);break}}return q},y.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!I.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!I.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof R.cosmos.base.v1beta1.Coin)return f;let J=new R.cosmos.base.v1beta1.Coin;if(f.denom!=null)J.denom=String(f.denom);if(f.amount!=null)J.amount=String(f.amount);return J},y.toObject=function(f,J){if(!J)J={};let Q={};if(J.defaults)Q.denom="",Q.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))Q.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))Q.amount=f.amount;return Q},y.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},y})(),L.DecCoin=(()=>{function y(Z){if(Z){for(let f=Object.keys(Z),J=0;J<f.length;++J)if(Z[f[J]]!=null)this[f[J]]=Z[f[J]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,J){if(!J)J=My.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))J.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))J.uint32(18).string(f.amount);return J},y.encodeDelimited=function(f,J){return this.encode(f,J).ldelim()},y.decode=function(f,J){if(!(f instanceof K))f=K.create(f);let Q=J===void 0?f.len:f.pos+J,q=new R.cosmos.base.v1beta1.DecCoin;while(f.pos<Q){let x=f.uint32();switch(x>>>3){case 1:q.denom=f.string();break;case 2:q.amount=f.string();break;default:f.skipType(x&7);break}}return q},y.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!I.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!I.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof R.cosmos.base.v1beta1.DecCoin)return f;let J=new R.cosmos.base.v1beta1.DecCoin;if(f.denom!=null)J.denom=String(f.denom);if(f.amount!=null)J.amount=String(f.amount);return J},y.toObject=function(f,J){if(!J)J={};let Q={};if(J.defaults)Q.denom="",Q.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))Q.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))Q.amount=f.amount;return Q},y.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},y})(),L.IntProto=(()=>{function y(Z){if(Z){for(let f=Object.keys(Z),J=0;J<f.length;++J)if(Z[f[J]]!=null)this[f[J]]=Z[f[J]]}}return y.prototype.int="",y.create=function(f){return new y(f)},y.encode=function(f,J){if(!J)J=My.create();if(f.int!=null&&Object.hasOwnProperty.call(f,"int"))J.uint32(10).string(f.int);return J},y.encodeDelimited=function(f,J){return this.encode(f,J).ldelim()},y.decode=function(f,J){if(!(f instanceof K))f=K.create(f);let Q=J===void 0?f.len:f.pos+J,q=new R.cosmos.base.v1beta1.IntProto;while(f.pos<Q){let x=f.uint32();switch(x>>>3){case 1:q.int=f.string();break;default:f.skipType(x&7);break}}return q},y.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.int!=null&&f.hasOwnProperty("int")){if(!I.isString(f.int))return"int: string expected"}return null},y.fromObject=function(f){if(f instanceof R.cosmos.base.v1beta1.IntProto)return f;let J=new R.cosmos.base.v1beta1.IntProto;if(f.int!=null)J.int=String(f.int);return J},y.toObject=function(f,J){if(!J)J={};let Q={};if(J.defaults)Q.int="";if(f.int!=null&&f.hasOwnProperty("int"))Q.int=f.int;return Q},y.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},y})(),L.DecProto=(()=>{function y(Z){if(Z){for(let f=Object.keys(Z),J=0;J<f.length;++J)if(Z[f[J]]!=null)this[f[J]]=Z[f[J]]}}return y.prototype.dec="",y.create=function(f){return new y(f)},y.encode=function(f,J){if(!J)J=My.create();if(f.dec!=null&&Object.hasOwnProperty.call(f,"dec"))J.uint32(10).string(f.dec);return J},y.encodeDelimited=function(f,J){return this.encode(f,J).ldelim()},y.decode=function(f,J){if(!(f instanceof K))f=K.create(f);let Q=J===void 0?f.len:f.pos+J,q=new R.cosmos.base.v1beta1.DecProto;while(f.pos<Q){let x=f.uint32();switch(x>>>3){case 1:q.dec=f.string();break;default:f.skipType(x&7);break}}return q},y.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.dec!=null&&f.hasOwnProperty("dec")){if(!I.isString(f.dec))return"dec: string expected"}return null},y.fromObject=function(f){if(f instanceof R.cosmos.base.v1beta1.DecProto)return f;let J=new R.cosmos.base.v1beta1.DecProto;if(f.dec!=null)J.dec=String(f.dec);return J},y.toObject=function(f,J){if(!J)J={};let Q={};if(J.defaults)Q.dec="";if(f.dec!=null&&f.hasOwnProperty("dec"))Q.dec=f.dec;return Q},y.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},y})(),L})(),X})(),T})()});async function py(){let{$root:T}=await Promise.resolve().then(() => (U1(),Y1)),X=await import("@cosmjs/proto-signing"),L=X.Registry??X.default?.Registry,y=await import("@cosmjs/stargate"),Z=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new L([...Z,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Vy(T){let X=await import("@cosmjs/stargate"),L=X.AminoTypes??X.default?.AminoTypes,y=T===_1.Chain.THORChain?"thorchain":"mayachain";return new L({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:Z,...f})=>({...f,signer:YT(Z)}),toAmino:({signer:Z,...f})=>({...f,signer:UT(Z)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:Z,to_address:f,...J})=>({...J,fromAddress:YT(Z),toAddress:YT(f)}),toAmino:({fromAddress:Z,toAddress:f,...J})=>({...J,from_address:UT(Z),to_address:UT(f)})}})}var _1;var b0=$(()=>{_1=require("@swapkit/helpers");P0()});function h0(T){return function(L){let{assetValue:y,recipient:Z,memo:f,sender:J,asSignable:Q,asAminoMessage:q}=L;if(Z)return N1(T)({asAminoMessage:q,asSignable:Q,assetValue:y,memo:f,recipient:Z,sender:J});return k1(T)({asAminoMessage:q,asSignable:Q,assetValue:y,memo:f,sender:J})}}function Ky(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((X)=>{let L=By.AssetValue.from({asset:X.asset}),y=(L.isSynthetic?L.symbol.split("/")?.[1]:L.symbol)?.toUpperCase(),Z=(L.isSynthetic?L.symbol.split("/")?.[0]:L.chain)?.toUpperCase();return{...X,asset:{chain:Z,symbol:y,synth:L.isSynthetic,ticker:L.ticker}}})}}}async function kT({chain:T,memo:X,msgs:L}){let y=await py(),Z=await Vy(T),f={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:X,messages:L.map((J)=>Z.fromAmino(J))}};return y.encode(f)}var By,JX,QX,u0=({sender:T,recipient:X,assetValue:L})=>{return{type:`${L.chain===By.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:L.getBaseValue("string"),denom:$y(L.symbol,!0)}],from_address:T,to_address:X}}},j0=({sender:T,assetValue:X,memo:L=""})=>{return{type:`${X.chain===By.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:X.getBaseValue("string"),asset:_T(X)}],memo:L,signer:T}}},rT=({sender:T,recipient:X,assetValue:L,memo:y})=>{return!X?j0({assetValue:L,memo:y,sender:T}):u0({assetValue:L,recipient:X,sender:T})},Py=async(T,X)=>{return(await Vy(X)).fromAmino(T)},R1=async({rpcUrl:T,sender:X})=>{let y=await(await wy(T)).getAccount(X);if(!y)throw new By.SwapKitError("toolbox_cosmos_account_not_found",{sender:X});return y},N1=(T)=>async({sender:X,recipient:L,assetValue:y,memo:Z="",asSignable:f=!0,asAminoMessage:J=!1,sequence:Q,accountNumber:q})=>{let x=await R1({rpcUrl:T,sender:X}),z=y.chain,G=u0({assetValue:y,recipient:L,sender:X}),M=f?await Py(J?G:Ky(G),z):G;return{accountNumber:q||x.accountNumber,chainId:By.ChainToChainId[z],fee:Oy(y.chain),memo:Z,msgs:[M],sequence:Q||x.sequence}},k1=(T)=>async({sender:X,assetValue:L,memo:y="",asSignable:Z=!0,asAminoMessage:f=!1,sequence:J,accountNumber:Q})=>{let q=await R1({rpcUrl:T,sender:X}),x=L.chain,z=j0({assetValue:L,memo:y,sender:X}),G=Z?await Py(f?z:Ky(z),x):z;return{accountNumber:Q||q.accountNumber,chainId:By.ChainToChainId[x],fee:Oy(L.chain),memo:y,msgs:[G],sequence:J||q.sequence}};var D1=$(()=>{By=require("@swapkit/helpers");NT();b0();JX=Oy(By.Chain.THORChain).gas,QX=Oy(By.Chain.Maya).gas});var I1=()=>{};var O1=$(()=>{I1()});var n0=$(()=>{P0();D1();b0();O1()});async function o0(T,X){try{let y=(await m0.SwapKitApi.getGasRate()).find((Z)=>Z.chainId===T)?.value;return y?Number.parseFloat(y):X}catch(L){return X}}async function p0({phrase:T,prefix:X,...L}){let y=await import("@cosmjs/proto-signing"),Z=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,f=await import("@cosmjs/crypto"),J=f.stringToPath??f.default?.stringToPath,Q="derivationPath"in L?L.derivationPath:`${w.DerivationPath[L.chain]}/${L.index}`;return Z.fromMnemonic(T,{hdPaths:[J(Q)],prefix:X})}async function qX({privateKey:T,prefix:X}){let L=await import("@cosmjs/proto-signing");return(L.DirectSecp256k1Wallet??L.default?.DirectSecp256k1Wallet).fromKey(T,X)}function v1(T){return async function({signature:L,message:y,address:Z}){let f=await T(Z);if(!f?.pubkey)throw new w.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(ly.base64.decode(L));return q.verifySignature(x,ly.base64.decode(y),f.pubkey.value)}}async function IT({chain:T,...X}){let L=await w.getRPCUrl(T),y=w.CosmosChainPrefixes[T],Z="index"in X?X.index||0:0,f=w.derivationPathToString("derivationPath"in X&&X.derivationPath?X.derivationPath:w.updateDerivationPath(w.NetworkDerivationPath[T],{index:Z})),J=await DT.match(X).with({phrase:DT.P.string},({phrase:G})=>p0({derivationPath:f,phrase:G,prefix:y})).with({signer:DT.P.any},({signer:G})=>G).otherwise(()=>{return});async function Q(G){return(await wy(L)).getAccount(G)}async function q(){let[G]=await J?.getAccounts()||[];return G?.address}async function x(){let[G]=await J?.getAccounts()||[];if(!G?.pubkey)throw new w.SwapKitError("toolbox_cosmos_signer_not_defined");return ly.base64.encode(G?.pubkey)}async function z({recipient:G,assetValue:M,memo:W="",feeRate:B,feeOptionKey:N=w.FeeOption.Fast}){let D=await q();if(!(J&&D))throw new w.SwapKitError("toolbox_cosmos_signer_not_defined");let A=w.AssetValue.from({chain:T}),j=_T(A),r=B||BX((await C1(T,w1[T]))[N],j),g=await RT(L,J),Xy=[{amount:M.getBaseValue("string"),denom:$y(`u${M.symbol}`).toLowerCase()}],{transactionHash:s}=await g.sendTokens(D,G,Xy,r,W);return s}return{createPrivateKeyFromPhrase:HX(f),createTransaction:A0,fetchFeeRateFromSwapKit:o0,getAccount:Q,getAddress:q,getBalance:async(G,M)=>{let W=await E1(L)(G);return await Promise.all(W.filter(({denom:B})=>B&&!B.includes("IBC/")).map(({denom:B,amount:N})=>{let D=[w.Chain.THORChain,w.Chain.Maya].includes(T)&&(B.includes("/")||B.includes("˜"))?`${T}.${B}`:B;return S0(D,N)}))},getBalanceAsDenoms:E1(L),getFees:()=>C1(T,w1[T]),getPubKey:x,getSignerFromPhrase:async({phrase:G,derivationPath:M})=>p0({derivationPath:w.derivationPathToString(M),index:Z,phrase:G,prefix:y}),getSignerFromPrivateKey:async(G)=>{let M=await import("@cosmjs/proto-signing");return(M.DirectSecp256k1Wallet??M.default?.DirectSecp256k1Wallet).fromKey(G,y)},transfer:z,validateAddress:$1(y),verifySignature:v1(Q)}}async function F1(T,X){try{let y=(await m0.SwapKitApi.getGasRate()).find((Z)=>Z.chainId===T)?.value;return y?Number.parseFloat(y):X}catch(L){return X}}function zX({address:T,chain:X,prefix:L}){let y=L||MX(X);if(!(y&&T))throw new w.SwapKitError("toolbox_cosmos_validate_address_prefix_not_found");return $1(y)(T)}function GX({assetValue:{chain:T}}){return w.AssetValue.from({chain:T,value:WX(T)})}function MX(T){let{isStagenet:X}=w.SKConfig.get("envs"),L=T?[w.Chain.THORChain,w.Chain.Maya].includes(T)&&X:!1,y=T?w.CosmosChainPrefixes[T]:void 0;return L?`s${y}`:y}async function C1(T,X){let L=await o0(w.ChainToChainId[T],X);return{average:w.SwapKitNumber.fromBigInt(BigInt(L),w.BaseDecimal[T]),fast:w.SwapKitNumber.fromBigInt(BigInt(w.applyFeeMultiplier(L,w.FeeOption.Fast,!0)),w.BaseDecimal[T]),fastest:w.SwapKitNumber.fromBigInt(BigInt(w.applyFeeMultiplier(L,w.FeeOption.Fastest,!0)),w.BaseDecimal[T])}}function BX(T,X){return{amount:[{amount:T.getBaseValue("string"),denom:X}],gas:"200000"}}function WX(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 $1(T){return function(L){if(!L.startsWith(T))return!1;try{let{prefix:y,words:Z}=ly.bech32.decode(L);return ly.bech32.encode(y,Z)===L.toLocaleLowerCase()}catch(y){return!1}}}function E1(T){return async function(L){return(await(await wy(T)).getAllBalances(L)).map((J)=>({...J,denom:J.denom.includes("/")?J.denom.toUpperCase():J.denom}))}}function HX(T){return async function(L){let y=await import("@cosmjs/crypto"),Z=y.stringToPath??y.default?.stringToPath,f=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(L),z=await q.mnemonicToSeed(x),{privkey:G}=J.derivePath(f.Secp256k1,z,Z(T));return G}}var ly,w,m0,DT,w1,xX;var aT=$(()=>{ly=require("@scure/base"),w=require("@swapkit/helpers"),m0=require("@swapkit/helpers/api"),DT=require("ts-pattern");NT();w1={[w.Chain.Cosmos]:500,[w.Chain.Kujira]:1000,[w.Chain.Noble]:1000,[w.Chain.THORChain]:5000000,[w.Chain.Maya]:5000000};xX=F1});function YX({prefix:T,derivationPath:X}){return async function(y,Z=0){let f=await import("@cosmjs/amino"),J=f.Secp256k1HdWallet??f.default?.Secp256k1HdWallet,Q=await import("@cosmjs/crypto"),q=Q.stringToPath??Q.default?.stringToPath;return J.fromMnemonic(y,{hdPaths:[q(`${X}/${Z}`)],prefix:T})}}function UX(T){return Ay.base64.encode(T)}function _X(T){return async function({wallet:L,tx:y}){let{msgs:Z,accountNumber:f,sequence:J,chainId:Q,fee:q,memo:x}=typeof y==="string"?JSON.parse(y):y,z=(await L.getAccounts())?.[0]?.address||"",G=await Vy(T),M=await py(),W=await l0(L,{aminoTypes:G,registry:M}),B=[];for(let A of Z){let j=await Py(A,T);B.push(j)}let{signatures:[N]}=await W.sign(z,B,q,x,{accountNumber:f,chainId:Q,sequence:J});return{bodyBytes:await kT({chain:T,memo:x,msgs:Z.map(Ky)}),signature:UX(N)}}}function RX({prefix:T,rpcUrl:X}){return async function(y,Z,f,J,Q){let{encodeSecp256k1Pubkey:q,pubkeyToAddress:x}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:z}=(await import("@cosmjs/stargate")).default,{sequence:G,fee:M}=JSON.parse(y),W=await V1(f,J),B=Z.map((A)=>[x(q(Ay.base64.decode(A.pubKey)),T),Ay.base64.decode(A.signature)]),N=await wy(X),{transactionHash:D}=await N.broadcastTx(z(W,G,M,Q,new Map(B)));return D}}async function V1(T,X,L=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:Z}=(await import("@cosmjs/amino")).default;return y(T.map((f)=>Z(Ay.base64.decode(f))),X,L)}function NX(T){return Ay.base64.decode(T)}async function kX({privateKey:T,message:X}){let{Secp256k1:L}=(await import("@cosmjs/crypto")).default,y=await L.createSignature(Ay.base64.decode(X),T);return Ay.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function c0({chain:T,...X}){let L=m.SKConfig.get("nodeUrls")[T],y=await m.getRPCUrl(T),{isStagenet:Z}=m.SKConfig.get("envs"),f=T===m.Chain.THORChain,J=`${Z?"s":""}${m.CosmosChainPrefixes[T]}`,Q="index"in X?X.index||0:0,q="derivationPath"in X&&X.derivationPath?X.derivationPath:m.updateDerivationPath(m.NetworkDerivationPath[T],{index:Q}),x=await IT({chain:T,...X}),z=await OT.match(X).with({phrase:OT.P.string},({phrase:B})=>x.getSignerFromPhrase({derivationPath:q,phrase:B})).with({signer:OT.P.any},({signer:B})=>B).otherwise(()=>{return}),G=Oy(T);async function M(){let B,N=`${L}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:D}}=await m.RequestClient.get(N);if(!D||Number.isNaN(D)||D<0)throw new m.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:D.toString()});B=new m.SwapKitNumber(D)}catch{B=new m.SwapKitNumber({decimal:m.BaseDecimal[T],value:f?0.02:1})}return{[m.FeeOption.Average]:B,[m.FeeOption.Fast]:B,[m.FeeOption.Fastest]:B}}async function W({assetValue:B,memo:N="",recipient:D}){let{TxRaw:A}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),j=(await z?.getAccounts())?.[0]?.address;if(!(j&&z))throw new m.SwapKitError("toolbox_cosmos_no_signer");let r="signAmino"in z,g=await py(),Xy=await Vy(T),s=await RT(y,z,{aminoTypes:Xy,registry:g}),qy=rT({assetValue:B,memo:N,recipient:D,sender:j});if(r){let O=await Py(qy,T),{signatures:F,authInfoBytes:C}=await s.sign(j,[O],G,N),l=A.encode({authInfoBytes:C,bodyBytes:await kT({chain:T,memo:N,msgs:[qy].map(Ky)}),signatures:F}).finish();return(await s.broadcastTx(l)).transactionHash}let v=Ky(qy),U=await Py(v,T);return(await s.signAndBroadcast(j,[U],G,N)).transactionHash}return{...x,broadcastMultisigTx:RX({prefix:J,rpcUrl:y}),buildAminoMsg:rT,buildEncodedTxBody:kT,convertToSignable:Py,createDefaultAminoTypes:()=>Vy(T),createDefaultRegistry:py,createMultisig:V1,createTransaction:h0(y),deposit:W,getFees:M,importSignature:NX,parseAminoMessageForDirectSigning:Ky,pubkeyToAddress:async(B)=>{let{pubkeyToAddress:N}=(await import("@cosmjs/amino")).default;return N(B,J)},secp256k1HdWalletFromMnemonic:YX({derivationPath:m.derivationPathToString(q),prefix:J}),signMultisigTx:_X(T),signWithPrivateKey:kX,transfer:W}}var Ay,m,OT;var g0=$(()=>{Ay=require("@scure/base"),m=require("@swapkit/helpers"),OT=require("ts-pattern");n0();NT();aT()});var Sy,DX=(T,X)=>{switch(T){case Sy.Chain.Cosmos:case Sy.Chain.Kujira:case Sy.Chain.Noble:return IT({chain:T,...X});case Sy.Chain.Maya:case Sy.Chain.THORChain:return c0({chain:T,...X});default:throw new Sy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var P1=$(()=>{Sy=require("@swapkit/helpers");aT();g0();aT();g0()});var sT={};Gy(sT,{verifySignature:()=>v1,transferMsgAmino:()=>u0,toBase64:()=>XX,parseAminoMessageForDirectSigning:()=>Ky,getSignerFromPrivateKey:()=>qX,getSignerFromPhrase:()=>p0,getMsgSendDenom:()=>$y,getFeeRateFromThorswap:()=>xX,getFeeRateFromSwapKit:()=>F1,getDenomWithChain:()=>_T,getDefaultChainFee:()=>Oy,getCreateTransaction:()=>h0,getCosmosToolbox:()=>DX,getAssetFromDenom:()=>S0,fromBase64:()=>fX,fetchFeeRateFromSwapKit:()=>o0,estimateTransactionFee:()=>GX,depositMsgAmino:()=>j0,createThorchainToolbox:()=>c0,createStargateClient:()=>wy,createSigningStargateClient:()=>RT,createOfflineStargateClient:()=>l0,createDefaultRegistry:()=>py,createDefaultAminoTypes:()=>Vy,createCosmosToolbox:()=>IT,cosmosValidateAddress:()=>zX,cosmosCreateTransaction:()=>A0,convertToSignable:()=>Py,buildTransferTx:()=>N1,buildEncodedTxBody:()=>kT,buildDepositTx:()=>k1,buildAminoMsg:()=>rT,bech32ToBase64:()=>YT,base64ToBech32:()=>UT,YUM_KUJIRA_FACTORY_DENOM:()=>M1,USK_KUJIRA_FACTORY_DENOM:()=>K0,THORCHAIN_GAS_VALUE:()=>JX,MAYA_GAS_VALUE:()=>QX,DEFAULT_NOBLE_FEE_MAINNET:()=>H1,DEFAULT_KUJI_FEE_MAINNET:()=>W1,DEFAULT_COSMOS_FEE_MAINNET:()=>B1});module.exports=_y(sT);var eT=$(()=>{n0();P1();NT()});function l1(){function T(){let X=Date.now(),L=d0||X;return d0=L,X>d0?X:L+1}return IX+T().toString(36)}function T0(T){return async function(L,y=!0){return(await K1.SwapKitApi.getChainBalance({address:L,chain:T,scamFilter:y})).map(({identifier:f,value:J,decimal:Q})=>{return new y0.AssetValue({decimal:Q||y0.BaseDecimal[T],identifier:f,value:J})})}}var y0,K1,IX,d0=0;var X0=$(()=>{y0=require("@swapkit/helpers"),K1=require("@swapkit/helpers/api"),IX=typeof process<"u"&&process.pid?process.pid.toString(36):""});function wT(T){let X=f0.SKConfig.get("apis")[T];if(X)return f0.warnOnce({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),X;return wX(T)}function OX(T){return T}function wX(T){return{getBalance:T0(T)}}var f0;var Z0=$(()=>{f0=require("@swapkit/helpers");X0()});async function my(T,X){let{JsonRpcProvider:L}=await import("ethers");return new L(X||await n.getRPCUrl(T))}function CT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function t0(T){return()=>n.Chain.Ethereum===T?void 0:{...CX({chain:T}),blockExplorerUrls:[n.ChainToExplorerUrl[T]],chainId:n.ChainToHexChainId[T],rpcUrls:[n.SKConfig.get("rpcUrls")[T]]}}function i0(T){return![n.Chain.Arbitrum,n.Chain.BinanceSmartChain].includes(T)}function CX({chain:T}){let X=n.BaseDecimal[T];switch(T){case n.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:X,name:"Ethereum",symbol:n.Chain.Ethereum}};case n.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:X,name:"Ethereum",symbol:n.Chain.Ethereum}};case n.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:X,name:"Avalanche",symbol:T}};case n.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:X,name:"Ethereum",symbol:n.Chain.Ethereum}};case n.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:X,name:"Berachain",symbol:"BERA"}};case n.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:X,name:"Binance Coin",symbol:"BNB"}};case n.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:X,name:"xDAI",symbol:"XDAI"}};case n.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:X,name:"Ethereum",symbol:n.Chain.Ethereum}};case n.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:X,name:"Polygon",symbol:n.Chain.Polygon}};default:throw new n.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var n;var sy=$(()=>{n=require("@swapkit/helpers")});var A1;var S1=$(()=>{A1=[{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"}]});function yT({chain:T=H.Chain.Ethereum,provider:X,signer:L,isEIP1559Compatible:y=!0}){return{approve:$X({chain:T,isEIP1559Compatible:y,provider:X,signer:L}),approvedAmount:j1({chain:T,provider:X}),broadcastTransaction:X.broadcastTransaction,call:y5({chain:T,isEIP1559Compatible:y,provider:X,signer:L}),createApprovalTx:lX({chain:T,provider:X,signer:L}),createContract:s0({chain:T,provider:X}),createContractTxObject:oy({chain:T,provider:X}),createTransaction:r0({chain:T,provider:X,signer:L}),createTransferTx:r0({chain:T,provider:X,signer:L}),EIP1193SendTransaction:XT(X),estimateCall:h1({provider:X,signer:L}),estimateGasLimit:PX({chain:T,provider:X,signer:L}),estimateGasPrices:cy({chain:T,isEIP1559Compatible:y,provider:X}),estimateTransactionFee:AX({chain:T,isEIP1559Compatible:y,provider:X}),getAddress:()=>{return L?L.getAddress():void 0},isApproved:FX({chain:T,provider:X}),sendTransaction:n1({chain:T,isEIP1559Compatible:y,provider:X,signer:L}),signMessage:L?.signMessage,transfer:VX({chain:T,isEIP1559Compatible:y,provider:X,signer:L}),validateAddress:(Z)=>a0({address:Z})}}function a0({address:T}){try{return Ly.getAddress(T),!0}catch(X){return!1}}function TT(T){return T instanceof Ly.BrowserProvider}function vT(T,X,L){return new Ly.Contract(T,Ly.Interface.from(X),L)}function s0({provider:T}){return function(L,y){return new Ly.Contract(L,Ly.Interface.from(y),T)}}function e0({abi:T,funcName:X}){let L=T.find((y)=>y.name===X);if(!L)throw new H.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:X});return L.stateMutability&&EX.includes(L.stateMutability)}function b1(T){return Ly.getAddress(T)}function XT(T){return function({value:L,...y}){if(!TT(T))throw new H.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:Z,gasPrice:f,maxFeePerGas:J,maxPriorityFeePerGas:Q,...q}=y;return T.send("eth_sendTransaction",[{...q,value:CT(BigInt(L||0))}])}}function u1(T,X){let L=fT(T,X);if(L)return Ly.getAddress(L.toLowerCase());throw new H.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function fT({chain:T,symbol:X,ticker:L},y){try{let Z=T===H.Chain.BinanceSmartChain&&X==="BNB"&&L==="BNB",f=T===y&&X===y&&L===y,J=[H.Chain.Arbitrum,H.Chain.Aurora,H.Chain.Base,H.Chain.Optimism].includes(T)&&X==="ETH"&&L==="ETH";if(f||Z||J)return vX[y];return Ly.getAddress(X.slice(L.length+1).replace(/^0X/,""))}catch(Z){return null}}function oy({provider:T}){return async({contractAddress:X,abi:L,funcName:y,funcParams:Z=[],txOverrides:f})=>vT(X,L,T).getFunction(y).populateTransaction(...Z.concat(f).filter((J)=>typeof J<"u"))}function cy({chain:T,provider:X,isEIP1559Compatible:L=!0}){if(T===H.Chain.Arbitrum)return async function(){try{let{gasPrice:Z}=await X.getFeeData();if(!Z)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{gasPrice:Z},[H.FeeOption.Fast]:{gasPrice:Z},[H.FeeOption.Fastest]:{gasPrice:Z}}}catch(Z){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:Z.msg??Z.toString()})}};return async function(){try{let{maxFeePerGas:Z,maxPriorityFeePerGas:f,gasPrice:J}=await X.getFeeData();if(L){if(Z===null||f===null)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:Z,maxPriorityFeePerGas:f},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(Z,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(f,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(Z,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(f,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(Z){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:Z.msg??Z.toString()})}}}function y5({provider:T,isEIP1559Compatible:X,signer:L,chain:y}){return async function({callProvider:f,contractAddress:J,abi:Q,funcName:q,funcParams:x=[],txOverrides:z={},feeOption:G=H.FeeOption.Fast}){let M=f||T;if(!J)throw new H.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let W=e0({abi:Q,funcName:q});if(W&&TT(M)&&L){let D=oy({chain:y,provider:M}),A=z?.from||await L?.getAddress(),j=await D({abi:Q,contractAddress:J,funcName:q,funcParams:x,txOverrides:{...z,from:A}});return XT(M)(j)}let B=vT(J,Q,M);if(W){if(!L)throw new H.SwapKitError("toolbox_evm_no_signer");let D=z?.from||await L.getAddress();if(!D)throw new H.SwapKitError("toolbox_evm_no_signer_address");let A=B.connect(L),j=cy({chain:y,isEIP1559Compatible:X,provider:T}),{maxFeePerGas:r,maxPriorityFeePerGas:g,gasPrice:Xy}=(await j())[G],s=await B.getFunction(q).estimateGas(...x,z),qy=await A[q](...x,{...z,gasLimit:s,gasPrice:Xy,maxFeePerGas:r,maxPriorityFeePerGas:g,nonce:z?.nonce||await M.getTransactionCount(D)});return typeof qy?.hash==="string"?qy?.hash:qy}let N=await B[q]?.(...x);return typeof N?.hash==="string"?N?.hash:N}}function j1({provider:T,chain:X}){return function({assetAddress:y,spenderAddress:Z,from:f}){return y5({chain:X,isEIP1559Compatible:!0,provider:T})({abi:ey.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[f,Z]})}}function FX({provider:T,chain:X}){return async function({assetAddress:y,spenderAddress:Z,from:f,amount:J=ET}){let Q=await j1({chain:X,provider:T})({assetAddress:y,from:f,spenderAddress:Z});return H.SwapKitNumber.fromBigInt(Q).gte(H.SwapKitNumber.fromBigInt(BigInt(J)))}}function $X({signer:T,isEIP1559Compatible:X=!0,provider:L,chain:y}){return async function({assetAddress:f,spenderAddress:J,feeOptionKey:Q=H.FeeOption.Fast,amount:q,gasLimitFallback:x,from:z,nonce:G}){let M=[J,BigInt(q||ET)],W=await T?.getAddress()||z,B={abi:ey.erc20ABI,contractAddress:f,funcName:"approve",funcParams:M,signer:T,txOverrides:{from:W}};if(TT(L)){let D=oy({chain:y,provider:L}),A=XT(L),j=await D(B);return A(j)}return y5({chain:y,isEIP1559Compatible:X,provider:L,signer:T})({...B,feeOption:Q,funcParams:M,txOverrides:{from:W,gasLimit:x?BigInt(x.toString()):void 0,nonce:G}})}}function VX({signer:T,isEIP1559Compatible:X=!0,provider:L}){return async function({assetValue:Z,memo:f,recipient:J,feeOptionKey:Q=H.FeeOption.Fast,sender:q,...x}){let{hexlify:z,toUtf8Bytes:G}=await import("ethers"),M=Z.getBaseValue("bigint"),W=Z.chain,B=q||await T?.getAddress(),N=n1({chain:W,isEIP1559Compatible:X,provider:L,signer:T});if(!B)throw new H.SwapKitError("toolbox_evm_no_from_address");if(Z.isGasAsset){let Xy={...x,data:z(G(f||"")),feeOptionKey:Q,from:B,to:J,value:M};return N(Xy)}if(!fT(Z,W))throw new H.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:A,maxPriorityFeePerGas:j,gasPrice:r}=(await cy({chain:W,isEIP1559Compatible:X,provider:L})())[Q],g=await r0({chain:W,provider:L,signer:T})({assetValue:Z,data:z(G(f||"")),gasPrice:r,maxFeePerGas:A,maxPriorityFeePerGas:j,memo:f,recipient:J,sender:B});return N(g)}}function h1({provider:T,signer:X}){return function({contractAddress:y,abi:Z,funcName:f,funcParams:J=[],txOverrides:Q}){if(!y)throw new H.SwapKitError("toolbox_evm_no_contract_address");let q=vT(y,Z,T);return X?q.connect(X).getFunction(f).estimateGas(...J,Q):q.getFunction(f).estimateGas(...J,Q)}}function PX({provider:T,signer:X}){return async function({assetValue:y,recipient:Z,memo:f,data:J,sender:Q,funcName:q,funcParams:x,txOverrides:z}){let G=y.bigIntValue,M=y.isGasAsset?null:fT(y,y.chain);if(M&&q)return h1({provider:T,signer:X})({abi:ey.erc20ABI,contractAddress:M,funcName:q,funcParams:x,txOverrides:z});let{hexlify:W,toUtf8Bytes:B}=await import("ethers");return T.estimateGas({data:J?J:f?W(B(f)):void 0,from:Q,to:Z,value:G})}}function n1({provider:T,signer:X,isEIP1559Compatible:L=!0,chain:y}){return async function({feeOptionKey:f=H.FeeOption.Fast,...J}){let{from:Q,to:q,data:x,value:z,...G}=J;if(!X)throw new H.SwapKitError("toolbox_evm_no_signer");if(!q)throw new H.SwapKitError("toolbox_evm_no_to_address");let M={...G,data:x||"0x",from:Q,to:q,value:BigInt(z||0)};if(TT(T))return XT(T)(M);let W=Q||await X.getAddress(),B=J.nonce||await T.getTransactionCount(W),N=(await T.getNetwork()).chainId,D=KX(M)||L,A=cy({chain:y,isEIP1559Compatible:L,provider:T}),j=D&&!(M.maxFeePerGas&&M.maxPriorityFeePerGas)||!M.gasPrice?Object.entries((await A())[f]).reduce((g,[Xy,s])=>({...g,[Xy]:CT(BigInt(s))}),{}):{},r;try{r=CT(M.gasLimit||await T.estimateGas(M)*11n/10n)}catch(g){throw new H.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:g})}try{let g={...M,chainId:N,gasLimit:r,nonce:B,type:D?2:0,...j};try{return(await X.sendTransaction(g)).hash}catch(Xy){let s=await X.signTransaction({...g,from:W});return(await T.broadcastTransaction(s)).hash}}catch(g){throw new H.SwapKitError("toolbox_evm_error_sending_transaction",{error:g})}}}function r0({provider:T,signer:X}){return async function({assetValue:y,memo:Z,recipient:f,data:J,sender:Q,maxFeePerGas:q,maxPriorityFeePerGas:x,gasPrice:z,...G}){let M=y.getBaseValue("bigint"),W=y.chain,B=Q||await X?.getAddress();if(!B)throw new H.SwapKitError("toolbox_evm_no_from_address");if(H.isGasAsset(y)){let{hexlify:A,toUtf8Bytes:j}=await import("ethers");return{...G,data:J||A(j(Z||"")),from:B,to:f,value:M}}let N=fT(y,W);if(!N)throw new H.SwapKitError("toolbox_evm_no_contract_address");return oy({chain:y.chain,provider:T})({abi:ey.erc20ABI,contractAddress:N,funcName:"transfer",funcParams:[f,M],txOverrides:{from:B,gasPrice:z,maxFeePerGas:q,maxPriorityFeePerGas:x}})}}function lX({provider:T,signer:X,chain:L}){return async function({assetAddress:Z,spenderAddress:f,amount:J,from:Q}){let q=await X?.getAddress()||Q,x=oy({chain:L,provider:T}),z=["bigint","number"].includes(typeof J)?J:J||ET;return await x({abi:ey.erc20ABI,contractAddress:Z,funcName:"approve",funcParams:[f,BigInt(z)],txOverrides:{from:q}})}}function AX({provider:T,isEIP1559Compatible:X=!0}){return async function({feeOption:y=H.FeeOption.Fast,chain:Z,...f}){let Q=await cy({chain:Z,isEIP1559Compatible:X,provider:T})(),q=await T.estimateGas(f),x=H.AssetValue.from({chain:Z}),{gasPrice:z,maxFeePerGas:G,maxPriorityFeePerGas:M}=Q[y];if(!X&&z)return x.set(H.SwapKitNumber.fromBigInt(z*q,x.decimal));if(G&&M){let W=(G+M)*q;return x.set(H.SwapKitNumber.fromBigInt(W,x.decimal))}throw new H.SwapKitError("toolbox_evm_no_gas_price")}}var H,ey,Ly,ET,EX,vX,KX=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var L0=$(()=>{H=require("@swapkit/helpers"),ey=require("@swapkit/helpers/contracts"),Ly=require("ethers");sy();ET=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");EX=["payable","nonpayable"];vX={[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}});async function J0({provider:T,...X}){let L=await Cy(fy.Chain.Ethereum)({provider:T,...X});async function y(Z,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",J="aggregate",Q=fy.FeeOption.Fast){let q=await L.createContractTxObject({abi:A1,contractAddress:f,funcName:J,funcParams:[Z]});return L.sendTransaction({...q,feeOptionKey:Q})}return{...L,multicall:y}}function Cy(T){return async function({provider:L,...y}){let Z=await fy.getRPCUrl(T),f=L||await my(T,Z),J=i0(T),Q=FT.match(y).with({phrase:FT.P.string},({phrase:x})=>p1.HDNodeWallet.fromPhrase(x).connect(f)).with({signer:FT.P.any},({signer:x})=>x).otherwise(()=>{return});return{...yT({chain:T,isEIP1559Compatible:J,provider:f,signer:Q}),getBalance:wT(T).getBalance,getNetworkParams:t0(T)}}}var fy,p1,FT,Q0,q0,x0,z0,G0,M0,B0,W0;var T5=$(()=>{fy=require("@swapkit/helpers"),p1=require("ethers"),FT=require("ts-pattern");Z0();S1();sy();L0();Q0=Cy(fy.Chain.Arbitrum),q0=Cy(fy.Chain.Aurora),x0=Cy(fy.Chain.Avalanche),z0=Cy(fy.Chain.Base),G0=Cy(fy.Chain.Berachain),M0=Cy(fy.Chain.BinanceSmartChain),B0=Cy(fy.Chain.Gnosis),W0=Cy(fy.Chain.Polygon)});var m1;var o1=$(()=>{m1=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function X5(T){return new H0.Contract(SX,m1,T)}function c1(T){return function(){let L=X5(T);if(L&&"l1BaseFee"in L)return L?.l1BaseFee();return}}function g1(T){return async function({from:L,to:y,nonce:Z,...f}){let{Transaction:J}=await import("ethers");if(!y)throw new u.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return J.from({...f,authorizationList:f.authorizationList,nonce:Z?Z:L?await T.getTransactionCount(L):0,to:y}).serialized}}function d1(T){return async function(L){let y=X5(T),Z=await g1(T)(L);if(y&&"getL1Fee"in y)return y.getL1Fee(Z)}}function t1(T){return async function(L){let y=await T.send("eth_gasPrice",[]),Z=await T.estimateGas(L);return y.mul(Z)}}function bX(T){return async function(L){let y=await d1(T)(L),Z=await t1(T)(L);return y.add(Z)}}function uX(T){return async function(L){let y=X5(T),Z=await g1(T)(L);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(Z)}}async function hX(T){try{let{maxFeePerGas:X,maxPriorityFeePerGas:L,gasPrice:y}=await T.getFeeData(),Z=c1(T)(),f=y;if(!(X&&L))throw new u.SwapKitError("toolbox_evm_no_fee_data");return{[u.FeeOption.Average]:{gasPrice:f,l1GasPrice:Z,maxFeePerGas:X,maxPriorityFeePerGas:L},[u.FeeOption.Fast]:{gasPrice:u.applyFeeMultiplierToBigInt(f,u.FeeOption.Fast),l1GasPrice:u.applyFeeMultiplierToBigInt(Z||0n,u.FeeOption.Fast),maxFeePerGas:X,maxPriorityFeePerGas:u.applyFeeMultiplierToBigInt(L,u.FeeOption.Fast)},[u.FeeOption.Fastest]:{gasPrice:u.applyFeeMultiplierToBigInt(f,u.FeeOption.Fastest),l1GasPrice:u.applyFeeMultiplierToBigInt(Z||0n,u.FeeOption.Fastest),maxFeePerGas:X,maxPriorityFeePerGas:u.applyFeeMultiplierToBigInt(L,u.FeeOption.Fastest)}}}catch(X){throw new u.SwapKitError("toolbox_evm_gas_estimation_error",{error:X.msg??X.toString()})}}async function Y0({provider:T,...X}){let L=u.Chain.Optimism,y=await u.getRPCUrl(L),Z=T||await my(L,y),f=$T.match(X).with({phrase:$T.P.string},({phrase:q})=>H0.HDNodeWallet.fromPhrase(q).connect(Z)).with({signer:$T.P.any},({signer:q})=>q).otherwise(()=>{return}),J=yT({provider:Z,signer:f}),Q=c1(Z);return{...J,estimateGasPrices:hX(Z),estimateL1Gas:uX(Z),estimateL1GasCost:d1(Z),estimateL2GasCost:t1(Z),estimateTotalGasCost:bX(Z),getBalance:wT(u.Chain.Optimism).getBalance,getL1GasPrice:Q,getNetworkParams:jX}}var u,H0,$T,SX="0x420000000000000000000000000000000000000f",jX=()=>({blockExplorerUrls:[u.ChainToExplorerUrl[u.Chain.Optimism]],chainId:u.ChainId.OptimismHex,chainName:"Optimism",nativeCurrency:{decimals:u.BaseDecimal.ETH,name:"Ethereum",symbol:u.Chain.Ethereum},rpcUrls:[u.SKConfig.get("rpcUrls")[u.Chain.Optimism]]});var f5=$(()=>{u=require("@swapkit/helpers"),H0=require("ethers"),$T=require("ts-pattern");Z0();o1();sy();L0()});var r1={};Gy(r1,{toChecksumAddress:()=>b1,isStateChangingCall:()=>e0,isBrowserProvider:()=>TT,getTokenAddress:()=>fT,getEvmToolbox:()=>i1,getEstimateGasPrices:()=>cy,getEIP1193SendTransaction:()=>XT,getCreateContractTxObject:()=>oy,getCreateContract:()=>s0,getChecksumAddressFromAsset:()=>u1,evmValidateAddress:()=>a0,createContract:()=>vT,OPToolbox:()=>Y0,MAX_APPROVAL:()=>ET,MATICToolbox:()=>W0,GNOToolbox:()=>B0,ETHToolbox:()=>J0,BaseEVMToolbox:()=>yT,BSCToolbox:()=>M0,BERAToolbox:()=>G0,BASEToolbox:()=>z0,AVAXToolbox:()=>x0,AURORAToolbox:()=>q0,ARBToolbox:()=>Q0});async function i1(T,X){let L={...X,provider:X?.provider||await my(T)};switch(T){case Jy.Chain.Arbitrum:return Q0(L);case Jy.Chain.Aurora:return q0(L);case Jy.Chain.Avalanche:return x0(L);case Jy.Chain.Base:return z0(L);case Jy.Chain.Berachain:return G0(L);case Jy.Chain.BinanceSmartChain:return M0(L);case Jy.Chain.Gnosis:return B0(L);case Jy.Chain.Optimism:return Y0(L);case Jy.Chain.Polygon:return W0(L);case Jy.Chain.Ethereum:return J0(L);default:throw new Jy.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var Jy;var Z5=$(()=>{Jy=require("@swapkit/helpers");sy();T5();f5();L0();T5();f5()});var a1;var s1=$(()=>{((L)=>{L.Test="goerli";L.Main="homestead"})(a1||={})});var e1={};Gy(e1,{toHexString:()=>CT,toChecksumAddress:()=>b1,isStateChangingCall:()=>e0,isBrowserProvider:()=>TT,getTokenAddress:()=>fT,getProvider:()=>my,getNetworkParams:()=>t0,getIsEIP1559Compatible:()=>i0,getEvmToolbox:()=>i1,getEvmApi:()=>wT,getEstimateGasPrices:()=>cy,getEIP1193SendTransaction:()=>XT,getCreateContractTxObject:()=>oy,getCreateContract:()=>s0,getChecksumAddressFromAsset:()=>u1,evmValidateAddress:()=>a0,createCustomEvmApi:()=>OX,createContract:()=>vT,OPToolbox:()=>Y0,MAX_APPROVAL:()=>ET,MATICToolbox:()=>W0,GNOToolbox:()=>B0,EthNetwork:()=>a1,ETHToolbox:()=>J0,BaseEVMToolbox:()=>yT,BSCToolbox:()=>M0,BERAToolbox:()=>G0,BASEToolbox:()=>z0,AVAXToolbox:()=>x0,AURORAToolbox:()=>q0,ARBToolbox:()=>Q0});module.exports=_y(e1);var y2=$(()=>{Z0();sy();Z5();s1()});async function nX(T,X,L){try{let y=await T.query.system?.account?.(L);if(!y)return[X.set(0)];let{data:{free:Z}}=y,f=gy.SwapKitNumber.fromBigInt(BigInt(Z.toString()),X.decimal).getValue("string");return[X.set(f)]}catch(y){return console.error("Error fetching substrate balance:",y),[X.set(0)]}}async function pX(T,X,L){try{let y=await T.query.flip?.account?.(L);if(!y)return[X.set(0)];let Z=y.balance||y.data?.balance;if(!Z||Z.isEmpty)return[X.set(0)];let f=gy.SwapKitNumber.fromBigInt(BigInt(Z.toString()),X.decimal).getValue("string");return[X.set(f)]}catch(y){return console.error("Error fetching chainflip balance:",y),[X.set(0)]}}function T2(T,X){return function(y){let Z=gy.AssetValue.from({chain:T});switch(T){case gy.Chain.Chainflip:return pX(X,Z,y);default:return nX(X,Z,y)}}}var gy;var X2=$(()=>{gy=require("@swapkit/helpers")});var mX,oX,cX,by;var L5=$(()=>{mX={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},oX={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},cX={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},by={DOT:mX,FLIP:oX,GENERIC:cX}});function gX(T,X){switch(T){case t.Chain.Chainflip:return Z2(X);case t.Chain.Polkadot:return f2(X);default:throw new t.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function ZT(T){return"address"in T}async function Q5(T,X){let{Keyring:L}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new L({ss58Format:X,type:"sr25519"}).addFromUri(T)}function eX(T,X){let L=JT.decodeAddress(T);return JT.encodeAddress(L,X)}function L2(T,X){return LT.isHex(T)?LT.hexToU8a(T):JT.decodeAddress(T,void 0,X)}function J2(T,X="ss58",L){if(X==="hex")return LT.u8aToHex(T);return JT.encodeAddress(T,L)}async function z5({generic:T,chain:X,...L}){let{ApiPromise:y,WsProvider:Z}=await import("@polkadot/api"),f=await t.getRPCUrl(X),J=new Z(f),Q=await y.create({provider:J}),q=t.AssetValue.from({chain:X}),x=T?by.GENERIC:by[X],z=await VT.match(L).with({phrase:VT.P.string},({phrase:G})=>Q5(G,by[X].prefix)).with({signer:VT.P.any},({signer:G})=>G).otherwise(()=>{return});return Q2({api:Q,chain:X,gasAsset:q,network:x,signer:z})}var LT,JT,t,VT,f2=({generic:T=!1,...X}={})=>{return z5({chain:t.Chain.Polkadot,generic:T,...X})},Z2=async({generic:T=!1,...X}={})=>{return{...await z5({chain:t.Chain.Chainflip,generic:T,...X})}},q5=(T,X)=>T.rpc.system.accountNextIndex(X),J5=(T,X)=>{try{let L=L2(T,X);return J2(L,"ss58",X),!0}catch(L){return!1}},x5=(T,{recipient:X,assetValue:L})=>T.tx.balances?.transferAllowDeath?.(X,L.getBaseValue("number")),dX=async(T,X,{recipient:L,assetValue:y,sender:Z})=>{let f=x5(T,{assetValue:y,recipient:L});if(!f)throw new t.SwapKitError("toolbox_substrate_transfer_error");let J=ZT(X),Q=J?X.address:Z;if(!Q)throw new t.SwapKitError("core_transaction_invalid_sender_address");let q=await q5(T,Q);return(await f.signAndSend(J?X:Q,{nonce:q,signer:J?void 0:X})).toString()},tX=async(T,X,L,{recipient:y,assetValue:Z,sender:f})=>{let J=x5(T,{assetValue:Z,recipient:y}),Q=ZT(X)?X.address:f;if(!Q)return;let q=await J?.paymentInfo(Q,{nonce:await q5(T,Q)})||{partialFee:0};return L.set(t.SwapKitNumber.fromBigInt(BigInt(q.partialFee.toString()),L.decimal).getValue("string"))},iX=async(T,X)=>{if(X)return T.send(X);return(await T.send()).toString()},rX=async(T,X)=>{return await X.signAsync(T)},aX=(T,X,L)=>{if(L)return X.signAndSend(T,L);return X.signAndSend(T).toString()},sX=async({signer:T,address:X,tx:L,callback:y,api:Z})=>{let f=await q5(Z,X);if(y)L.signAndSend(X,{nonce:f,signer:T},y);return L.signAndSend(X,{nonce:f,signer:T}).toString()},Q2=({api:T,network:X,gasAsset:L,signer:y,chain:Z})=>({api:T,broadcast:iX,convertAddress:eX,createKeyring:(f)=>Q5(f,X.prefix),createTransaction:(f)=>x5(T,f),decodeAddress:L2,encodeAddress:J2,estimateTransactionFee:(f)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return tX(T,y,L,f)},gasAsset:L,getAddress:(f)=>{let J=f||y;if(!J)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return ZT(J)?J.address:void 0},getBalance:T2(Z||t.Chain.Polkadot,T),network:X,sign:(f)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");if(ZT(y))return rX(y,f);throw new t.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:f,callback:J,address:Q})=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");if(ZT(y))return aX(y,f,J);if(Q)return sX({address:Q,api:T,callback:J,signer:y,tx:f});throw new t.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(f)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return dX(T,y,f)},validateAddress:(f)=>J5(f,X.prefix)}),y8=({address:T,chain:X})=>{let{prefix:L}=X===t.Chain.Polkadot?by.DOT:by.FLIP;return J5(T,L)||J5(T,by.GENERIC.prefix)};var q2=$(()=>{LT=require("@polkadot/util"),JT=require("@polkadot/util-crypto"),t=require("@swapkit/helpers"),VT=require("ts-pattern");X2();L5()});var G5={};Gy(G5,{substrateValidateAddress:()=>y8,isKeyringPair:()=>ZT,getSubstrateToolbox:()=>gX,createSubstrateToolbox:()=>z5,createKeyring:()=>Q5,SubstrateNetwork:()=>by,PolkadotToolbox:()=>f2,ChainflipToolbox:()=>Z2,BaseSubstrateToolbox:()=>Q2});module.exports=_y(G5);var M5=$(()=>{q2();L5()});async function T8({chain:T,txHash:X}){let L=`${U0(T)}/push/transaction`,y=JSON.stringify({data:X});try{let Z=await b.RequestClient.post(L,{body:y,headers:{"Content-Type":"application/json"}});if(Z.context.code!==200)throw new b.SwapKitError("toolbox_utxo_broadcast_failed",{error:Z.context.error||"Transaction broadcast failed"});return Z.data?.transaction_hash||X}catch(Z){let f=await b.getRPCUrl(T);if(f){let J=JSON.stringify({id:l1(),jsonrpc:"2.0",method:"sendrawtransaction",params:[X]}),Q=await b.RequestClient.post(f,{body:J,headers:{"Content-Type":"application/json"}});if(Q.error)throw new b.SwapKitError("toolbox_utxo_broadcast_failed",{error:Q.error?.message});if(Q.result.includes('"code":-26'))throw new b.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return Q.result}throw Z}}function U0(T){return`https://api.blockchair.com/${X8(T)}`}function x2(T){switch(T){case b.Chain.Bitcoin:return 5;case b.Chain.Dogecoin:return 1e4;case b.Chain.Litecoin:return 1;case b.Chain.Zcash:return 1;default:return 2}}function X8(T){switch(T){case b.Chain.BitcoinCash:return"bitcoin-cash";case b.Chain.Litecoin:return"litecoin";case b.Chain.Dash:return"dash";case b.Chain.Dogecoin:return"dogecoin";case b.Chain.Zcash:return"zcash";case b.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function f8(T){try{let{feePerKb:X}=await b.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),L=X/1000;return Math.max(L,x2(T))}catch(X){return x2(T)}}async function B5(T,X){let L=await b.RequestClient.get(`${T}${X?`${T.includes("?")?"&":"?"}key=${X}`:""}`);if(!L||L.context.code!==200)throw new b.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return L.data}async function B2({address:T,chain:X,apiKey:L}){if(!T)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await B5(`${U0(X)}/dashboards/address/${T}?transaction_details=true`,L))[T]}catch(y){return{address:{balance:0,transaction_count:0},utxo:[]}}}async function Z8({address:T,chain:X,apiKey:L}){return(await B2({address:T,apiKey:L,chain:X}))?.address.balance||0}async function W2({chain:T,apiKey:X,txHash:L}){if(!L)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await B5(`${U0(T)}/raw/transaction/${L}`,X))?.[L]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function L8({chain:T,address:X,apiKey:L,offset:y=0,limit:Z=30}){return(await B5(`${U0(T)}/outputs?q=recipient(${X}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${Z}&offset=${y}`,L)).map(({is_spent:q,script_hex:x,block_id:z,transaction_hash:G,index:M,value:W,spending_signature_hex:B})=>({hash:G,index:M,is_confirmed:z!==-1,is_spent:q,script_hex:x,txHex:B,value:W}))}function J8(T){return T.reduce((X,L)=>X+L.value,0)}function z2(T,X){let L=[...T].sort((y,Z)=>Z.value-y.value);if(X){let y=[],Z=0;for(let f of L)if(y.push(f),Z+=f.value,Z>=X)break;return y}return L}async function H2({chain:T,address:X,apiKey:L,targetValue:y,accumulativeValue:Z=0,offset:f=0,limit:J=30}){if(!X)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let Q=await L8({address:X,apiKey:L,chain:T,limit:J,offset:f,targetValue:y}),x=Q.length<J,z=Q.filter(({is_spent:D})=>!D),G=J8(z),M=Z+G,W=y&&M>=y;if(x||W)return z2(z,y);let B=await H2({accumulativeValue:M,address:X,apiKey:L,chain:T,limit:J,offset:f+J,targetValue:y}),N=[...z,...B];return z2(N,y)}catch(Q){return console.error("Failed to fetch unspent UTXOs:",Q),[]}}async function Q8({address:T,chain:X,apiKey:L,fetchTxHex:y=!0,targetValue:Z}){let f=await H2({address:T,apiKey:L,chain:X,targetValue:Z}),J=[];for(let{hash:Q,index:q,script_hex:x,value:z}of f){let G;if(y)G=await W2({apiKey:L,chain:X,txHash:Q});J.push({address:T,hash:Q,index:q,txHex:G,value:z,witnessUtxo:{script:Buffer.from(x,"hex"),value:z}})}return J}function q8(T){let X=b.SKConfig.get("apiKeys").blockchair||"";return b.warnOnce({condition:!X,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(L)=>T8({chain:T,txHash:L}),getAddressData:(L)=>B2({address:L,apiKey:X,chain:T}),getBalance:(L)=>Z8({address:L,apiKey:X,chain:T}),getRawTx:(L)=>W2({apiKey:X,chain:T,txHash:L}),getSuggestedTxFee:()=>f8(T),getUtxos:(L)=>Q8({...L,apiKey:X,chain:T})}}function x8(T){return T}function Qy(T){let X=b.SKConfig.get("apis")[T];if(X)return b.warnOnce({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),X;return q8(T)}function Ry(){return function(X){switch(X){case b.Chain.Bitcoin:return M2.networks.bitcoin;case b.Chain.BitcoinCash:return QT.default.bitcoincash.main.toBitcoinJS();case b.Chain.Dash:return QT.default.dash.main.toBitcoinJS();case b.Chain.Litecoin:return QT.default.litecoin.main.toBitcoinJS();case b.Chain.Dogecoin:{let L={private:70615956,public:70617039},y=QT.default.dogecoin.test;return y.versions.bip32=L,QT.default.dogecoin.main.toBitcoinJS()}case b.Chain.Zcash:return G2.networks.zcash;default:throw new b.SwapKitError("toolbox_utxo_not_supported",{chain:X})}}}var G2,b,M2,QT;var Y2=$(()=>{G2=require("@bitgo/utxo-lib"),b=require("@swapkit/helpers"),M2=require("bitcoinjs-lib"),QT=Y(require("coininfo"));X0()});function _5(T){try{return _0(T),!0}catch(X){return!1}}function R5(T){return _0(T)?.network}function qT(T){let X=_0(T);if(X?.format==="legacy")return T;return M8(X)}function PT(T){let X=_0(T);return B8(X)}function _0(T){try{let X=z8(T);if(X)return X}catch(X){}try{let X=G8(T);if(X)return X}catch(X){}throw new W5.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function z8(T){try{let X=H5.default.decode(T);if(X.length!==21)throw new W5.SwapKitError("toolbox_utxo_invalid_address",{address:T});let L=X[0],y=Array.prototype.slice.call(X,1);switch(L){case c.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case c.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case c.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case c.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case c.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case c.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch(X){return}}function G8(T){if(T.indexOf(":")!==-1)try{return U2(T)}catch(X){}else{let X=["bitcoincash","bchtest","bchreg"];for(let L of X)try{return U2(`${L}:${T}`)}catch(y){}}return}function U2(T){try{let{hash:X,prefix:L,type:y}=Y5.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(X,0),network:L==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch(X){return}}function M8(T){let X=c.legacy[T.network][T.type],L=Buffer.alloc(1+T.hash.length);return L[0]=X,L.set(T.hash,1),H5.default.encode(L)}function B8(T){let X=T.network==="mainnet"?"bitcoincash":"bchtest",L=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return Y5.default.encode(X,L,y)}var W5,H5,Y5,U5,c;var _2=$(()=>{W5=require("@swapkit/helpers"),H5=Y(require("bs58check")),Y5=Y(require("cashaddrjs"));((L)=>{L.Mainnet="mainnet";L.Testnet="testnet"})(U5||={});c={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Ny(T){let X=Buffer.from(T,"utf8");return N0.script.compile([N0.opcodes.OP_RETURN,X])}var R2,N0,W8=1000,k0=10,N2=10,H8=41,Y8=107,D0,R0,KT,lT=(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 R2.SwapKitError("toolbox_utxo_invalid_address",{address:T})},xT=({inputs:T,outputs:X,feeRate:L})=>{let y=T[0]&&"address"in T[0]&&T[0].address?lT(T[0].address):"P2PKH",Z=T.filter((J)=>J.value>=R0["type"in J?J.type:"P2PKH"]*Math.ceil(L)).reduce((J,Q)=>J+uy(Q),0),f=X?.reduce((J,Q)=>J+AT(Q),0)||KT[y];return k0+Z+f},uy=(T)=>{if("type"in T)return R0[T.type];if("address"in T&&T.address)return R0[lT(T.address)];return H8+Y8},AT=(T,X)=>{if(T?.script)return N2+T.script.length+(T.script.length>=74?2:1);if(X)return KT[X];return KT.P2PKH};var N5=$(()=>{R2=require("@swapkit/helpers"),N0=require("bitcoinjs-lib");((L)=>{L.P2PKH="P2PKH";L.P2WPKH="P2WPKH"})(D0||={});R0={["P2PKH"]:148,["P2WPKH"]:68},KT={["P2PKH"]:34,["P2WPKH"]:31}});function I0(T){switch(T){case ky.Chain.Bitcoin:case ky.Chain.BitcoinCash:return 550;case ky.Chain.Dash:case ky.Chain.Litecoin:return 5500;case ky.Chain.Dogecoin:return 1e5;case ky.Chain.Zcash:return 546;default:throw new ky.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function Dy({inputs:T,outputs:X,feeRate:L=1,chain:y=ky.Chain.Bitcoin,changeAddress:Z=""}){let f=Math.ceil(L),J=T[0]&&"address"in T[0]&&T[0].address?lT(T[0].address):"P2PKH",Q=T.filter((W)=>uy(W)*f<=W.value),q=k0+X.reduce((W,B)=>W+AT(B,J),0),x=X.reduce((W,B)=>W+B.value,0),z=q*f,G=0,M=[];for(let W of Q){let B=uy(W),N=f*B;z+=N,G+=W.value,M.push(W);let D=z+x;if(G<D)continue;let A=G-D,j=f*AT({address:"",value:0},J);if(A>j){let r=j+z,g=G-(x+r);if(g>Math.max(uy({})*f,I0(y)))return{fee:r,inputs:M,outputs:X.concat({address:Z,value:g})}}return{fee:z,inputs:M,outputs:X}}return{fee:f*xT({feeRate:f,inputs:T,outputs:X})}}var ky;var k2=$(()=>{ky=require("@swapkit/helpers");N5()});var zT=$(()=>{Y2();_2();k2();N5()});function dy(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function jy(T){let X=dy(T);return _5(X)&&R5(X)==="mainnet"}function GT(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 X=O0.networks.zcash;try{return O0.address.toOutputScript(T,X),!0}catch{let L=D2.default.decode(T);if(L.length<21)return!1;let y=L[0];return y===X.pubKeyHash||y===X.scriptHash}}catch{return!1}}var O0,D2;var ST=$(()=>{O0=require("@bitgo/utxo-lib"),D2=Y(require("bs58check"));zT()});function w2({inputs:T,outputs:X,chain:L,psbt:y,sender:Z,compiledMemo:f}){for(let J of T){let Q=!!J.witnessUtxo&&!bT.includes(L)&&{witnessUtxo:J.witnessUtxo},q=bT.includes(L)&&{nonWitnessUtxo:J.txHex?Buffer.from(J.txHex,"hex"):void 0};y.addInput({hash:J.hash,index:J.index,...Q,...q})}for(let J of X){let Q="address"in J&&J.address?J.address:Z,q=J.script;if(q&&!f)continue;let x=q?{script:f,value:0}:{address:Q,value:J.value};Iy.initEccLib(w0.default),y.addOutput(x)}return{inputs:T,psbt:y}}async function C2({assetValue:T,recipient:X,memo:L,feeRate:y,sender:Z,fetchTxHex:f=!1}){let J=T.chain,Q=L?await Ny(L):null,q=await F2({assetValue:T,fetchTxHex:f,memo:L,recipient:X,sender:Z}),{inputs:x,outputs:z}=Dy({...q,chain:J,feeRate:y});if(!(x&&z))throw new V.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:Z});let G=await Ry(),M=new Iy.Psbt({network:G(J)});if(J===V.Chain.Dogecoin)M.setMaximumFeeRate(650000000);let{psbt:W,inputs:B}=await w2({chain:J,compiledMemo:Q,inputs:x,outputs:z,psbt:M,sender:Z});return{inputs:B,psbt:W,utxos:q.inputs}}async function E2(){let T=await Ry();return function({address:L,chain:y}){if(y===V.Chain.BitcoinCash)return jy(L);if(y===V.Chain.Zcash)return GT(L);try{return Iy.initEccLib(w0.default),Iy.address.toOutputScript(L,T(y)),!0}catch(Z){return!1}}}async function U8({chain:T,phrase:X,derivationPath:L}){let y=(await uT(T))({derivationPath:L,phrase:X});async function Z(J){return await J.signAllInputs(y),J}async function f(){return(await D5(T))(y)}return{getAddress:f,signTransaction:Z}}async function ty({chain:T,...X}){let L="phrase"in X?X.phrase:void 0,y="index"in X?X.index||0:0,Z=V.derivationPathToString("derivationPath"in X&&X.derivationPath?X.derivationPath:V.updateDerivationPath(V.NetworkDerivationPath[T],{index:y})),f=L?await U8({chain:T,derivationPath:Z,phrase:L}):("signer"in X)?X.signer:void 0;function J(){return Promise.resolve(f?.getAddress())}let Q=await D5(T),q=await E2(),x=await uT(T);return{accumulative:Dy,broadcastTx:(z)=>Qy(T).broadcastTx(z),calculateTxSize:xT,createKeysForPath:x,createTransaction:C2,estimateMaxSendableAmount:_8(T),estimateTransactionFee:R8(T),getAddress:J,getAddressFromKeys:Q,getBalance:T0(T),getFeeRates:()=>jT(T),getInputsOutputsFee:v2,getPrivateKeyFromMnemonic:(z)=>{return x(z).toWIF()},transfer:N8(f),validateAddress:(z)=>q({address:z,chain:T})}}async function v2({assetValue:T,feeOptionKey:X=V.FeeOption.Fast,feeRate:L,memo:y,sender:Z,recipient:f}){let J=T.chain,Q=await F2({assetValue:T,memo:y,recipient:f,sender:Z}),q=L?Math.floor(L):(await jT(J))[X];return Dy({...Q,chain:J,feeRate:q})}function _8(T){return async function({from:L,memo:y,feeRate:Z,feeOptionKey:f=V.FeeOption.Fast,recipients:J=1}){let Q=await Qy(T).getAddressData(L),q=Z?Math.ceil(Z):(await jT(T))[f],x=Q?.utxo.map((B)=>({...B,hash:"",type:"P2PKH"})).filter((B)=>B.value>Math.max(I0(T),uy(B)*q));if(!x?.length)return V.AssetValue.from({chain:T});let z=V.AssetValue.from({chain:T,value:x.reduce((B,N)=>B+N.value,0)}),G=typeof J==="number"?Array.from({length:J},()=>({address:L,value:0})):J;if(y){let B=await Ny(y);G.push({address:L,script:B,value:0})}let W=xT({feeRate:q,inputs:x,outputs:G})*q;return z.sub(W)}}function R8(T){return async(X)=>{let L=await v2(X);return V.AssetValue.from({chain:T,value:V.SwapKitNumber.fromBigInt(BigInt(L.fee),8).getValue("string")})}}async function uT(T){let X=await Ry();switch(T){case V.Chain.BitcoinCash:return function({phrase:y,derivationPath:Z=`${V.DerivationPath.BCH}/0`,wif:f}){let J=X(T);if(f)return C0.ECPair.fromWIF(f,J);if(!y)throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return C0.HDNode.fromSeedBuffer(Buffer.from(k5.mnemonicToSeedSync(y)),J).derivePath(Z).keyPair};case V.Chain.Bitcoin:case V.Chain.Dogecoin:case V.Chain.Litecoin:case V.Chain.Zcash:case V.Chain.Dash:return function({phrase:y,wif:Z,derivationPath:f}){if(!(Z||y))throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let J=O2.ECPairFactory(w0.default),Q=X(T);if(Z)return J.fromWIF(Z,Q);let q=k5.mnemonicToSeedSync(y),x=I2.HDKey.fromMasterSeed(q,Q).derive(f);if(!x.privateKey)throw new V.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 V.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}async function D5(T){let X=await Ry();return function(y){if(!y)throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let Z=bT.includes(T)?Iy.payments.p2pkh:Iy.payments.p2wpkh,{address:f}=Z({network:X(T),pubkey:y.publicKey});if(!f)throw new V.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return f}}function N8(T){return async function({memo:L,recipient:y,feeOptionKey:Z,feeRate:f,assetValue:J}){let Q=await T?.getAddress(),q=J.chain;if(!(T&&Q))throw new V.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let x=f||(await jT(q))[Z||V.FeeOption.Fast],{psbt:z}=await C2({assetValue:J,feeRate:x,memo:L,recipient:y,sender:Q}),G=await T.signTransaction(z);return G.finalizeAllInputs(),Qy(q).broadcastTx(G.extractTransaction().toHex())}}async function jT(T){let X=await Qy(T).getSuggestedTxFee();return{[V.FeeOption.Average]:X,[V.FeeOption.Fast]:V.applyFeeMultiplier(X,V.FeeOption.Fast),[V.FeeOption.Fastest]:V.applyFeeMultiplier(X,V.FeeOption.Fastest)}}async function F2({assetValue:T,recipient:X,memo:L,sender:y,fetchTxHex:Z=!1}){let f=T.chain,J=(await jT(f))[V.FeeOption.Fastest],Q=Z||bT.includes(f),q=T.getBaseValue("number"),x=Math.ceil(q+J*5000);return{inputs:await Qy(f).getUtxos({address:y,fetchTxHex:Q,targetValue:x}),outputs:[{address:X,value:q},...L?[{address:"",script:await Ny(L),value:0}]:[]]}}var w0,C0,I2,k5,V,Iy,O2,bT;var hT=$(()=>{w0=Y(require("@bitcoinerlab/secp256k1")),C0=require("@psf/bitcoincashjs-lib"),I2=require("@scure/bip32"),k5=require("@scure/bip39"),V=require("@swapkit/helpers"),Iy=require("bitcoinjs-lib"),O2=require("ecpair");X0();zT();ST();bT=[V.Chain.Dash,V.Chain.Dogecoin,V.Chain.Zcash,V.Chain.BitcoinCash]});function iy(T){return dy(PT(T))}function k8(T){function X({builder:y,utxos:Z}){return Z.forEach((f,J)=>{y.sign(J,T,void 0,65,f.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(iy(y))},signTransaction:X}}async function I5(T){let X="phrase"in T?T.phrase:void 0,L="index"in T?T.index||0:0,y=yy.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:yy.updateDerivationPath(yy.NetworkDerivationPath[Yy],{index:L})),Z=X?(await uT(Yy))({derivationPath:y,phrase:X}):void 0,f=Z?k8(Z):("signer"in T)?T.signer:void 0;function J(){return Promise.resolve(f?.getAddress())}let{getBalance:Q,getFeeRates:q,broadcastTx:x,...z}=await ty({chain:Yy});function G(M,W=!0){return Q(dy(PT(M)))}return{...z,broadcastTx:x,buildTx:I8,createTransaction:V2,getAddress:J,getAddressFromKeys:O8,getBalance:G,getFeeRates:q,stripPrefix:dy,stripToCashAddress:iy,transfer:D8({broadcastTx:x,getFeeRates:q,signer:f}),validateAddress:jy}}async function V2({assetValue:T,recipient:X,memo:L,feeRate:y,sender:Z}){if(!jy(X))throw new yy.SwapKitError("toolbox_utxo_invalid_address",{address:X});let f=Math.ceil(T.getBaseValue("number")+y*7500),J=await Qy(Yy).getUtxos({address:iy(Z),fetchTxHex:!0,targetValue:f}),Q=L?await Ny(L):null,q=[];q.push({address:X,value:T.getBaseValue("number")});let{inputs:x,outputs:z}=Dy({chain:Yy,feeRate:y,inputs:J,outputs:q});if(!(x&&z))throw new yy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:Z});let G=await Ry(),M=new MT.TransactionBuilder(G(Yy));await Promise.all(x.map(async(W)=>{let B=await Qy(Yy).getRawTx(W.hash);M.addInput(MT.Transaction.fromBuffer(Buffer.from(B,"hex")),W.index)}));for(let W of z){let B="address"in W&&W.address?W.address:qT(Z),N=await Ry(),D=MT.address.toOutputScript(qT(B),N(Yy));M.addOutput(D,W.value)}if(Q)M.addOutput(Q,0);return{builder:M,utxos:x}}function D8({broadcastTx:T,getFeeRates:X,signer:L}){return async function({recipient:Z,assetValue:f,feeOptionKey:J=yy.FeeOption.Fast,...Q}){let q=await L?.getAddress();if(!(L&&q))throw new yy.SwapKitError("toolbox_utxo_no_signer");if(!Z)throw new yy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let x=Q.feeRate||(await X())[J],{builder:z,utxos:G}=await V2({...Q,assetValue:f,feeRate:x,recipient:Z,sender:q}),W=(await L.signTransaction({builder:z,utxos:G})).toHex();return T(W)}}async function I8({assetValue:T,recipient:X,memo:L,feeRate:y,sender:Z,setSigHashType:f}){let J=PT(X);if(!jy(J))throw new yy.SwapKitError("toolbox_utxo_invalid_address",{address:J});let Q=Math.ceil(T.getBaseValue("number")+y*7500),q=await Qy(Yy).getUtxos({address:iy(Z),fetchTxHex:!1,targetValue:Q}),x=Number(y.toFixed(0)),z=L?await Ny(L):null,G=[];if(G.push({address:qT(X),value:T.getBaseValue("number")}),z)G.push({script:z,value:0});let{inputs:M,outputs:W}=Dy({chain:Yy,feeRate:x,inputs:q,outputs:G});if(!(M&&W))throw new yy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:Z});let B=await Ry(),N=new $2.Psbt({network:B(Yy)});for(let{hash:D,index:A,witnessUtxo:j}of M)N.addInput({hash:D,index:A,sighashType:f?65:void 0,witnessUtxo:j});for(let D of W){let A="address"in D&&D.address?D.address:qT(Z),j=D.script?z?{script:z,value:0}:void 0:{address:A,value:D.value};if(j)N.addOutput(j)}return{inputs:M,psbt:N,utxos:q}}function O8(T){let X=T.getAddress(0);return iy(X)}var MT,yy,$2,Yy;var E0=$(()=>{MT=require("@psf/bitcoincashjs-lib"),yy=require("@swapkit/helpers"),$2=require("bitcoinjs-lib");zT();hT();ST();Yy=yy.Chain.BitcoinCash});function l2(){return Uy.networks.zcash}function A2(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
-
`,pubKeyHash:28,scriptHash:28,wif:128}}function w8({phrase:T,derivationPath:X}){let L=w5.mnemonicToSeedSync(T),Z=O5.HDKey.fromMasterSeed(L).derive(X);if(!Z.privateKey)throw new a.SwapKitError("toolbox_utxo_invalid_params");let f=A2(),J=Uy.ECPair.fromPrivateKey(Buffer.from(Z.privateKey),{network:f}),Q=Uy.crypto.hash160(J.publicKey),{isStagenet:q}=a.SKConfig.get("envs"),x=q?Buffer.from([29,37]):Buffer.from([28,184]),z=Buffer.concat([x,Q]),G=K2.default.encode(z);return{getAddress:()=>Promise.resolve(G),signTransaction:(M)=>{let W=M.signAllInputs(J);return Promise.resolve(W)}}}function C8({inputs:T,outputs:X,psbt:L,sender:y,compiledMemo:Z}){for(let f of T){let J=!!f.witnessUtxo&&{witnessUtxo:{...f.witnessUtxo,value:BigInt(f.value)}},Q=!f.witnessUtxo&&{nonWitnessUtxo:f.txHex?Buffer.from(f.txHex,"hex"):void 0};L.addInput({hash:f.hash,index:f.index,...J,...Q})}for(let f of X){let J="address"in f&&f.address?f.address:y,Q=f.script;if(Q&&!Z)continue;let q=Q?{script:Z,value:0n}:{script:Uy.address.toOutputScript(J,l2()),value:BigInt(f.value)};L.addOutput(q)}return{inputs:T,psbt:L}}async function P2(T){let{assetValue:X,recipient:L,memo:y,feeRate:Z,sender:f,fetchTxHex:J}=T,Q=y?Ny(y):null,q=await Qy(a.Chain.Zcash).getUtxos({address:f,fetchTxHex:J!==!1}),x=[{address:L,value:Number(X.getBaseValue("string"))},...Q?[{script:Q,value:0}]:[]],{inputs:z,outputs:G}=Dy({chain:a.Chain.Zcash,changeAddress:f,feeRate:Z,inputs:q,outputs:x});if(!(z&&G))throw new a.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:X,sender:f});let M=Uy.bitgo.createPsbtForNetwork({network:l2()},{version:455});M.setVersion(4,!0);let W=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),B=3370586197,N=Buffer.allocUnsafe(4);N.writeUInt32LE(B>>>0,0),M.addUnknownKeyValToGlobal({key:W,value:N});let{psbt:D,inputs:A}=await C8({compiledMemo:Q,inputs:z,outputs:G,psbt:M,sender:f});return{inputs:A,outputs:G,psbt:D}}async function C5(T){let X=await BT.match(T).with({signer:BT.P.not(BT.P.nullish)},({signer:J})=>Promise.resolve(J)).with({phrase:BT.P.string},({phrase:J,derivationPath:Q,index:q=0})=>{let x=Q||a.NetworkDerivationPath[a.Chain.Zcash]||[44,133,0,0,0],z=a.updateDerivationPath(x,{index:q}),G=a.derivationPathToString(z);return w8({derivationPath:G,phrase:J})}).otherwise(()=>Promise.resolve(void 0)),L=await ty({chain:a.Chain.Zcash,signer:X});async function y({recipient:J,assetValue:Q,feeOptionKey:q=a.FeeOption.Fast,...x}){let z=await X?.getAddress();if(!(X&&z))throw new a.SwapKitError("toolbox_utxo_no_signer");let G=x.feeRate||(await L.getFeeRates())[q],{psbt:M}=await P2({...x,assetValue:Q,feeRate:G,recipient:J,sender:z}),W=await X.signTransaction(M);return W.finalizeAllInputs(),L.broadcastTx(W.extractTransaction().toHex())}function Z({phrase:J,derivationPath:Q="m/44'/133'/0'/0/0"}){let q=w5.mnemonicToSeedSync(J),z=O5.HDKey.fromMasterSeed(q).derive(Q);if(!z.privateKey)throw new a.SwapKitError("toolbox_utxo_invalid_params");let G=A2();return Uy.ECPair.fromPrivateKey(Buffer.from(z.privateKey),{network:G})}function f({phrase:J,derivationPath:Q="m/44'/133'/0'/0/0"}){return Z({derivationPath:Q,phrase:J}).toWIF()}return{...L,createKeysForPath:Z,createTransaction:P2,getPrivateKeyFromMnemonic:f,transfer:y,validateAddress:GT}}var Uy,O5,w5,a,K2,BT;var E5=$(()=>{Uy=require("@bitgo/utxo-lib"),O5=require("@scure/bip32"),w5=require("@scure/bip39"),a=require("@swapkit/helpers"),K2=Y(require("bs58check")),BT=require("ts-pattern");zT();hT();ST()});async function E8(T,X){switch(T){case Ey.Chain.BitcoinCash:return await I5(X||{});case Ey.Chain.Zcash:return await C5(X);case Ey.Chain.Bitcoin:case Ey.Chain.Dogecoin:case Ey.Chain.Litecoin:case Ey.Chain.Dash:return await ty({chain:T,...X});default:throw new Ey.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var Ey;var S2=$(()=>{Ey=require("@swapkit/helpers");E0();hT();E5();E0();ST()});var v5={};Gy(v5,{validateZcashAddress:()=>GT,toLegacyAddress:()=>qT,toCashAddress:()=>PT,stripToCashAddress:()=>iy,stripPrefix:()=>dy,nonSegwitChains:()=>bT,isValidAddress:()=>_5,getUtxoToolbox:()=>E8,getUtxoNetwork:()=>Ry,getUtxoApi:()=>Qy,getUTXOAddressValidator:()=>E2,getScriptTypeForAddress:()=>lT,getOutputSize:()=>AT,getInputSize:()=>uy,getDustThreshold:()=>I0,getCreateKeysForPath:()=>uT,detectAddressNetwork:()=>R5,createZcashToolbox:()=>C5,createUTXOToolbox:()=>ty,createCustomUtxoApi:()=>x8,createBCHToolbox:()=>I5,compileMemo:()=>Ny,calculateTxSize:()=>xT,bchValidateAddress:()=>jy,addressFromKeysGetter:()=>D5,addInputsAndOutputs:()=>w2,accumulative:()=>Dy,UtxoNetwork:()=>U5,UTXOScriptType:()=>D0,TX_OVERHEAD:()=>k0,OutputSizes:()=>KT,OP_RETURN_OVERHEAD:()=>N2,MIN_TX_FEE:()=>W8,InputSizes:()=>R0});module.exports=_y(v5);var F5=$(()=>{zT();S2();E0();hT();E5()});async function v8(T){try{let X=await fetch(`https://lite-api.jup.ag/tokens/v1/token/${T}`);if(!X.ok)return null;return await X.json()}catch{return null}}async function F8(T){let X=await ry(),{PublicKey:L}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),Z=new L(T),f=[],J=await X.getBalance(Z);if(J>0)f.push(h.AssetValue.from({chain:h.Chain.Solana,fromBaseDecimal:h.BaseDecimal[h.Chain.Solana],value:J}));let Q=await X.getParsedTokenAccountsByOwner(Z,{programId:y});for(let{account:q}of Q.value){let x=q.data.parsed.info,z=x.mint,G=x.tokenAmount.amount;if(Number(G)===0)continue;let M=await v8(z),W=M?.symbol||"UNKNOWN",B=M?.decimals||x.tokenAmount.decimals;f.push(h.AssetValue.from({asset:`${h.Chain.Solana}.${W}-${z}`,fromBaseDecimal:B,value:G}))}return f}async function P5(){let{PublicKey:T}=await import("@solana/web3.js");return(X)=>{try{let L=new T(X);return T.isOnCurve(L.toBytes())}catch(L){return!1}}}async function $8(T){let X=T&&"index"in T?T.index||0:0,L=h.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:h.updateDerivationPath(h.NetworkDerivationPath[h.Chain.Solana],{index:X})),y=await nT.match(T).with({phrase:nT.P.string},({phrase:f})=>V5({derivationPath:L,phrase:f})).with({signer:nT.P.any},({signer:f})=>f).otherwise(()=>{return});function Z(){return y?.publicKey?b2(y.publicKey):""}return{broadcastTransaction:$5(ry),createKeysForPath:V5,createTransaction:K5(ry),createTransactionFromInstructions:l8,estimateTransactionFee:V8(ry),getAddress:Z,getAddressFromPubKey:b2,getAddressValidator:P5,getBalance:(f)=>{let J=f||Z();if(!J)throw new h.SwapKitError("core_wallet_connection_not_found");return F8(J)},getConnection:ry,getPubkeyFromAddress:l5,signTransaction:S8(ry,y),transfer:A8(ry,y)}}function V8(T){return async({recipient:X,assetValue:L,memo:y,isProgramDerivedAddress:Z,sender:f})=>{let J=await T(),q=(await K5(T)({assetValue:L,isProgramDerivedAddress:Z,memo:y,recipient:X,sender:f})).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,fromBaseDecimal:h.BaseDecimal[h.Chain.Solana],value:x.value})}}async function ry(){let{Connection:T}=await import("@solana/web3.js"),X=await h.getRPCUrl(h.Chain.Solana);return new T(X,"confirmed")}function P8(T){return async({assetValue:X,recipient:L,sender:y,isProgramDerivedAddress:Z})=>{let f=await T(),J=await l5(y);if(X.isGasAsset){let{Transaction:Q,SystemProgram:q,PublicKey:x}=await import("@solana/web3.js");return new Q().add(q.transfer({fromPubkey:J,lamports:X.getBaseValue("number"),toPubkey:new x(L)}))}if(X.address)return K8({amount:X.getBaseValue("number"),connection:f,decimals:X.decimal,from:J,isProgramDerivedAddress:Z,recipient:L,tokenAddress:X.address});return}}async function K8({tokenAddress:T,recipient:X,from:L,connection:y,amount:Z,decimals:f,isProgramDerivedAddress:J}){let{getAssociatedTokenAddress:Q,getAccount:q,createAssociatedTokenAccountInstruction:x,createTransferCheckedInstruction:z}=await import("@solana/spl-token"),{Transaction:G,PublicKey:M}=await import("@solana/web3.js"),W=new G,B=new M(T),N=await Q(B,L),D=new M(X),A=await Q(B,D,J),j=!1;try{await q(y,A),j=!0}catch(r){}if(!j)W.add(x(L,A,D,B));return W.add(z(N,B,A,L,Z,f)),W}function K5(T){return async({recipient:X,assetValue:L,memo:y,isProgramDerivedAddress:Z,sender:f})=>{let{createMemoInstruction:J}=await import("@solana/spl-memo"),Q=await l5(f),q=await P5();if(!(Z||q(X)))throw new h.SwapKitError("core_transaction_invalid_recipient_address");let x=await T(),z=await P8(T)({assetValue:L,isProgramDerivedAddress:Z,recipient:X,sender:f});if(!z)throw new h.SwapKitError("core_transaction_invalid_sender_address");if(y)z.add(J(y));let G=await x.getLatestBlockhash();return z.recentBlockhash=G.blockhash,z.feePayer=Q,z}}async function l8({instructions:T}){let{Transaction:X}=await import("@solana/web3.js"),L=new X().add(...T);if(!L)throw new h.SwapKitError("core_transaction_invalid_sender_address");return L}function A8(T,X){return async({recipient:L,assetValue:y,memo:Z,isProgramDerivedAddress:f})=>{if(!X)throw new h.SwapKitError("core_transaction_invalid_sender_address");let J=X.publicKey?.toString()??(await X.connect()).publicKey.toString(),Q=await K5(T)({assetValue:y,isProgramDerivedAddress:f,memo:Z,recipient:L,sender:J});if("signTransaction"in X){let q=await X.signTransaction(Q);return $5(T)(q)}return Q.sign(X),$5(T)(Q)}}function $5(T){return async(X)=>{return(await T()).sendRawTransaction(X.serialize())}}function S8(T,X){return async(L)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!X)throw new h.SwapKitError("toolbox_solana_no_signer");if(!(L instanceof y)){let f=await(await T()).getLatestBlockhash();L.recentBlockhash=f.blockhash,L.feePayer=X.publicKey||void 0}if("connect"in X)return await X.signTransaction(L);return await L.sign([X]),L}}async function V5({phrase:T,derivationPath:X=h.DerivationPath.SOL}){let{HDKey:L}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:Z}=await import("@solana/web3.js"),f=y(T),J=L.fromMasterSeed(f);return Z.fromSeed(J.derive(X,!0).privateKey)}function b2(T){return T.toString()}async function l5(T){let{PublicKey:X}=await import("@solana/web3.js");return new X(T)}var h,nT;var u2=$(()=>{h=require("@swapkit/helpers"),nT=require("ts-pattern")});var A5={};Gy(A5,{getSolanaToolbox:()=>$8,getSolanaAddressValidator:()=>P5,createKeysForPath:()=>V5});module.exports=_y(A5);var S5=$(()=>{u2()});async function pT(){let{validateAccountId:T}=await import("near-sdk-js");return(X)=>{try{return T(X)}catch{let L=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return X.length>=2&&X.length<=64&&L.test(X)}}}async function F0(T){let{parseSeedPhrase:X}=await import("near-seed-phrase"),{KeyPair:L}=await import("near-api-js"),y=T.index||0,Z=T.derivationPath?v0.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:f}=X(T.phrase,Z),J=L.fromString(f);return n2(J)}async function b5(T){let{KeyPair:X}=await import("near-api-js/lib/utils"),L=X.fromString(T);return n2(L)}function n2(T){return new h2(T)}async function $0(T,X){let y=(await T.query({account_id:X,finality:"final",request_type:"view_access_key_list"})).keys.find((Q)=>Q.access_key.permission==="FullAccess");if(!y)throw new v0.SwapKitError("toolbox_near_invalid_address");let{utils:Z}=await import("near-api-js"),f=Z.PublicKey.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:f}}var v0,j2,h2;var u5=$(()=>{v0=require("@swapkit/helpers"),j2=require("near-api-js");h2=class h2 extends j2.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),X=Buffer.from(T.data).toString("hex");return Promise.resolve(X)}}});function j5(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function h5(T){return"contractId"in T&&"methodName"in T}function n5(T){return"actions"in T}function p5(T){return"newAccountId"in T}function m5(T){return"contractCode"in T}function o5(T){return"customEstimator"in T}function c5(T){let X=0;for(let L of T)switch(L.enum){case"transfer":X+=Number(Ty.SIMPLE_TRANSFER);break;case"functionCall":X+=Number(Ty.CONTRACT_CALL);break;case"createAccount":X+=Number(Ty.ACCOUNT_CREATION);break;case"deployContract":X+=Number(Ty.CONTRACT_DEPLOYMENT);break;case"addKey":X+=Number(Ty.ACCESS_KEY_ADDITION);break;case"deleteKey":X+=Number(Ty.ACCESS_KEY_DELETION);break;case"stake":X+=Number(Ty.STAKE);break;default:X+=Number(Ty.CONTRACT_CALL)}return X.toString()}function g5(T){if(T==="ft_transfer"||T==="ft_transfer_call")return Ty.TOKEN_TRANSFER;if(T==="storage_deposit")return Ty.STORAGE_DEPOSIT;return Ty.CONTRACT_CALL}function b8(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function u8(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Ty;var d5=$(()=>{Ty={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"100",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"100",TOKEN_TRANSFER:"100"}});async function V0({account:T,contractId:X,viewMethods:L,changeMethods:y}){let{Contract:Z}=await import("near-api-js");return new Z(T,X,{changeMethods:y,useLocalViewExecution:!0,viewMethods:L})}async function t5({contractId:T,account:X}){let L=(await import("bn.js")).default,y=await V0({account:X,changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"],contractId:T,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"]}),Z=async(f)=>{if(!await y.storage_balance_of({account_id:f})){let q=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:f},new L("100000000000000"),new L(q))}};return{balanceOf:(f)=>y.ft_balance_of({account_id:f}),contract:y,ensureStorage:Z,metadata:()=>y.ft_metadata(),storageBalanceOf:(f)=>y.storage_balance_of({account_id:f}),storageDeposit:(f,J)=>y.storage_deposit({account_id:f},new L("100000000000000"),new L(J||"1250000000000000000000")),totalSupply:()=>y.ft_total_supply(),transfer:async(f,J,Q)=>{return await Z(f),y.ft_transfer({amount:J,memo:Q,receiver_id:f},new L("100000000000000"),new L("1"))},transferCall:async(f,J,Q,q)=>{return await Z(f),y.ft_transfer_call({amount:J,memo:q,msg:Q,receiver_id:f},new L("100000000000000"),new L("1"))}}}async function j8(T){let{P:X,match:L}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),Z=await L(T).with({phrase:X.string},async(v)=>{return await F0(v)}).with({signer:X.any},({signer:v})=>v).otherwise(()=>{return}),f=await S.getRPCUrl(S.Chain.Near),J=new y.JsonRpcProvider({url:f});async function Q(v){let{Account:U}=await import("near-api-js"),k=v||await q();return new U(k,J,Z)}async function q(){if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");return await Z.getAddress()}async function x(v){if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");let{recipient:U,assetValue:k}=v;if(!(await pT())(U))throw new S.SwapKitError("toolbox_near_invalid_address");let F=await Q();if(k.isGasAsset===!1){let C=k.address;if(!C)throw new S.SwapKitError("toolbox_near_missing_contract_address");let l=k.getBaseValue("string");return A({args:{amount:l,memo:v.memo,receiver_id:U},contractId:C,methodName:"ft_transfer"})}try{let C=k.getBaseValue("string");return(await F.transfer({amount:C,receiverId:U})).transaction_outcome.id}catch(C){throw new S.SwapKitError("toolbox_near_transfer_failed",{error:C})}}async function z(v){let{recipient:U,assetValue:k,memo:O,feeRate:F,attachedDeposit:C,sender:l}=v,i=await pT();if(!i(U))throw new S.SwapKitError("toolbox_near_invalid_address",{address:U});if(!i(l))throw new S.SwapKitError("toolbox_near_invalid_address",{address:l});if(!k.isGasAsset){let tT=k.address;if(!tT)throw new S.SwapKitError("toolbox_near_missing_contract_address");return G({args:{amount:k.getBaseValue("string"),memo:O||null,receiver_id:U},attachedDeposit:"1",contractId:tT,gas:F.toString()||"100000000000000",methodName:"ft_transfer",sender:l})}let{publicKey:o,nonce:d}=await $0(J,l),xy=k.getBaseValue("bigint"),{SCHEMA:Zy}=await import("near-api-js/lib/transaction"),{transactions:zy,utils:Wy}=await import("near-api-js"),ny=[zy.transfer(xy)];if(O&&C)ny.push(zy.functionCall("memo",{memo:O},BigInt(F),BigInt(C)));let oT=await J.block({finality:"final"}),cT=Wy.serialize.base_decode(oT.header.hash),ay=zy.createTransaction(l,o,U,d,ny,cT),gT=Wy.serialize.serialize(Zy.Transaction,ay),dT=Buffer.from(gT).toString("base64");return{details:{blockHash:Wy.serialize.base_encode(cT),nonce:d,signerId:l},publicKey:o.toString(),serialized:dT}}async function G(v){let{sender:U}=v,{publicKey:k,nonce:O}=await $0(J,U),{SCHEMA:F}=await import("near-api-js/lib/transaction"),{transactions:C,utils:l}=await import("near-api-js"),i=await J.block({finality:"final"}),o=l.serialize.base_decode(i.header.hash),d=[C.functionCall(v.methodName,Buffer.from(JSON.stringify(v.args)),BigInt(v.gas),BigInt(v.attachedDeposit))],xy=C.createTransaction(U,k,v.contractId,O,d,o),Zy=l.serialize.serialize(F.Transaction,xy),zy=Buffer.from(Zy).toString("base64");return{details:{blockHash:l.serialize.base_encode(o),methodName:v.methodName,nonce:O,receiverId:v.contractId,signerId:U},publicKey:k.toString(),serialized:zy}}async function M(v){if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");let[U,k]=await Z.signTransaction(v);return k}async function W(v){return(await J.sendTransaction(v)).transaction.hash}async function B(v){if("assetValue"in v){let F=BigInt("115123062500")+BigInt("108059500000"),C=await N(),l=F*BigInt(C.toString());return S.AssetValue.from({chain:S.Chain.Near,fromBaseDecimal:S.BaseDecimal[S.Chain.Near],value:l.toString()})}let U=Z?await Q():void 0;return s(v,U)}async function N(){try{return await J.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function D(v,U,k){if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");let O=await Q(),{utils:F}=await import("near-api-js"),C=F.format.parseNearAmount(k)||"0";return(await O.createAccount(v,F.PublicKey.fromString(U),BigInt(C))).transaction.hash}async function A(v){try{if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");let{transactions:U}=await import("near-api-js"),{contractId:k,methodName:O,args:F,deposit:C}=v,l=await Q(),i=await s({args:F||{},contractId:k,methodName:O}),o=U.functionCall(O,F||{},i.getBaseValue("bigint"),BigInt(C||"0"));return(await l.signAndSendTransaction({actions:[o],receiverId:k})).transaction_outcome.id}catch(U){throw new S.SwapKitError("toolbox_near_transfer_failed",{error:U})}}async function j(v){let U=await Q();return V0({account:U,changeMethods:v.changeMethods,contractId:v.contractId,viewMethods:v.viewMethods})}async function r(v){if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");if(v.actions.length===0)throw new S.SwapKitError("toolbox_near_empty_batch");return(await(await Q()).signAndSendTransaction({actions:v.actions,receiverId:v.receiverId})).transaction.hash}async function g(v){let U=await Q();return t5({account:U,contractId:v})}async function Xy(v){try{let U=await Q(v),k;try{let O=await U.getBalance();k=S.AssetValue.from({chain:S.Chain.Near,fromBaseDecimal:S.BaseDecimal[S.Chain.Near],value:O})}catch{k=S.AssetValue.from({chain:S.Chain.Near,fromBaseDecimal:S.BaseDecimal[S.Chain.Near],value:"0"})}return[k]}catch(U){throw new S.SwapKitError("toolbox_near_balance_failed",{error:U})}}async function s(v,U){let k=await L(v).when(j5,()=>Ty.SIMPLE_TRANSFER).when(h5,(l)=>g5(l.methodName)).when(n5,(l)=>c5(l.actions)).when(p5,()=>Ty.ACCOUNT_CREATION).when(m5,()=>Ty.CONTRACT_DEPLOYMENT).when(o5,(l)=>{if(!U)throw new S.SwapKitError("toolbox_near_no_account");return l.customEstimator(U)}).otherwise(()=>{throw new S.SwapKitError("toolbox_near_invalid_gas_params")}),O=await qy(),C=BigInt(k)*BigInt(1000000000000)*BigInt(O);return S.AssetValue.from({chain:S.Chain.Near,fromBaseDecimal:S.BaseDecimal[S.Chain.Near],value:C})}async function qy(){try{return(await J.gasPrice(null)).gas_price||"100000000"}catch(v){return"100000000"}}return{broadcastTransaction:W,callFunction:A,createContract:j,createContractFunctionCall:G,createSubAccount:D,createTransaction:z,estimateGas:s,estimateTransactionFee:B,executeBatchTransaction:r,getAddress:q,getBalance:Xy,getGasPrice:qy,getPublicKey:async()=>Z?(await Z.getPublicKey()).toString():"",getSignerFromPhrase:(v)=>F0(v),getSignerFromPrivateKey:b5,nep141:g,provider:J,signTransaction:M,transfer:x,validateAddress:await pT()}}var S;var i5=$(()=>{S=require("@swapkit/helpers");u5();d5()});var p2=$(()=>{i5()});var r5={};Gy(r5,{tgasToGas:()=>b8,isSimpleTransfer:()=>j5,isCustomEstimator:()=>o5,isContractDeployment:()=>m5,isContractCall:()=>h5,isBatchTransaction:()=>n5,isAccountCreation:()=>p5,getValidateNearAddress:()=>pT,getNearToolbox:()=>j8,getNearSignerFromPrivateKey:()=>b5,getNearSignerFromPhrase:()=>F0,getFullAccessPublicKey:()=>$0,getContractMethodGas:()=>g5,gasToTGas:()=>u8,estimateBatchGas:()=>c5,createNearContract:()=>V0,createNEP141Token:()=>t5,GAS_COSTS:()=>Ty});module.exports=_y(r5);var a5=$(()=>{u5();d5();i5();p2()});var e5={};Gy(e5,{rippleValidateAddress:()=>s5,hashes:()=>o2.hashes,getRippleToolbox:()=>n8});module.exports=_y(e5);function m2(T){let X=hy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(X.address),signTransaction:(L)=>Promise.resolve(X.sign(L))}}function s5(T){return hy.isValidAddress(T)}var p,hy,o2,h8,n8=async(T={})=>{let X="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?m2(T.phrase):void 0,L=await p.getRPCUrl(p.Chain.Ripple);if(!L)throw new p.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:p.Chain.Ripple}});let y=new hy.Client(L);await y.connect();let Z=()=>{if(!X)throw new p.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return X.getAddress()},f=async(M)=>{let W=M||await Z();try{let N=(await y.request({account:W,command:"account_info"})).result.account_data.Balance;return[p.AssetValue.from({chain:p.Chain.Ripple,fromBaseDecimal:p.BaseDecimal[p.Chain.Ripple],value:N})]}catch(B){if(B.data.error_code===h8.ACCOUNT_NOT_FOUND)return[p.AssetValue.from({chain:p.Chain.Ripple,value:0})];throw new p.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 p.AssetValue.from({chain:p.Chain.Ripple,value:p.SwapKitNumber.fromBigInt(BigInt(W),p.BaseDecimal[p.Chain.Ripple])})},Q=async({assetValue:M,recipient:W,memo:B,sender:N})=>{if(!s5(W))throw new p.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let D=N||await Z();if(!M.isGasAsset||M.chain!==p.Chain.Ripple)throw new p.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:M.toString()}});let A={Account:D,Amount:hy.xrpToDrops(M.getValue("string")),Destination:W,TransactionType:"Payment"};if(B)A.Memos=[{Memo:{MemoData:Buffer.from(B).toString("hex")}}];return await y.autofill(A)},q=(M)=>{if(!X)throw new p.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return X.signTransaction(M)},x=async(M)=>{let B=(await y.submitAndWait(M)).result;if(B.validated)return B.hash;throw new p.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:p.Chain.Ripple}})};return{broadcastTransaction:x,createSigner:m2,createTransaction:Q,disconnect:()=>y.disconnect(),estimateTransactionFee:J,getAddress:Z,getBalance:f,signer:X,signTransaction:q,transfer:async(M)=>{if(!X)throw new p.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let W=await X.getAddress(),B=await Q({...M,sender:W}),N=await q(B);return x(N.tx_blob)},validateAddress:s5}};var y1=$(()=>{p=require("@swapkit/helpers"),hy=require("xrpl"),o2=require("xrpl"),h8={ACCOUNT_NOT_FOUND:19}});var T1={};Gy(T1,{radixValidateAddress:()=>c2,RadixToolbox:()=>g8});module.exports=_y(T1);function c2(T){return T.startsWith("account_rdx1")&&T.length===66}function p8({networkApi:T}){return async function(L){let y=await m8({address:L,networkApi:T});return o8({networkApi:T,resources:y})}}async function m8({address:T,networkApi:X}){let L=!0,y,Z=[],f=await c8(X);while(L){let J={address:T,at_ledger_state:{state_version:f},cursor:y,limit_per_page:100},Q=await X.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:J});if(Z=Z.concat(Q.items),Q.next_cursor)y=Q.next_cursor;else L=!1}return Z}async function o8({resources:T,networkApi:X}){let L=[],y=50,Z=[];for(let f=0;f<T.length;f+=50)Z.push(T.slice(f,f+50));for(let f of Z){let J=f.map((x)=>x.resource_address),Q=await X.state.getEntityDetailsVaultAggregated(J),q=new Map;for(let x of Q)if(x.details!==void 0){let z=x.metadata?.items.find((M)=>M.key==="symbol"),G=z?.value.typed.type==="String"?z.value.typed.value:"?";if(x.details.type==="FungibleResource")q.set(x.address,{decimals:x.details.divisibility,symbol:G})}for(let x of f)if(x.aggregation_level==="Global"){let z=q.get(x.resource_address)||{decimals:0,symbol:"?"},G=vy.AssetValue.from({asset:z.symbol!==vy.Chain.Radix?`${vy.Chain.Radix}.${z.symbol}-${x.resource_address}`:"XRD.XRD",value:x.amount});L.push(G)}}return L}function c8(T){return T.status.getCurrent().then((X)=>X.ledger_state.state_version)}var vy,g8=async({dappConfig:T}={})=>{let{RadixDappToolkit:X}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:L}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||vy.SKConfig.get("integrations").radix,Z=X({...y,networkId:y.network?.networkId||1}),f=L.initialize(Z.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:p8({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new vy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:c2}};var X1=$(()=>{vy=require("@swapkit/helpers")});var WT;var f1=$(()=>{WT=[{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 d2(T){let X=await import("tronweb"),L=X.TronWeb??X.default?.TronWeb;try{let y=await fetch(`${d8}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let Z=await y.json();if(!(Z.success&&Z.data)||Z.data.length===0)throw Error("Invalid response from TronGrid API");let f;try{f=L.address.toHex(T).toLowerCase()}catch{f=T.toLowerCase()}let J=Z.data.find((Q)=>{return Q.address.toLowerCase()===f});if(!J)return;return{balance:J.balance,trc20:J.trc20||[]}}catch(y){throw new g2.SwapKitError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var g2,d8="https://api.trongrid.io";var t2=$(()=>{g2=require("@swapkit/helpers")});async function Z1(){let T=await import("tronweb"),X=T.TronWeb??T.default?.TronWeb;return(L)=>{return X.isAddress(L)}}async function r2({phrase:T,derivationPath:X,index:L}){let y=X||P.derivationPathToString(P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:L||0})),{HDKey:Z}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),J=f(T),q=Z.fromMasterSeed(J).derive(y);if(!q.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");return Buffer.from(q.privateKey).toString("hex")}async function s8({phrase:T,derivationPath:X,tronWeb:L}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:Z}=await import("@scure/bip39"),f=Z(T),Q=y.fromMasterSeed(f).derive(X);if(!Q.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");let q=Buffer.from(Q.privateKey).toString("hex");L.setPrivateKey(q);let x=L?.address.fromPrivateKey(q);return{getAddress:()=>Promise.resolve(typeof x==="string"?x:""),signTransaction:async(z)=>{return await L.trx.sign(z,q)}}}var P,mT,t8=268,i8=13000,r8=345,i2="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",a8="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",a2=async(T={})=>{let X=await import("tronweb"),L=X.TronWeb??X.default?.TronWeb,y=await P.getRPCUrl(P.Chain.Tron),Z=void 0,f=new L({fullHost:y,headers:void 0}),J="index"in T?T.index||0:0,Q=P.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:J})),q=await mT.match(T).with({phrase:mT.P.string},async({phrase:U})=>s8({derivationPath:Q,phrase:U,tronWeb:f})).with({signer:mT.P.any},({signer:U})=>Promise.resolve(U)).otherwise(()=>Promise.resolve(void 0)),x=async()=>{if(!q)throw new P.SwapKitError("toolbox_tron_no_signer");return await q.getAddress()},z=()=>{return 1e8},G=async()=>{try{let U=await f.trx.getChainParameters(),k={};for(let O of U)k[O.key]=O.value;return{bandwidthFee:k.getTransactionFee||1000,createAccountFee:k.getCreateAccountFee||1e5,energyFee:k.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},M=async(U)=>{try{let k=await f.trx.getAccount(U);return k&&Object.keys(k).length>0}catch{return!1}},W=async(U)=>{try{let k=await f.trx.getAccountResources(U);return{bandwidth:{free:k.freeNetLimit-k.freeNetUsed,total:k.NetLimit||0,used:k.NetUsed||0},energy:{total:k.EnergyLimit||0,used:k.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},B=async(U,k)=>{try{let O=f.contract(WT,k);if(!O.methods?.balanceOf)return 0n;let[F]=await O.methods.balanceOf(U).call();return F?typeof F==="bigint"?F:BigInt(F):0n}catch(O){return console.warn(`balanceOf() failed for ${k}:`,O),0n}},N=async(U,k)=>{try{f.setAddress(k);let O=f.contract(WT,U),[F,C]=await Promise.all([O.symbol().call().catch(()=>"UNKNOWN"),O.decimals().call().catch(()=>"18")]);return{decimals:Number(C??18),symbol:F??"UNKNOWN"}}catch(O){return P.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${U}: ${O instanceof Error?O.message:O}`}),null}},D=async(U,k=!0)=>{let O=[P.AssetValue.from({chain:P.Chain.Tron})];try{let F=await d2(U);if(F){let C=[];C.push(P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:F.balance}));for(let l of F.trc20){let[i,o]=Object.entries(l)[0]||[];if(!(i&&o))continue;let d=await N(i,U);if(!d)continue;C.push(P.AssetValue.from({asset:`TRON.${d.symbol}-${i}`,fromBaseDecimal:d.decimals,value:BigInt(o||0)}))}return C}return O}catch(F){P.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${F instanceof Error?F.message:F}`});let C=[],l=await f.trx.getBalance(U);if(l&&Number(l)>0)C.push(P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:l}));let i=await B(U,i2);if(i)C.push(P.AssetValue.from({asset:`TRON.USDT-${i2}`,fromBaseDecimal:6,value:i}));return C}},A=async({recipient:U,assetValue:k,memo:O})=>{if(!q)throw new P.SwapKitError("toolbox_tron_no_signer");let F=await x();if(f.setAddress(F),k.isGasAsset){let d=await f.transactionBuilder.sendTrx(U,k.getBaseValue("number"),F);if(O){let zy=await f.transactionBuilder.addUpdateData(d,O,"utf8"),Wy=await q.signTransaction(zy),{txid:ny}=await f.trx.sendRawTransaction(Wy);return ny}let xy=await q.signTransaction(d),{txid:Zy}=await f.trx.sendRawTransaction(xy);return Zy}let l=await r({assetValue:k,memo:O,recipient:U,sender:F}),i=await q.signTransaction(l),{txid:o}=await f.trx.sendRawTransaction(i);if(!o)throw new P.SwapKitError("toolbox_tron_token_transfer_failed");return o},j=async({assetValue:U,recipient:k,sender:O})=>{let F=U.isGasAsset;try{let C=O?O:q?await x():void 0;if(!C)return F?P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:0,value:0.1}):P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:0,value:15});let l=await G(),o=await M(k)?0:l.createAccountFee,d=await W(C);if(F){let ay=t8,gT=d.bandwidth.free+(d.bandwidth.total-d.bandwidth.used),dT=0;if(ay>gT)dT=(ay-gT)*l.bandwidthFee;let tT=o+dT;return P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:tT})}let xy=r8,Zy=i8,zy=d.bandwidth.free+(d.bandwidth.total-d.bandwidth.used),Wy=d.energy.total-d.energy.used,ny=0;if(xy>zy)ny=(xy-zy)*l.bandwidthFee;let oT=0;if(Zy>Wy)oT=(Zy-Wy)*l.energyFee;let cT=o+ny+oT;return P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:cT})}catch(C){throw P.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${C instanceof Error?C.message:C}`}),new P.SwapKitError("toolbox_tron_fee_estimation_failed",{error:C})}},r=async(U)=>{let{recipient:k,assetValue:O,memo:F,sender:C}=U;if(O.isGasAsset){let o=await f.transactionBuilder.sendTrx(k,O.getBaseValue("number"),C);if(F)return f.transactionBuilder.addUpdateData(o,F,"utf8");return o}f.setAddress(C);let i=O.address;if(!i)throw new P.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:O.toString()});try{let d=[{type:"address",value:k},{type:"uint256",value:O.getBaseValue("string")}],xy={callValue:0,feeLimit:z()};return(await f.transactionBuilder.triggerSmartContract(i,"transfer(address,uint256)",xy,d,C)).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)})}},g=async(U)=>{if(!q)throw new P.SwapKitError("toolbox_tron_no_signer");return await q.signTransaction(U)},Xy=async(U)=>{let{txid:k}=await f.trx.sendRawTransaction(U);return k},s=async({assetAddress:U,spenderAddress:k,from:O})=>{try{let F=f.contract(WT,U);if(!F.methods?.allowance)throw new P.SwapKitError("toolbox_tron_invalid_token_contract");let[C]=await F.methods.allowance(O,k).call();return C?typeof C==="bigint"?C:BigInt(C):0n}catch(F){throw new P.SwapKitError("toolbox_tron_allowance_check_failed",{error:F})}};return{approve:async({assetAddress:U,spenderAddress:k,amount:O,from:F})=>{if(!q)throw new P.SwapKitError("toolbox_tron_no_signer");let C=F||await x(),l=O!==void 0?BigInt(O).toString():a8,i="approve(address,uint256)",o=[{type:"address",value:k},{type:"uint256",value:l}],xy={callValue:0,feeLimit:z()};try{let{transaction:Zy}=await f.transactionBuilder.triggerSmartContract(U,i,xy,o,C),zy=await q.signTransaction(Zy),{txid:Wy}=await f.trx.sendRawTransaction(zy);if(!Wy)throw new P.SwapKitError("toolbox_tron_approve_failed");return Wy}catch(Zy){throw new P.SwapKitError("toolbox_tron_approve_failed",{error:Zy})}},broadcastTransaction:Xy,createTransaction:r,estimateTransactionFee:j,getAddress:x,getApprovedAmount:s,getBalance:D,isApproved:async({assetAddress:U,spenderAddress:k,from:O,amount:F})=>{let C=await s({assetAddress:U,from:O,spenderAddress:k});if(!F)return C>0n;let l=BigInt(F);return C>=l},signTransaction:g,transfer:A,tronWeb:f,validateAddress:await Z1()}};var s2=$(()=>{P=require("@swapkit/helpers"),mT=require("ts-pattern");f1();t2()});var L1={};Gy(L1,{trc20ABI:()=>WT,getTronPrivateKeyFromMnemonic:()=>r2,getTronAddressValidator:()=>Z1,createTronToolbox:()=>a2});module.exports=_y(L1);var J1=$(()=>{f1();s2()});var Tf={};Gy(Tf,{getToolbox:()=>Q1,getFeeEstimator:()=>yf,getAddressValidator:()=>e8});module.exports=_y(Tf);var _=require("@swapkit/helpers");async function e8(){let{match:T}=await import("ts-pattern"),{cosmosValidateAddress:X}=await Promise.resolve().then(() => (eT(),sT)),{evmValidateAddress:L}=await Promise.resolve().then(() => (y2(),e1)),{substrateValidateAddress:y}=await Promise.resolve().then(() => (M5(),G5)),{getUTXOAddressValidator:Z}=await Promise.resolve().then(() => (F5(),v5)),{getSolanaAddressValidator:f}=await Promise.resolve().then(() => (S5(),A5)),{getValidateNearAddress:J}=await Promise.resolve().then(() => (a5(),r5)),{rippleValidateAddress:Q}=await Promise.resolve().then(() => (y1(),e5)),{radixValidateAddress:q}=await Promise.resolve().then(() => (X1(),T1)),{getTronAddressValidator:x}=await Promise.resolve().then(() => (J1(),L1)),z=await f(),G=await Z(),M=await x(),W=await J();return function({address:N,chain:D}){return T(D).with(..._.EVMChains,()=>L({address:N})).with(..._.UTXOChains,()=>G({address:N,chain:D})).with(_.Chain.Cosmos,_.Chain.Kujira,_.Chain.Noble,_.Chain.Maya,_.Chain.THORChain,()=>X({address:N,chain:D})).with(_.Chain.Chainflip,_.Chain.Polkadot,()=>y({address:N,chain:D})).with(_.Chain.Radix,()=>q(N)).with(_.Chain.Near,()=>W(N)).with(_.Chain.Ripple,()=>Q(N)).with(_.Chain.Solana,()=>z(N)).with(_.Chain.Tron,()=>M(N)).otherwise(()=>!1)}}function yf(T){return async function(L){let{match:y}=await import("ts-pattern");return y(T).returnType().with(_.Chain.Arbitrum,_.Chain.Aurora,_.Chain.Avalanche,_.Chain.Base,_.Chain.Berachain,_.Chain.BinanceSmartChain,_.Chain.Ethereum,_.Chain.Gnosis,_.Chain.Optimism,_.Chain.Polygon,async(Z)=>{let f=await Q1(Z),J=await f.createTransaction(L);return f.estimateTransactionFee({...J,chain:Z,feeOption:L.feeOptionKey||_.FeeOption.Fast})}).with(_.Chain.Bitcoin,_.Chain.BitcoinCash,_.Chain.Dogecoin,_.Chain.Dash,_.Chain.Litecoin,_.Chain.Polkadot,_.Chain.Solana,_.Chain.Ripple,_.Chain.Tron,_.Chain.Near,async(Z)=>{return(await Q1(Z)).estimateTransactionFee(L)}).with(_.Chain.THORChain,_.Chain.Maya,_.Chain.Kujira,_.Chain.Noble,_.Chain.Cosmos,async()=>{let{estimateTransactionFee:Z}=await Promise.resolve().then(() => (eT(),sT));return Z(L)}).otherwise(async()=>_.AssetValue.from({chain:T}))}}async function Q1(T,X){let{match:L}=await import("ts-pattern");return L(T).returnType().with(_.Chain.Arbitrum,_.Chain.Aurora,_.Chain.Avalanche,_.Chain.Base,_.Chain.Berachain,_.Chain.BinanceSmartChain,_.Chain.Ethereum,_.Chain.Gnosis,_.Chain.Optimism,_.Chain.Polygon,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (Z5(),r1));return await y(T,X)}).with(_.Chain.Litecoin,_.Chain.Dash,_.Chain.Dogecoin,_.Chain.BitcoinCash,_.Chain.Bitcoin,_.Chain.Zcash,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (F5(),v5));return await y(T,X)}).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,X)}).with(_.Chain.Chainflip,_.Chain.Polkadot,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (M5(),G5));return await y(T,X)}).with(_.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (X1(),T1));return await y(X)}).with(_.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (y1(),e5));return await y(X)}).with(_.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (S5(),A5));return await y(X)}).with(_.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (J1(),L1));return await y(X)}).with(_.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (a5(),r5));return await y(X)}).otherwise(()=>{throw new _.SwapKitError("toolbox_not_supported",{chain:T})})}
|
|
1
|
+
var e2=Object.create;var{getPrototypeOf:yX,defineProperty:WT,getOwnPropertyNames:x1,getOwnPropertyDescriptor:TX}=Object,z1=Object.prototype.hasOwnProperty;var Y=(T,X,L)=>{L=T!=null?e2(yX(T)):{};let y=X||!T||!T.__esModule?WT(L,"default",{value:T,enumerable:!0}):L;for(let Z of x1(T))if(!z1.call(y,Z))WT(y,Z,{get:()=>T[Z],enumerable:!0});return y},q1=new WeakMap,_y=(T)=>{var X=q1.get(T),L;if(X)return X;if(X=WT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")x1(T).map((y)=>!z1.call(X,y)&&WT(X,y,{get:()=>T[y],enumerable:!(L=TX(T,y))||L.enumerable}));return q1.set(T,X),X};var Gy=(T,X)=>{for(var L in X)WT(T,L,{get:X[L],enumerable:!0,configurable:!0,set:(y)=>X[L]=()=>y})};var $=(T,X)=>()=>(T&&(X=T(T=0)),X);function YT(T){return Fy.base64.encode(Uint8Array.from(Fy.bech32.fromWords(Fy.bech32.decode(T).words)))}function UT(T,X="thor"){return Fy.bech32.encode(X,Fy.bech32.toWords(Fy.base64.decode(T)))}function XX(T){return iT.fromByteArray(T)}function fX(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new G1.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return iT.toByteArray(T)}var Fy,G1,iT;var P0=$(()=>{Fy=require("@scure/base"),G1=require("@swapkit/helpers"),iT=require("base64-js")});function Oy(T){switch(T){case E.Chain.Maya:return{amount:[],gas:"10000000000"};case E.Chain.THORChain:return{amount:[],gas:"500000000"};case E.Chain.Kujira:return H1;case E.Chain.Noble:return W1;default:return B1}}async function wy(T){let X=await import("@cosmjs/stargate"),L=X.StargateClient??X.default?.StargateClient,y=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return L.connect({headers:y,url:T})}async function RT(T,X,L={}){let y=await import("@cosmjs/stargate"),Z=y.SigningStargateClient??y.default?.SigningStargateClient,f=y.GasPrice??y.default?.GasPrice,J=typeof L==="string"?L:"0.0003uatom",Q=typeof L==="string"?{}:L;return Z.connectWithSigner(T,X,{gasPrice:f.fromString(J),...Q})}async function l0(T,X){let L=await import("@cosmjs/stargate");return(L.SigningStargateClient??L.default?.SigningStargateClient).offline(T,X)}async function A0({sender:T,recipient:X,assetValue:L,memo:y="",feeRate:Z,sequence:f,accountNumber:J}){let{chain:Q,chainId:q}=L,x=await E.getRPCUrl(Q),G=await(await wy(x)).getAccount(T);if(!G)throw new E.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let M=E.AssetValue.from({chain:Q}),H=$y(M.symbol),B=Oy(Q),N=H&&Z?{amount:[{amount:Z.toString(),denom:H}],gas:B.gas}:B,D={amount:[{amount:L.getBaseValue("string"),denom:$y(L.symbol)}],fromAddress:T,toAddress:X};return{accountNumber:J??G.accountNumber,chainId:q,fee:N,memo:y,msgs:[{typeUrl:ZX(Q),value:D}],sequence:f??G.sequence}}var E,K0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",M1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",B1,H1,W1,$y=(T,X=!1)=>{if(X)return T.toLowerCase();switch(T){case"uUSK":case"USK":return K0;case"uYUM":case"YUM":return M1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},_T=({symbol:T,chain:X})=>{if(X===E.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${E.Chain.Maya}.${T}`).toUpperCase();if(X===E.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${E.Chain.THORChain}.${T}`:T).toUpperCase();return $y(T,!1)},ZX=(T)=>{switch(T){case E.Chain.Maya:case E.Chain.THORChain:return"/types.MsgSend";case E.Chain.Cosmos:case E.Chain.Kujira:case E.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new E.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},LX,S0=(T,X)=>{let L=LX[T.toLowerCase()];if(!L)return E.AssetValue.from({asset:T,fromBaseDecimal:8,value:X});let{chain:y,asset:Z,decimals:f}=L,J=y?{chain:y}:{asset:Z};return E.AssetValue.from({...J,fromBaseDecimal:f,value:X})};var NT=$(()=>{E=require("@swapkit/helpers"),B1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},H1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},W1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};LX={atom:{chain:E.Chain.Cosmos,decimals:E.BaseDecimal[E.Chain.Cosmos]},cacao:{chain:E.Chain.Maya,decimals:10},kuji:{chain:E.Chain.Kujira,decimals:E.BaseDecimal[E.Chain.Kujira]},maya:{asset:`${E.Chain.Maya}.${E.Chain.Maya}`,decimals:4},rune:{chain:E.Chain.THORChain,decimals:E.BaseDecimal[E.Chain.THORChain]},tcy:{asset:"THOR.TCY",decimals:E.BaseDecimal[E.Chain.THORChain]},uatom:{chain:E.Chain.Cosmos,decimals:E.BaseDecimal[E.Chain.Cosmos]},ukuji:{chain:E.Chain.Kujira,decimals:E.BaseDecimal[E.Chain.Kujira]},usdc:{chain:E.Chain.Noble,decimals:E.BaseDecimal[E.Chain.Noble]},uusdc:{chain:E.Chain.Noble,decimals:E.BaseDecimal[E.Chain.Noble]},"x/kuji":{asset:"THOR.KUJI",decimals:E.BaseDecimal[E.Chain.THORChain]},[K0.toLowerCase()]:{asset:`${E.Chain.Kujira}.USK`,decimals:E.BaseDecimal[E.Chain.Kujira]}}});var Y1={};Gy(Y1,{$root:()=>R});var e,K,My,I,R;var U1=$(()=>{e=Y(require("protobufjs/minimal.js")),K=e.default.Reader,My=e.default.Writer,I=e.default.util,R=e.default.roots.default||(e.default.roots.default={});R.common=(()=>{let T={};return T.Asset=(()=>{function X(L){if(L){for(let y=Object.keys(L),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return X.prototype.chain="",X.prototype.symbol="",X.prototype.ticker="",X.prototype.synth=!1,X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=My.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))Z.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))Z.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))Z.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))Z.uint32(32).bool(y.synth);return Z},X.encodeDelimited=function(y,Z){return this.encode(y,Z).ldelim()},X.decode=function(y,Z){if(!(y instanceof K))y=K.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new R.common.Asset;while(y.pos<f){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},X.decodeDelimited=function(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},X.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!I.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!I.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!I.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},X.fromObject=function(y){if(y instanceof R.common.Asset)return y;let Z=new R.common.Asset;if(y.chain!=null)Z.chain=String(y.chain);if(y.symbol!=null)Z.symbol=String(y.symbol);if(y.ticker!=null)Z.ticker=String(y.ticker);if(y.synth!=null)Z.synth=Boolean(y.synth);return Z},X.toObject=function(y,Z){if(!Z)Z={};let f={};if(Z.defaults)f.chain="",f.symbol="",f.ticker="",f.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))f.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))f.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))f.synth=y.synth;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},X})(),T.Coin=(()=>{function X(L){if(L){for(let y=Object.keys(L),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return X.prototype.asset=null,X.prototype.amount="",X.prototype.decimals=I.Long?I.Long.fromBits(0,0,!1):0,X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=My.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))R.common.Asset.encode(y.asset,Z.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))Z.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))Z.uint32(24).int64(y.decimals);return Z},X.encodeDelimited=function(y,Z){return this.encode(y,Z).ldelim()},X.decode=function(y,Z){if(!(y instanceof K))y=K.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new R.common.Coin;while(y.pos<f){let Q=y.uint32();switch(Q>>>3){case 1:J.asset=R.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},X.decodeDelimited=function(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},X.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let Z=R.common.Asset.verify(y.asset);if(Z)return"asset."+Z}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!I.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!I.isInteger(y.decimals)&&!(y.decimals&&I.isInteger(y.decimals.low)&&I.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},X.fromObject=function(y){if(y instanceof R.common.Coin)return y;let Z=new R.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");Z.asset=R.common.Asset.fromObject(y.asset)}if(y.amount!=null)Z.amount=String(y.amount);if(y.decimals!=null){if(I.Long)(Z.decimals=I.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")Z.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")Z.decimals=y.decimals;else if(typeof y.decimals==="object")Z.decimals=new I.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return Z},X.toObject=function(y,Z){if(!Z)Z={};let f={};if(Z.defaults)if(f.asset=null,f.amount="",I.Long){let J=new I.Long(0,0,!1);f.decimals=Z.longs===String?J.toString():Z.longs===Number?J.toNumber():J}else f.decimals=Z.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))f.asset=R.common.Asset.toObject(y.asset,Z);if(y.amount!=null&&y.hasOwnProperty("amount"))f.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")f.decimals=Z.longs===String?String(y.decimals):y.decimals;else f.decimals=Z.longs===String?I.Long.prototype.toString.call(y.decimals):Z.longs===Number?new I.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},X})(),T.PubKeySet=(()=>{function X(L){if(L){for(let y=Object.keys(L),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return X.prototype.secp256k1="",X.prototype.ed25519="",X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=My.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))Z.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))Z.uint32(18).string(y.ed25519);return Z},X.encodeDelimited=function(y,Z){return this.encode(y,Z).ldelim()},X.decode=function(y,Z){if(!(y instanceof K))y=K.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new R.common.PubKeySet;while(y.pos<f){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},X.decodeDelimited=function(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},X.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!I.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!I.isString(y.ed25519))return"ed25519: string expected"}return null},X.fromObject=function(y){if(y instanceof R.common.PubKeySet)return y;let Z=new R.common.PubKeySet;if(y.secp256k1!=null)Z.secp256k1=String(y.secp256k1);if(y.ed25519!=null)Z.ed25519=String(y.ed25519);return Z},X.toObject=function(y,Z){if(!Z)Z={};let f={};if(Z.defaults)f.secp256k1="",f.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))f.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))f.ed25519=y.ed25519;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},X})(),T.Tx=(()=>{function X(L){if(this.coins=[],this.gas=[],L){for(let y=Object.keys(L),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return X.prototype.id="",X.prototype.chain="",X.prototype.fromAddress="",X.prototype.toAddress="",X.prototype.coins=I.emptyArray,X.prototype.gas=I.emptyArray,X.prototype.memo="",X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=My.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))Z.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))Z.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))Z.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))Z.uint32(34).string(y.toAddress);if(y.coins?.length)for(let f=0;f<y.coins.length;++f)R.common.Coin.encode(y.coins[f],Z.uint32(42).fork()).ldelim();if(y.gas?.length)for(let f=0;f<y.gas.length;++f)R.common.Coin.encode(y.gas[f],Z.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))Z.uint32(58).string(y.memo);return Z},X.encodeDelimited=function(y,Z){return this.encode(y,Z).ldelim()},X.decode=function(y,Z){if(!(y instanceof K))y=K.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new R.common.Tx;while(y.pos<f){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(R.common.Coin.decode(y,y.uint32()));break;case 6:if(!J.gas?.length)J.gas=[];J.gas.push(R.common.Coin.decode(y,y.uint32()));break;case 7:J.memo=y.string();break;default:y.skipType(Q&7);break}}return J},X.decodeDelimited=function(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},X.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!I.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!I.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!I.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!I.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 Z=0;Z<y.coins.length;++Z){let f=R.common.Coin.verify(y.coins[Z]);if(f)return"coins."+f}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let Z=0;Z<y.gas.length;++Z){let f=R.common.Coin.verify(y.gas[Z]);if(f)return"gas."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!I.isString(y.memo))return"memo: string expected"}return null},X.fromObject=function(y){if(y instanceof R.common.Tx)return y;let Z=new R.common.Tx;if(y.id!=null)Z.id=String(y.id);if(y.chain!=null)Z.chain=String(y.chain);if(y.fromAddress!=null)Z.fromAddress=String(y.fromAddress);if(y.toAddress!=null)Z.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");Z.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Tx.coins: object expected");Z.coins[f]=R.common.Coin.fromObject(y.coins[f])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");Z.gas=[];for(let f=0;f<y.gas.length;++f){if(typeof y.gas[f]!=="object")throw TypeError(".common.Tx.gas: object expected");Z.gas[f]=R.common.Coin.fromObject(y.gas[f])}}if(y.memo!=null)Z.memo=String(y.memo);return Z},X.toObject=function(y,Z){if(!Z)Z={};let f={};if(Z.arrays||Z.defaults)f.coins=[],f.gas=[];if(Z.defaults)f.id="",f.chain="",f.fromAddress="",f.toAddress="",f.memo="";if(y.id!=null&&y.hasOwnProperty("id"))f.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))f.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=y.toAddress;if(y.coins?.length){f.coins=[];for(let J=0;J<y.coins.length;++J)f.coins[J]=R.common.Coin.toObject(y.coins[J],Z)}if(y.gas?.length){f.gas=[];for(let J=0;J<y.gas.length;++J)f.gas[J]=R.common.Coin.toObject(y.gas[J],Z)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},X})(),T.Fee=(()=>{function X(L){if(this.coins=[],L){for(let y=Object.keys(L),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return X.prototype.coins=I.emptyArray,X.prototype.poolDeduct="",X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=My.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)R.common.Coin.encode(y.coins[f],Z.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))Z.uint32(18).string(y.poolDeduct);return Z},X.encodeDelimited=function(y,Z){return this.encode(y,Z).ldelim()},X.decode=function(y,Z){if(!(y instanceof K))y=K.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new R.common.Fee;while(y.pos<f){let Q=y.uint32();switch(Q>>>3){case 1:if(!J.coins?.length)J.coins=[];J.coins.push(R.common.Coin.decode(y,y.uint32()));break;case 2:J.poolDeduct=y.string();break;default:y.skipType(Q&7);break}}return J},X.decodeDelimited=function(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},X.verify=function(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 Z=0;Z<y.coins.length;++Z){let f=R.common.Coin.verify(y.coins[Z]);if(f)return"coins."+f}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!I.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},X.fromObject=function(y){if(y instanceof R.common.Fee)return y;let Z=new R.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");Z.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".common.Fee.coins: object expected");Z.coins[f]=R.common.Coin.fromObject(y.coins[f])}}if(y.poolDeduct!=null)Z.poolDeduct=String(y.poolDeduct);return Z},X.toObject=function(y,Z){if(!Z)Z={};let f={};if(Z.arrays||Z.defaults)f.coins=[];if(Z.defaults)f.poolDeduct="";if(y.coins?.length){f.coins=[];for(let J=0;J<y.coins.length;++J)f.coins[J]=R.common.Coin.toObject(y.coins[J],Z)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))f.poolDeduct=y.poolDeduct;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},X})(),T.ProtoUint=(()=>{function X(L){if(L){for(let y=Object.keys(L),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return X.prototype.value="",X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=My.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))Z.uint32(10).string(y.value);return Z},X.encodeDelimited=function(y,Z){return this.encode(y,Z).ldelim()},X.decode=function(y,Z){if(!(y instanceof K))y=K.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new R.common.ProtoUint;while(y.pos<f){let Q=y.uint32();switch(Q>>>3){case 1:J.value=y.string();break;default:y.skipType(Q&7);break}}return J},X.decodeDelimited=function(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},X.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!I.isString(y.value))return"value: string expected"}return null},X.fromObject=function(y){if(y instanceof R.common.ProtoUint)return y;let Z=new R.common.ProtoUint;if(y.value!=null)Z.value=String(y.value);return Z},X.toObject=function(y,Z){if(!Z)Z={};let f={};if(Z.defaults)f.value="";if(y.value!=null&&y.hasOwnProperty("value"))f.value=y.value;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},X})(),T})();R.types=(()=>{let T={};return T.MsgDeposit=(()=>{function X(L){if(this.coins=[],L){for(let y=Object.keys(L),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return X.prototype.coins=I.emptyArray,X.prototype.memo="",X.prototype.signer=I.newBuffer([]),X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=My.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)R.common.Coin.encode(y.coins[f],Z.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))Z.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))Z.uint32(26).bytes(y.signer);return Z},X.encodeDelimited=function(y,Z){return this.encode(y,Z).ldelim()},X.decode=function(y,Z){if(!(y instanceof K))y=K.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new R.types.MsgDeposit;while(y.pos<f){let Q=y.uint32();switch(Q>>>3){case 1:if(!J.coins?.length)J.coins=[];J.coins.push(R.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},X.decodeDelimited=function(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},X.verify=function(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 Z=0;Z<y.coins.length;++Z){let f=R.common.Coin.verify(y.coins[Z]);if(f)return"coins."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!I.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||I.isString(y.signer)))return"signer: buffer expected"}return null},X.fromObject=function(y){if(y instanceof R.types.MsgDeposit)return y;let Z=new R.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");Z.coins=[];for(let f=0;f<y.coins.length;++f){if(typeof y.coins[f]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");Z.coins[f]=R.common.Coin.fromObject(y.coins[f])}}if(y.memo!=null)Z.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")I.base64.decode(y.signer,Z.signer=I.newBuffer(I.base64.length(y.signer)),0);else if(y.signer.length)Z.signer=y.signer}return Z},X.toObject=function(y,Z){if(!Z)Z={};let f={};if(Z.arrays||Z.defaults)f.coins=[];if(Z.defaults){if(f.memo="",Z.bytes===String)f.signer="";else if(f.signer=[],Z.bytes!==Array)f.signer=I.newBuffer(f.signer)}if(y.coins?.length){f.coins=[];for(let J=0;J<y.coins.length;++J)f.coins[J]=R.common.Coin.toObject(y.coins[J],Z)}if(y.memo!=null&&y.hasOwnProperty("memo"))f.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))f.signer=Z.bytes===String?I.base64.encode(y.signer,0,y.signer.length):Z.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},X})(),T.MsgSend=(()=>{function X(L){if(this.amount=[],L){for(let y=Object.keys(L),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return X.prototype.fromAddress=I.newBuffer([]),X.prototype.toAddress=I.newBuffer([]),X.prototype.amount=I.emptyArray,X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=My.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))Z.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))Z.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let f=0;f<y.amount.length;++f)R.cosmos.base.v1beta1.Coin.encode(y.amount[f],Z.uint32(26).fork()).ldelim();return Z},X.encodeDelimited=function(y,Z){return this.encode(y,Z).ldelim()},X.decode=function(y,Z){if(!(y instanceof K))y=K.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new R.types.MsgSend;while(y.pos<f){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(R.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(Q&7);break}}return J},X.decodeDelimited=function(y){if(!(y instanceof K))y=new K(y);return this.decode(y,y.uint32())},X.verify=function(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"||I.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||I.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 Z=0;Z<y.amount.length;++Z){let f=R.cosmos.base.v1beta1.Coin.verify(y.amount[Z]);if(f)return"amount."+f}}return null},X.fromObject=function(y){if(y instanceof R.types.MsgSend)return y;let Z=new R.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")I.base64.decode(y.fromAddress,Z.fromAddress=I.newBuffer(I.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)Z.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")I.base64.decode(y.toAddress,Z.toAddress=I.newBuffer(I.base64.length(y.toAddress)),0);else if(y.toAddress.length)Z.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");Z.amount=[];for(let f=0;f<y.amount.length;++f){if(typeof y.amount[f]!=="object")throw TypeError(".types.MsgSend.amount: object expected");Z.amount[f]=R.cosmos.base.v1beta1.Coin.fromObject(y.amount[f])}}return Z},X.toObject=function(y,Z){if(!Z)Z={};let f={};if(Z.arrays||Z.defaults)f.amount=[];if(Z.defaults){if(Z.bytes===String)f.fromAddress="";else if(f.fromAddress=[],Z.bytes!==Array)f.fromAddress=I.newBuffer(f.fromAddress);if(Z.bytes===String)f.toAddress="";else if(f.toAddress=[],Z.bytes!==Array)f.toAddress=I.newBuffer(f.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=Z.bytes===String?I.base64.encode(y.fromAddress,0,y.fromAddress.length):Z.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))f.toAddress=Z.bytes===String?I.base64.encode(y.toAddress,0,y.toAddress.length):Z.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){f.amount=[];for(let J=0;J<y.amount.length;++J)f.amount[J]=R.cosmos.base.v1beta1.Coin.toObject(y.amount[J],Z)}return f},X.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},X})(),T})();R.cosmos=(()=>{let T={};return T.base=(()=>{let X={};return X.v1beta1=(()=>{let L={};return L.Coin=(()=>{function y(Z){if(Z){for(let f=Object.keys(Z),J=0;J<f.length;++J)if(Z[f[J]]!=null)this[f[J]]=Z[f[J]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,J){if(!J)J=My.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))J.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))J.uint32(18).string(f.amount);return J},y.encodeDelimited=function(f,J){return this.encode(f,J).ldelim()},y.decode=function(f,J){if(!(f instanceof K))f=K.create(f);let Q=J===void 0?f.len:f.pos+J,q=new R.cosmos.base.v1beta1.Coin;while(f.pos<Q){let x=f.uint32();switch(x>>>3){case 1:q.denom=f.string();break;case 2:q.amount=f.string();break;default:f.skipType(x&7);break}}return q},y.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!I.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!I.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof R.cosmos.base.v1beta1.Coin)return f;let J=new R.cosmos.base.v1beta1.Coin;if(f.denom!=null)J.denom=String(f.denom);if(f.amount!=null)J.amount=String(f.amount);return J},y.toObject=function(f,J){if(!J)J={};let Q={};if(J.defaults)Q.denom="",Q.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))Q.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))Q.amount=f.amount;return Q},y.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},y})(),L.DecCoin=(()=>{function y(Z){if(Z){for(let f=Object.keys(Z),J=0;J<f.length;++J)if(Z[f[J]]!=null)this[f[J]]=Z[f[J]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(f){return new y(f)},y.encode=function(f,J){if(!J)J=My.create();if(f.denom!=null&&Object.hasOwnProperty.call(f,"denom"))J.uint32(10).string(f.denom);if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))J.uint32(18).string(f.amount);return J},y.encodeDelimited=function(f,J){return this.encode(f,J).ldelim()},y.decode=function(f,J){if(!(f instanceof K))f=K.create(f);let Q=J===void 0?f.len:f.pos+J,q=new R.cosmos.base.v1beta1.DecCoin;while(f.pos<Q){let x=f.uint32();switch(x>>>3){case 1:q.denom=f.string();break;case 2:q.amount=f.string();break;default:f.skipType(x&7);break}}return q},y.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.denom!=null&&f.hasOwnProperty("denom")){if(!I.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!I.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof R.cosmos.base.v1beta1.DecCoin)return f;let J=new R.cosmos.base.v1beta1.DecCoin;if(f.denom!=null)J.denom=String(f.denom);if(f.amount!=null)J.amount=String(f.amount);return J},y.toObject=function(f,J){if(!J)J={};let Q={};if(J.defaults)Q.denom="",Q.amount="";if(f.denom!=null&&f.hasOwnProperty("denom"))Q.denom=f.denom;if(f.amount!=null&&f.hasOwnProperty("amount"))Q.amount=f.amount;return Q},y.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},y})(),L.IntProto=(()=>{function y(Z){if(Z){for(let f=Object.keys(Z),J=0;J<f.length;++J)if(Z[f[J]]!=null)this[f[J]]=Z[f[J]]}}return y.prototype.int="",y.create=function(f){return new y(f)},y.encode=function(f,J){if(!J)J=My.create();if(f.int!=null&&Object.hasOwnProperty.call(f,"int"))J.uint32(10).string(f.int);return J},y.encodeDelimited=function(f,J){return this.encode(f,J).ldelim()},y.decode=function(f,J){if(!(f instanceof K))f=K.create(f);let Q=J===void 0?f.len:f.pos+J,q=new R.cosmos.base.v1beta1.IntProto;while(f.pos<Q){let x=f.uint32();switch(x>>>3){case 1:q.int=f.string();break;default:f.skipType(x&7);break}}return q},y.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.int!=null&&f.hasOwnProperty("int")){if(!I.isString(f.int))return"int: string expected"}return null},y.fromObject=function(f){if(f instanceof R.cosmos.base.v1beta1.IntProto)return f;let J=new R.cosmos.base.v1beta1.IntProto;if(f.int!=null)J.int=String(f.int);return J},y.toObject=function(f,J){if(!J)J={};let Q={};if(J.defaults)Q.int="";if(f.int!=null&&f.hasOwnProperty("int"))Q.int=f.int;return Q},y.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},y})(),L.DecProto=(()=>{function y(Z){if(Z){for(let f=Object.keys(Z),J=0;J<f.length;++J)if(Z[f[J]]!=null)this[f[J]]=Z[f[J]]}}return y.prototype.dec="",y.create=function(f){return new y(f)},y.encode=function(f,J){if(!J)J=My.create();if(f.dec!=null&&Object.hasOwnProperty.call(f,"dec"))J.uint32(10).string(f.dec);return J},y.encodeDelimited=function(f,J){return this.encode(f,J).ldelim()},y.decode=function(f,J){if(!(f instanceof K))f=K.create(f);let Q=J===void 0?f.len:f.pos+J,q=new R.cosmos.base.v1beta1.DecProto;while(f.pos<Q){let x=f.uint32();switch(x>>>3){case 1:q.dec=f.string();break;default:f.skipType(x&7);break}}return q},y.decodeDelimited=function(f){if(!(f instanceof K))f=new K(f);return this.decode(f,f.uint32())},y.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.dec!=null&&f.hasOwnProperty("dec")){if(!I.isString(f.dec))return"dec: string expected"}return null},y.fromObject=function(f){if(f instanceof R.cosmos.base.v1beta1.DecProto)return f;let J=new R.cosmos.base.v1beta1.DecProto;if(f.dec!=null)J.dec=String(f.dec);return J},y.toObject=function(f,J){if(!J)J={};let Q={};if(J.defaults)Q.dec="";if(f.dec!=null&&f.hasOwnProperty("dec"))Q.dec=f.dec;return Q},y.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},y})(),L})(),X})(),T})()});async function py(){let{$root:T}=await Promise.resolve().then(() => (U1(),Y1)),X=await import("@cosmjs/proto-signing"),L=X.Registry??X.default?.Registry,y=await import("@cosmjs/stargate"),Z=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new L([...Z,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Vy(T){let X=await import("@cosmjs/stargate"),L=X.AminoTypes??X.default?.AminoTypes,y=T===_1.Chain.THORChain?"thorchain":"mayachain";return new L({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:Z,...f})=>({...f,signer:YT(Z)}),toAmino:({signer:Z,...f})=>({...f,signer:UT(Z)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:Z,to_address:f,...J})=>({...J,fromAddress:YT(Z),toAddress:YT(f)}),toAmino:({fromAddress:Z,toAddress:f,...J})=>({...J,from_address:UT(Z),to_address:UT(f)})}})}var _1;var b0=$(()=>{_1=require("@swapkit/helpers");P0()});function h0(T){return function(L){let{assetValue:y,recipient:Z,memo:f,sender:J,asSignable:Q,asAminoMessage:q}=L;if(Z)return N1(T)({asAminoMessage:q,asSignable:Q,assetValue:y,memo:f,recipient:Z,sender:J});return k1(T)({asAminoMessage:q,asSignable:Q,assetValue:y,memo:f,sender:J})}}function Ky(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((X)=>{let L=By.AssetValue.from({asset:X.asset}),y=(L.isSynthetic?L.symbol.split("/")?.[1]:L.symbol)?.toUpperCase(),Z=(L.isSynthetic?L.symbol.split("/")?.[0]:L.chain)?.toUpperCase();return{...X,asset:{chain:Z,symbol:y,synth:L.isSynthetic,ticker:L.ticker}}})}}}async function kT({chain:T,memo:X,msgs:L}){let y=await py(),Z=await Vy(T),f={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:X,messages:L.map((J)=>Z.fromAmino(J))}};return y.encode(f)}var By,JX,QX,u0=({sender:T,recipient:X,assetValue:L})=>{return{type:`${L.chain===By.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:L.getBaseValue("string"),denom:$y(L.symbol,!0)}],from_address:T,to_address:X}}},j0=({sender:T,assetValue:X,memo:L=""})=>{return{type:`${X.chain===By.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:X.getBaseValue("string"),asset:_T(X)}],memo:L,signer:T}}},rT=({sender:T,recipient:X,assetValue:L,memo:y})=>{return!X?j0({assetValue:L,memo:y,sender:T}):u0({assetValue:L,recipient:X,sender:T})},Py=async(T,X)=>{return(await Vy(X)).fromAmino(T)},R1=async({rpcUrl:T,sender:X})=>{let y=await(await wy(T)).getAccount(X);if(!y)throw new By.SwapKitError("toolbox_cosmos_account_not_found",{sender:X});return y},N1=(T)=>async({sender:X,recipient:L,assetValue:y,memo:Z="",asSignable:f=!0,asAminoMessage:J=!1,sequence:Q,accountNumber:q})=>{let x=await R1({rpcUrl:T,sender:X}),z=y.chain,G=u0({assetValue:y,recipient:L,sender:X}),M=f?await Py(J?G:Ky(G),z):G;return{accountNumber:q||x.accountNumber,chainId:By.ChainToChainId[z],fee:Oy(y.chain),memo:Z,msgs:[M],sequence:Q||x.sequence}},k1=(T)=>async({sender:X,assetValue:L,memo:y="",asSignable:Z=!0,asAminoMessage:f=!1,sequence:J,accountNumber:Q})=>{let q=await R1({rpcUrl:T,sender:X}),x=L.chain,z=j0({assetValue:L,memo:y,sender:X}),G=Z?await Py(f?z:Ky(z),x):z;return{accountNumber:Q||q.accountNumber,chainId:By.ChainToChainId[x],fee:Oy(L.chain),memo:y,msgs:[G],sequence:J||q.sequence}};var D1=$(()=>{By=require("@swapkit/helpers");NT();b0();JX=Oy(By.Chain.THORChain).gas,QX=Oy(By.Chain.Maya).gas});var I1=()=>{};var O1=$(()=>{I1()});var n0=$(()=>{P0();D1();b0();O1()});async function o0(T,X){try{let y=(await m0.SwapKitApi.getGasRate()).find((Z)=>Z.chainId===T)?.value;return y?Number.parseFloat(y):X}catch(L){return X}}async function p0({phrase:T,prefix:X,...L}){let y=await import("@cosmjs/proto-signing"),Z=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,f=await import("@cosmjs/crypto"),J=f.stringToPath??f.default?.stringToPath,Q="derivationPath"in L?L.derivationPath:`${w.DerivationPath[L.chain]}/${L.index}`;return Z.fromMnemonic(T,{hdPaths:[J(Q)],prefix:X})}async function qX({privateKey:T,prefix:X}){let L=await import("@cosmjs/proto-signing");return(L.DirectSecp256k1Wallet??L.default?.DirectSecp256k1Wallet).fromKey(T,X)}function v1(T){return async function({signature:L,message:y,address:Z}){let f=await T(Z);if(!f?.pubkey)throw new w.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(ly.base64.decode(L));return q.verifySignature(x,ly.base64.decode(y),f.pubkey.value)}}async function IT({chain:T,...X}){let L=await w.getRPCUrl(T),y=w.CosmosChainPrefixes[T],Z="index"in X?X.index||0:0,f=w.derivationPathToString("derivationPath"in X&&X.derivationPath?X.derivationPath:w.updateDerivationPath(w.NetworkDerivationPath[T],{index:Z})),J=await DT.match(X).with({phrase:DT.P.string},({phrase:G})=>p0({derivationPath:f,phrase:G,prefix:y})).with({signer:DT.P.any},({signer:G})=>G).otherwise(()=>{return});async function Q(G){return(await wy(L)).getAccount(G)}async function q(){let[G]=await J?.getAccounts()||[];return G?.address}async function x(){let[G]=await J?.getAccounts()||[];if(!G?.pubkey)throw new w.SwapKitError("toolbox_cosmos_signer_not_defined");return ly.base64.encode(G?.pubkey)}async function z({recipient:G,assetValue:M,memo:H="",feeRate:B,feeOptionKey:N=w.FeeOption.Fast}){let D=await q();if(!(J&&D))throw new w.SwapKitError("toolbox_cosmos_signer_not_defined");let A=w.AssetValue.from({chain:T}),u=_T(A),r=B||BX((await C1(T,w1[T]))[N],u),g=await RT(L,J),Xy=[{amount:M.getBaseValue("string"),denom:$y(`u${M.symbol}`).toLowerCase()}],{transactionHash:s}=await g.sendTokens(D,G,Xy,r,H);return s}return{createPrivateKeyFromPhrase:WX(f),createTransaction:A0,fetchFeeRateFromSwapKit:o0,getAccount:Q,getAddress:q,getBalance:async(G,M)=>{let H=await E1(L)(G);return await Promise.all(H.filter(({denom:B})=>B&&!B.includes("IBC/")).map(({denom:B,amount:N})=>{let D=[w.Chain.THORChain,w.Chain.Maya].includes(T)&&(B.includes("/")||B.includes("˜"))?`${T}.${B}`:B;return S0(D,N)}))},getBalanceAsDenoms:E1(L),getFees:()=>C1(T,w1[T]),getPubKey:x,getSignerFromPhrase:async({phrase:G,derivationPath:M})=>p0({derivationPath:w.derivationPathToString(M),index:Z,phrase:G,prefix:y}),getSignerFromPrivateKey:async(G)=>{let M=await import("@cosmjs/proto-signing");return(M.DirectSecp256k1Wallet??M.default?.DirectSecp256k1Wallet).fromKey(G,y)},transfer:z,validateAddress:$1(y),verifySignature:v1(Q)}}async function F1(T,X){try{let y=(await m0.SwapKitApi.getGasRate()).find((Z)=>Z.chainId===T)?.value;return y?Number.parseFloat(y):X}catch(L){return X}}function zX({address:T,chain:X,prefix:L}){let y=L||MX(X);if(!(y&&T))throw new w.SwapKitError("toolbox_cosmos_validate_address_prefix_not_found");return $1(y)(T)}function GX({assetValue:{chain:T}}){return w.AssetValue.from({chain:T,value:HX(T)})}function MX(T){let{isStagenet:X}=w.SKConfig.get("envs"),L=T?[w.Chain.THORChain,w.Chain.Maya].includes(T)&&X:!1,y=T?w.CosmosChainPrefixes[T]:void 0;return L?`s${y}`:y}async function C1(T,X){let L=await o0(w.ChainToChainId[T],X);return{average:w.SwapKitNumber.fromBigInt(BigInt(L),w.BaseDecimal[T]),fast:w.SwapKitNumber.fromBigInt(BigInt(w.applyFeeMultiplier(L,w.FeeOption.Fast,!0)),w.BaseDecimal[T]),fastest:w.SwapKitNumber.fromBigInt(BigInt(w.applyFeeMultiplier(L,w.FeeOption.Fastest,!0)),w.BaseDecimal[T])}}function BX(T,X){return{amount:[{amount:T.getBaseValue("string"),denom:X}],gas:"200000"}}function HX(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 $1(T){return function(L){if(!L.startsWith(T))return!1;try{let{prefix:y,words:Z}=ly.bech32.decode(L);return ly.bech32.encode(y,Z)===L.toLocaleLowerCase()}catch(y){return!1}}}function E1(T){return async function(L){return(await(await wy(T)).getAllBalances(L)).map((J)=>({...J,denom:J.denom.includes("/")?J.denom.toUpperCase():J.denom}))}}function WX(T){return async function(L){let y=await import("@cosmjs/crypto"),Z=y.stringToPath??y.default?.stringToPath,f=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(L),z=await q.mnemonicToSeed(x),{privkey:G}=J.derivePath(f.Secp256k1,z,Z(T));return G}}var ly,w,m0,DT,w1,xX;var aT=$(()=>{ly=require("@scure/base"),w=require("@swapkit/helpers"),m0=require("@swapkit/helpers/api"),DT=require("ts-pattern");NT();w1={[w.Chain.Cosmos]:500,[w.Chain.Kujira]:1000,[w.Chain.Noble]:1000,[w.Chain.THORChain]:5000000,[w.Chain.Maya]:5000000};xX=F1});function YX({prefix:T,derivationPath:X}){return async function(y,Z=0){let f=await import("@cosmjs/amino"),J=f.Secp256k1HdWallet??f.default?.Secp256k1HdWallet,Q=await import("@cosmjs/crypto"),q=Q.stringToPath??Q.default?.stringToPath;return J.fromMnemonic(y,{hdPaths:[q(`${X}/${Z}`)],prefix:T})}}function UX(T){return Ay.base64.encode(T)}function _X(T){return async function({wallet:L,tx:y}){let{msgs:Z,accountNumber:f,sequence:J,chainId:Q,fee:q,memo:x}=typeof y==="string"?JSON.parse(y):y,z=(await L.getAccounts())?.[0]?.address||"",G=await Vy(T),M=await py(),H=await l0(L,{aminoTypes:G,registry:M}),B=[];for(let A of Z){let u=await Py(A,T);B.push(u)}let{signatures:[N]}=await H.sign(z,B,q,x,{accountNumber:f,chainId:Q,sequence:J});return{bodyBytes:await kT({chain:T,memo:x,msgs:Z.map(Ky)}),signature:UX(N)}}}function RX({prefix:T,rpcUrl:X}){return async function(y,Z,f,J,Q){let{encodeSecp256k1Pubkey:q,pubkeyToAddress:x}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:z}=(await import("@cosmjs/stargate")).default,{sequence:G,fee:M}=JSON.parse(y),H=await V1(f,J),B=Z.map((A)=>[x(q(Ay.base64.decode(A.pubKey)),T),Ay.base64.decode(A.signature)]),N=await wy(X),{transactionHash:D}=await N.broadcastTx(z(H,G,M,Q,new Map(B)));return D}}async function V1(T,X,L=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:Z}=(await import("@cosmjs/amino")).default;return y(T.map((f)=>Z(Ay.base64.decode(f))),X,L)}function NX(T){return Ay.base64.decode(T)}async function kX({privateKey:T,message:X}){let{Secp256k1:L}=(await import("@cosmjs/crypto")).default,y=await L.createSignature(Ay.base64.decode(X),T);return Ay.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function c0({chain:T,...X}){let L=m.SKConfig.get("nodeUrls")[T],y=await m.getRPCUrl(T),{isStagenet:Z}=m.SKConfig.get("envs"),f=T===m.Chain.THORChain,J=`${Z?"s":""}${m.CosmosChainPrefixes[T]}`,Q="index"in X?X.index||0:0,q="derivationPath"in X&&X.derivationPath?X.derivationPath:m.updateDerivationPath(m.NetworkDerivationPath[T],{index:Q}),x=await IT({chain:T,...X}),z=await OT.match(X).with({phrase:OT.P.string},({phrase:B})=>x.getSignerFromPhrase({derivationPath:q,phrase:B})).with({signer:OT.P.any},({signer:B})=>B).otherwise(()=>{return}),G=Oy(T);async function M(){let B,N=`${L}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:D}}=await m.RequestClient.get(N);if(!D||Number.isNaN(D)||D<0)throw new m.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:D.toString()});B=new m.SwapKitNumber(D)}catch{B=new m.SwapKitNumber({decimal:m.BaseDecimal[T],value:f?0.02:1})}return{[m.FeeOption.Average]:B,[m.FeeOption.Fast]:B,[m.FeeOption.Fastest]:B}}async function H({assetValue:B,memo:N="",recipient:D}){let{TxRaw:A}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),u=(await z?.getAccounts())?.[0]?.address;if(!(u&&z))throw new m.SwapKitError("toolbox_cosmos_no_signer");let r="signAmino"in z,g=await py(),Xy=await Vy(T),s=await RT(y,z,{aminoTypes:Xy,registry:g}),qy=rT({assetValue:B,memo:N,recipient:D,sender:u});if(r){let O=await Py(qy,T),{signatures:v,authInfoBytes:C}=await s.sign(u,[O],G,N),l=A.encode({authInfoBytes:C,bodyBytes:await kT({chain:T,memo:N,msgs:[qy].map(Ky)}),signatures:v}).finish();return(await s.broadcastTx(l)).transactionHash}let F=Ky(qy),U=await Py(F,T);return(await s.signAndBroadcast(u,[U],G,N)).transactionHash}return{...x,broadcastMultisigTx:RX({prefix:J,rpcUrl:y}),buildAminoMsg:rT,buildEncodedTxBody:kT,convertToSignable:Py,createDefaultAminoTypes:()=>Vy(T),createDefaultRegistry:py,createMultisig:V1,createTransaction:h0(y),deposit:H,getFees:M,importSignature:NX,parseAminoMessageForDirectSigning:Ky,pubkeyToAddress:async(B)=>{let{pubkeyToAddress:N}=(await import("@cosmjs/amino")).default;return N(B,J)},secp256k1HdWalletFromMnemonic:YX({derivationPath:m.derivationPathToString(q),prefix:J}),signMultisigTx:_X(T),signWithPrivateKey:kX,transfer:H}}var Ay,m,OT;var g0=$(()=>{Ay=require("@scure/base"),m=require("@swapkit/helpers"),OT=require("ts-pattern");n0();NT();aT()});var Sy,DX=(T,X)=>{switch(T){case Sy.Chain.Cosmos:case Sy.Chain.Kujira:case Sy.Chain.Noble:return IT({chain:T,...X});case Sy.Chain.Maya:case Sy.Chain.THORChain:return c0({chain:T,...X});default:throw new Sy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var P1=$(()=>{Sy=require("@swapkit/helpers");aT();g0();aT();g0()});var sT={};Gy(sT,{verifySignature:()=>v1,transferMsgAmino:()=>u0,toBase64:()=>XX,parseAminoMessageForDirectSigning:()=>Ky,getSignerFromPrivateKey:()=>qX,getSignerFromPhrase:()=>p0,getMsgSendDenom:()=>$y,getFeeRateFromThorswap:()=>xX,getFeeRateFromSwapKit:()=>F1,getDenomWithChain:()=>_T,getDefaultChainFee:()=>Oy,getCreateTransaction:()=>h0,getCosmosToolbox:()=>DX,getAssetFromDenom:()=>S0,fromBase64:()=>fX,fetchFeeRateFromSwapKit:()=>o0,estimateTransactionFee:()=>GX,depositMsgAmino:()=>j0,createThorchainToolbox:()=>c0,createStargateClient:()=>wy,createSigningStargateClient:()=>RT,createOfflineStargateClient:()=>l0,createDefaultRegistry:()=>py,createDefaultAminoTypes:()=>Vy,createCosmosToolbox:()=>IT,cosmosValidateAddress:()=>zX,cosmosCreateTransaction:()=>A0,convertToSignable:()=>Py,buildTransferTx:()=>N1,buildEncodedTxBody:()=>kT,buildDepositTx:()=>k1,buildAminoMsg:()=>rT,bech32ToBase64:()=>YT,base64ToBech32:()=>UT,YUM_KUJIRA_FACTORY_DENOM:()=>M1,USK_KUJIRA_FACTORY_DENOM:()=>K0,THORCHAIN_GAS_VALUE:()=>JX,MAYA_GAS_VALUE:()=>QX,DEFAULT_NOBLE_FEE_MAINNET:()=>W1,DEFAULT_KUJI_FEE_MAINNET:()=>H1,DEFAULT_COSMOS_FEE_MAINNET:()=>B1});module.exports=_y(sT);var eT=$(()=>{n0();P1();NT()});function l1(){function T(){let X=Date.now(),L=d0||X;return d0=L,X>d0?X:L+1}return IX+T().toString(36)}function T0(T){return async function(L,y=!0){return(await K1.SwapKitApi.getChainBalance({address:L,chain:T,scamFilter:y})).map(({identifier:f,value:J,decimal:Q})=>{return new y0.AssetValue({decimal:Q||y0.BaseDecimal[T],identifier:f,value:J})})}}var y0,K1,IX,d0=0;var X0=$(()=>{y0=require("@swapkit/helpers"),K1=require("@swapkit/helpers/api"),IX=typeof process<"u"&&process.pid?process.pid.toString(36):""});function wT(T){let X=f0.SKConfig.get("apis")[T];if(X)return f0.warnOnce({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),X;return wX(T)}function OX(T){return T}function wX(T){return{getBalance:T0(T)}}var f0;var Z0=$(()=>{f0=require("@swapkit/helpers");X0()});async function my(T,X){let{JsonRpcProvider:L}=await import("ethers");return new L(X||await n.getRPCUrl(T))}function CT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function t0(T){return()=>n.Chain.Ethereum===T?void 0:{...CX({chain:T}),blockExplorerUrls:[n.ChainToExplorerUrl[T]],chainId:n.ChainToHexChainId[T],rpcUrls:[n.SKConfig.get("rpcUrls")[T]]}}function i0(T){return![n.Chain.Arbitrum,n.Chain.BinanceSmartChain].includes(T)}function CX({chain:T}){let X=n.BaseDecimal[T];switch(T){case n.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:X,name:"Ethereum",symbol:n.Chain.Ethereum}};case n.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:X,name:"Ethereum",symbol:n.Chain.Ethereum}};case n.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:X,name:"Avalanche",symbol:T}};case n.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:X,name:"Ethereum",symbol:n.Chain.Ethereum}};case n.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:X,name:"Berachain",symbol:"BERA"}};case n.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:X,name:"Binance Coin",symbol:"BNB"}};case n.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:X,name:"xDAI",symbol:"XDAI"}};case n.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:X,name:"Ethereum",symbol:n.Chain.Ethereum}};case n.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:X,name:"Polygon",symbol:n.Chain.Polygon}};default:throw new n.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var n;var sy=$(()=>{n=require("@swapkit/helpers")});var A1;var S1=$(()=>{A1=[{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"}]});function yT({chain:T=W.Chain.Ethereum,provider:X,signer:L,isEIP1559Compatible:y=!0}){return{approve:$X({chain:T,isEIP1559Compatible:y,provider:X,signer:L}),approvedAmount:j1({chain:T,provider:X}),broadcastTransaction:X.broadcastTransaction,call:y5({chain:T,isEIP1559Compatible:y,provider:X,signer:L}),createApprovalTx:lX({chain:T,provider:X,signer:L}),createContract:s0({chain:T,provider:X}),createContractTxObject:oy({chain:T,provider:X}),createTransaction:r0({chain:T,provider:X,signer:L}),createTransferTx:r0({chain:T,provider:X,signer:L}),EIP1193SendTransaction:XT(X),estimateCall:h1({provider:X,signer:L}),estimateGasLimit:PX({chain:T,provider:X,signer:L}),estimateGasPrices:cy({chain:T,isEIP1559Compatible:y,provider:X}),estimateTransactionFee:AX({chain:T,isEIP1559Compatible:y,provider:X}),getAddress:()=>{return L?L.getAddress():void 0},isApproved:FX({chain:T,provider:X}),sendTransaction:n1({chain:T,isEIP1559Compatible:y,provider:X,signer:L}),signMessage:L?.signMessage,transfer:VX({chain:T,isEIP1559Compatible:y,provider:X,signer:L}),validateAddress:(Z)=>a0({address:Z})}}function a0({address:T}){try{return Ly.getAddress(T),!0}catch(X){return!1}}function TT(T){return T instanceof Ly.BrowserProvider}function vT(T,X,L){return new Ly.Contract(T,Ly.Interface.from(X),L)}function s0({provider:T}){return function(L,y){return new Ly.Contract(L,Ly.Interface.from(y),T)}}function e0({abi:T,funcName:X}){let L=T.find((y)=>y.name===X);if(!L)throw new W.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:X});return L.stateMutability&&EX.includes(L.stateMutability)}function b1(T){return Ly.getAddress(T)}function XT(T){return function({value:L,...y}){if(!TT(T))throw new W.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:Z,gasPrice:f,maxFeePerGas:J,maxPriorityFeePerGas:Q,...q}=y;return T.send("eth_sendTransaction",[{...q,value:CT(BigInt(L||0))}])}}function u1(T,X){let L=fT(T,X);if(L)return Ly.getAddress(L.toLowerCase());throw new W.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function fT({chain:T,symbol:X,ticker:L},y){try{let Z=T===W.Chain.BinanceSmartChain&&X==="BNB"&&L==="BNB",f=T===y&&X===y&&L===y,J=[W.Chain.Arbitrum,W.Chain.Aurora,W.Chain.Base,W.Chain.Optimism].includes(T)&&X==="ETH"&&L==="ETH";if(f||Z||J)return vX[y];return Ly.getAddress(X.slice(L.length+1).replace(/^0X/,""))}catch(Z){return null}}function oy({provider:T}){return async({contractAddress:X,abi:L,funcName:y,funcParams:Z=[],txOverrides:f})=>vT(X,L,T).getFunction(y).populateTransaction(...Z.concat(f).filter((J)=>typeof J<"u"))}function cy({chain:T,provider:X,isEIP1559Compatible:L=!0}){if(T===W.Chain.Arbitrum)return async function(){try{let{gasPrice:Z}=await X.getFeeData();if(!Z)throw new W.SwapKitError("toolbox_evm_no_fee_data");return{[W.FeeOption.Average]:{gasPrice:Z},[W.FeeOption.Fast]:{gasPrice:Z},[W.FeeOption.Fastest]:{gasPrice:Z}}}catch(Z){throw new W.SwapKitError("toolbox_evm_gas_estimation_error",{error:Z.msg??Z.toString()})}};return async function(){try{let{maxFeePerGas:Z,maxPriorityFeePerGas:f,gasPrice:J}=await X.getFeeData();if(L){if(Z===null||f===null)throw new W.SwapKitError("toolbox_evm_no_fee_data");return{[W.FeeOption.Average]:{maxFeePerGas:Z,maxPriorityFeePerGas:f},[W.FeeOption.Fast]:{maxFeePerGas:W.applyFeeMultiplierToBigInt(Z,W.FeeOption.Fast),maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(f,W.FeeOption.Fast)},[W.FeeOption.Fastest]:{maxFeePerGas:W.applyFeeMultiplierToBigInt(Z,W.FeeOption.Fastest),maxPriorityFeePerGas:W.applyFeeMultiplierToBigInt(f,W.FeeOption.Fastest)}}}if(!J)throw new W.SwapKitError("toolbox_evm_no_gas_price");return{[W.FeeOption.Average]:{gasPrice:J},[W.FeeOption.Fast]:{gasPrice:W.applyFeeMultiplierToBigInt(J,W.FeeOption.Fast)},[W.FeeOption.Fastest]:{gasPrice:W.applyFeeMultiplierToBigInt(J,W.FeeOption.Fastest)}}}catch(Z){throw new W.SwapKitError("toolbox_evm_gas_estimation_error",{error:Z.msg??Z.toString()})}}}function y5({provider:T,isEIP1559Compatible:X,signer:L,chain:y}){return async function({callProvider:f,contractAddress:J,abi:Q,funcName:q,funcParams:x=[],txOverrides:z={},feeOption:G=W.FeeOption.Fast}){let M=f||T;if(!J)throw new W.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let H=e0({abi:Q,funcName:q});if(H&&TT(M)&&L){let D=oy({chain:y,provider:M}),A=z?.from||await L?.getAddress(),u=await D({abi:Q,contractAddress:J,funcName:q,funcParams:x,txOverrides:{...z,from:A}});return XT(M)(u)}let B=vT(J,Q,M);if(H){if(!L)throw new W.SwapKitError("toolbox_evm_no_signer");let D=z?.from||await L.getAddress();if(!D)throw new W.SwapKitError("toolbox_evm_no_signer_address");let A=B.connect(L),u=cy({chain:y,isEIP1559Compatible:X,provider:T}),{maxFeePerGas:r,maxPriorityFeePerGas:g,gasPrice:Xy}=(await u())[G],s=await B.getFunction(q).estimateGas(...x,z),qy=await A[q](...x,{...z,gasLimit:s,gasPrice:Xy,maxFeePerGas:r,maxPriorityFeePerGas:g,nonce:z?.nonce||await M.getTransactionCount(D)});return typeof qy?.hash==="string"?qy?.hash:qy}let N=await B[q]?.(...x);return typeof N?.hash==="string"?N?.hash:N}}function j1({provider:T,chain:X}){return function({assetAddress:y,spenderAddress:Z,from:f}){return y5({chain:X,isEIP1559Compatible:!0,provider:T})({abi:ey.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[f,Z]})}}function FX({provider:T,chain:X}){return async function({assetAddress:y,spenderAddress:Z,from:f,amount:J=ET}){let Q=await j1({chain:X,provider:T})({assetAddress:y,from:f,spenderAddress:Z});return W.SwapKitNumber.fromBigInt(Q).gte(W.SwapKitNumber.fromBigInt(BigInt(J)))}}function $X({signer:T,isEIP1559Compatible:X=!0,provider:L,chain:y}){return async function({assetAddress:f,spenderAddress:J,feeOptionKey:Q=W.FeeOption.Fast,amount:q,gasLimitFallback:x,from:z,nonce:G}){let M=[J,BigInt(q||ET)],H=await T?.getAddress()||z,B={abi:ey.erc20ABI,contractAddress:f,funcName:"approve",funcParams:M,signer:T,txOverrides:{from:H}};if(TT(L)){let D=oy({chain:y,provider:L}),A=XT(L),u=await D(B);return A(u)}return y5({chain:y,isEIP1559Compatible:X,provider:L,signer:T})({...B,feeOption:Q,funcParams:M,txOverrides:{from:H,gasLimit:x?BigInt(x.toString()):void 0,nonce:G}})}}function VX({signer:T,isEIP1559Compatible:X=!0,provider:L}){return async function({assetValue:Z,memo:f,recipient:J,feeOptionKey:Q=W.FeeOption.Fast,sender:q,...x}){let{hexlify:z,toUtf8Bytes:G}=await import("ethers"),M=Z.getBaseValue("bigint"),H=Z.chain,B=q||await T?.getAddress(),N=n1({chain:H,isEIP1559Compatible:X,provider:L,signer:T});if(!B)throw new W.SwapKitError("toolbox_evm_no_from_address");if(Z.isGasAsset){let Xy={...x,data:z(G(f||"")),feeOptionKey:Q,from:B,to:J,value:M};return N(Xy)}if(!fT(Z,H))throw new W.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:A,maxPriorityFeePerGas:u,gasPrice:r}=(await cy({chain:H,isEIP1559Compatible:X,provider:L})())[Q],g=await r0({chain:H,provider:L,signer:T})({assetValue:Z,data:z(G(f||"")),gasPrice:r,maxFeePerGas:A,maxPriorityFeePerGas:u,memo:f,recipient:J,sender:B});return N(g)}}function h1({provider:T,signer:X}){return function({contractAddress:y,abi:Z,funcName:f,funcParams:J=[],txOverrides:Q}){if(!y)throw new W.SwapKitError("toolbox_evm_no_contract_address");let q=vT(y,Z,T);return X?q.connect(X).getFunction(f).estimateGas(...J,Q):q.getFunction(f).estimateGas(...J,Q)}}function PX({provider:T,signer:X}){return async function({assetValue:y,recipient:Z,memo:f,data:J,sender:Q,funcName:q,funcParams:x,txOverrides:z}){let G=y.bigIntValue,M=y.isGasAsset?null:fT(y,y.chain);if(M&&q)return h1({provider:T,signer:X})({abi:ey.erc20ABI,contractAddress:M,funcName:q,funcParams:x,txOverrides:z});let{hexlify:H,toUtf8Bytes:B}=await import("ethers");return T.estimateGas({data:J?J:f?H(B(f)):void 0,from:Q,to:Z,value:G})}}function n1({provider:T,signer:X,isEIP1559Compatible:L=!0,chain:y}){return async function({feeOptionKey:f=W.FeeOption.Fast,...J}){let{from:Q,to:q,data:x,value:z,...G}=J;if(!X)throw new W.SwapKitError("toolbox_evm_no_signer");if(!q)throw new W.SwapKitError("toolbox_evm_no_to_address");let M={...G,data:x||"0x",from:Q,to:q,value:BigInt(z||0)};if(TT(T))return XT(T)(M);let H=Q||await X.getAddress(),B=J.nonce||await T.getTransactionCount(H),N=(await T.getNetwork()).chainId,D=KX(M)||L,A=cy({chain:y,isEIP1559Compatible:L,provider:T}),u=D&&!(M.maxFeePerGas&&M.maxPriorityFeePerGas)||!M.gasPrice?Object.entries((await A())[f]).reduce((g,[Xy,s])=>({...g,[Xy]:CT(BigInt(s))}),{}):{},r;try{r=CT(M.gasLimit||await T.estimateGas(M)*11n/10n)}catch(g){throw new W.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:g})}try{let g={...M,chainId:N,gasLimit:r,nonce:B,type:D?2:0,...u};try{return(await X.sendTransaction(g)).hash}catch(Xy){let s=await X.signTransaction({...g,from:H});return(await T.broadcastTransaction(s)).hash}}catch(g){throw new W.SwapKitError("toolbox_evm_error_sending_transaction",{error:g})}}}function r0({provider:T,signer:X}){return async function({assetValue:y,memo:Z,recipient:f,data:J,sender:Q,maxFeePerGas:q,maxPriorityFeePerGas:x,gasPrice:z,...G}){let M=y.getBaseValue("bigint"),H=y.chain,B=Q||await X?.getAddress();if(!B)throw new W.SwapKitError("toolbox_evm_no_from_address");if(W.isGasAsset(y)){let{hexlify:A,toUtf8Bytes:u}=await import("ethers");return{...G,data:J||A(u(Z||"")),from:B,to:f,value:M}}let N=fT(y,H);if(!N)throw new W.SwapKitError("toolbox_evm_no_contract_address");return oy({chain:y.chain,provider:T})({abi:ey.erc20ABI,contractAddress:N,funcName:"transfer",funcParams:[f,M],txOverrides:{from:B,gasPrice:z,maxFeePerGas:q,maxPriorityFeePerGas:x}})}}function lX({provider:T,signer:X,chain:L}){return async function({assetAddress:Z,spenderAddress:f,amount:J,from:Q}){let q=await X?.getAddress()||Q,x=oy({chain:L,provider:T}),z=["bigint","number"].includes(typeof J)?J:J||ET;return await x({abi:ey.erc20ABI,contractAddress:Z,funcName:"approve",funcParams:[f,BigInt(z)],txOverrides:{from:q}})}}function AX({provider:T,isEIP1559Compatible:X=!0}){return async function({feeOption:y=W.FeeOption.Fast,chain:Z,...f}){let Q=await cy({chain:Z,isEIP1559Compatible:X,provider:T})(),q=await T.estimateGas(f),x=W.AssetValue.from({chain:Z}),{gasPrice:z,maxFeePerGas:G,maxPriorityFeePerGas:M}=Q[y];if(!X&&z)return x.set(W.SwapKitNumber.fromBigInt(z*q,x.decimal));if(G&&M){let H=(G+M)*q;return x.set(W.SwapKitNumber.fromBigInt(H,x.decimal))}throw new W.SwapKitError("toolbox_evm_no_gas_price")}}var W,ey,Ly,ET,EX,vX,KX=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var L0=$(()=>{W=require("@swapkit/helpers"),ey=require("@swapkit/helpers/contracts"),Ly=require("ethers");sy();ET=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");EX=["payable","nonpayable"];vX={[W.Chain.Arbitrum]:W.ContractAddress.ARB,[W.Chain.Aurora]:W.ContractAddress.AURORA,[W.Chain.Avalanche]:W.ContractAddress.AVAX,[W.Chain.Base]:W.ContractAddress.BASE,[W.Chain.Berachain]:W.ContractAddress.BERA,[W.Chain.BinanceSmartChain]:W.ContractAddress.BSC,[W.Chain.Ethereum]:W.ContractAddress.ETH,[W.Chain.Gnosis]:W.ContractAddress.GNO,[W.Chain.Optimism]:W.ContractAddress.OP,[W.Chain.Polygon]:W.ContractAddress.MATIC}});async function J0({provider:T,...X}){let L=await Cy(Zy.Chain.Ethereum)({provider:T,...X});async function y(Z,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",J="aggregate",Q=Zy.FeeOption.Fast){let q=await L.createContractTxObject({abi:A1,contractAddress:f,funcName:J,funcParams:[Z]});return L.sendTransaction({...q,feeOptionKey:Q})}return{...L,multicall:y}}function Cy(T){return async function({provider:L,...y}){let Z=await Zy.getRPCUrl(T),f=L||await my(T,Z),J=i0(T),Q=FT.match(y).with({phrase:FT.P.string},({phrase:x})=>p1.HDNodeWallet.fromPhrase(x).connect(f)).with({signer:FT.P.any},({signer:x})=>x).otherwise(()=>{return});return{...yT({chain:T,isEIP1559Compatible:J,provider:f,signer:Q}),getBalance:wT(T).getBalance,getNetworkParams:t0(T)}}}var Zy,p1,FT,Q0,q0,x0,z0,G0,M0,B0,H0;var T5=$(()=>{Zy=require("@swapkit/helpers"),p1=require("ethers"),FT=require("ts-pattern");Z0();S1();sy();L0();Q0=Cy(Zy.Chain.Arbitrum),q0=Cy(Zy.Chain.Aurora),x0=Cy(Zy.Chain.Avalanche),z0=Cy(Zy.Chain.Base),G0=Cy(Zy.Chain.Berachain),M0=Cy(Zy.Chain.BinanceSmartChain),B0=Cy(Zy.Chain.Gnosis),H0=Cy(Zy.Chain.Polygon)});var m1;var o1=$(()=>{m1=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function X5(T){return new W0.Contract(SX,m1,T)}function c1(T){return function(){let L=X5(T);if(L&&"l1BaseFee"in L)return L?.l1BaseFee();return}}function g1(T){return async function({from:L,to:y,nonce:Z,...f}){let{Transaction:J}=await import("ethers");if(!y)throw new j.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return J.from({...f,authorizationList:f.authorizationList,nonce:Z?Z:L?await T.getTransactionCount(L):0,to:y}).serialized}}function d1(T){return async function(L){let y=X5(T),Z=await g1(T)(L);if(y&&"getL1Fee"in y)return y.getL1Fee(Z)}}function t1(T){return async function(L){let y=await T.send("eth_gasPrice",[]),Z=await T.estimateGas(L);return y.mul(Z)}}function bX(T){return async function(L){let y=await d1(T)(L),Z=await t1(T)(L);return y.add(Z)}}function uX(T){return async function(L){let y=X5(T),Z=await g1(T)(L);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(Z)}}async function hX(T){try{let{maxFeePerGas:X,maxPriorityFeePerGas:L,gasPrice:y}=await T.getFeeData(),Z=c1(T)(),f=y;if(!(X&&L))throw new j.SwapKitError("toolbox_evm_no_fee_data");return{[j.FeeOption.Average]:{gasPrice:f,l1GasPrice:Z,maxFeePerGas:X,maxPriorityFeePerGas:L},[j.FeeOption.Fast]:{gasPrice:j.applyFeeMultiplierToBigInt(f,j.FeeOption.Fast),l1GasPrice:j.applyFeeMultiplierToBigInt(Z||0n,j.FeeOption.Fast),maxFeePerGas:X,maxPriorityFeePerGas:j.applyFeeMultiplierToBigInt(L,j.FeeOption.Fast)},[j.FeeOption.Fastest]:{gasPrice:j.applyFeeMultiplierToBigInt(f,j.FeeOption.Fastest),l1GasPrice:j.applyFeeMultiplierToBigInt(Z||0n,j.FeeOption.Fastest),maxFeePerGas:X,maxPriorityFeePerGas:j.applyFeeMultiplierToBigInt(L,j.FeeOption.Fastest)}}}catch(X){throw new j.SwapKitError("toolbox_evm_gas_estimation_error",{error:X.msg??X.toString()})}}async function Y0({provider:T,...X}){let L=j.Chain.Optimism,y=await j.getRPCUrl(L),Z=T||await my(L,y),f=$T.match(X).with({phrase:$T.P.string},({phrase:q})=>W0.HDNodeWallet.fromPhrase(q).connect(Z)).with({signer:$T.P.any},({signer:q})=>q).otherwise(()=>{return}),J=yT({provider:Z,signer:f}),Q=c1(Z);return{...J,estimateGasPrices:hX(Z),estimateL1Gas:uX(Z),estimateL1GasCost:d1(Z),estimateL2GasCost:t1(Z),estimateTotalGasCost:bX(Z),getBalance:wT(j.Chain.Optimism).getBalance,getL1GasPrice:Q,getNetworkParams:jX}}var j,W0,$T,SX="0x420000000000000000000000000000000000000f",jX=()=>({blockExplorerUrls:[j.ChainToExplorerUrl[j.Chain.Optimism]],chainId:j.ChainId.OptimismHex,chainName:"Optimism",nativeCurrency:{decimals:j.BaseDecimal.ETH,name:"Ethereum",symbol:j.Chain.Ethereum},rpcUrls:[j.SKConfig.get("rpcUrls")[j.Chain.Optimism]]});var f5=$(()=>{j=require("@swapkit/helpers"),W0=require("ethers"),$T=require("ts-pattern");Z0();o1();sy();L0()});var r1={};Gy(r1,{toChecksumAddress:()=>b1,isStateChangingCall:()=>e0,isBrowserProvider:()=>TT,getTokenAddress:()=>fT,getEvmToolbox:()=>i1,getEstimateGasPrices:()=>cy,getEIP1193SendTransaction:()=>XT,getCreateContractTxObject:()=>oy,getCreateContract:()=>s0,getChecksumAddressFromAsset:()=>u1,evmValidateAddress:()=>a0,createContract:()=>vT,OPToolbox:()=>Y0,MAX_APPROVAL:()=>ET,MATICToolbox:()=>H0,GNOToolbox:()=>B0,ETHToolbox:()=>J0,BaseEVMToolbox:()=>yT,BSCToolbox:()=>M0,BERAToolbox:()=>G0,BASEToolbox:()=>z0,AVAXToolbox:()=>x0,AURORAToolbox:()=>q0,ARBToolbox:()=>Q0});async function i1(T,X){let L={...X,provider:X?.provider||await my(T)};switch(T){case Jy.Chain.Arbitrum:return Q0(L);case Jy.Chain.Aurora:return q0(L);case Jy.Chain.Avalanche:return x0(L);case Jy.Chain.Base:return z0(L);case Jy.Chain.Berachain:return G0(L);case Jy.Chain.BinanceSmartChain:return M0(L);case Jy.Chain.Gnosis:return B0(L);case Jy.Chain.Optimism:return Y0(L);case Jy.Chain.Polygon:return H0(L);case Jy.Chain.Ethereum:return J0(L);default:throw new Jy.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var Jy;var Z5=$(()=>{Jy=require("@swapkit/helpers");sy();T5();f5();L0();T5();f5()});var a1;var s1=$(()=>{((L)=>{L.Test="goerli";L.Main="homestead"})(a1||={})});var e1={};Gy(e1,{toHexString:()=>CT,toChecksumAddress:()=>b1,isStateChangingCall:()=>e0,isBrowserProvider:()=>TT,getTokenAddress:()=>fT,getProvider:()=>my,getNetworkParams:()=>t0,getIsEIP1559Compatible:()=>i0,getEvmToolbox:()=>i1,getEvmApi:()=>wT,getEstimateGasPrices:()=>cy,getEIP1193SendTransaction:()=>XT,getCreateContractTxObject:()=>oy,getCreateContract:()=>s0,getChecksumAddressFromAsset:()=>u1,evmValidateAddress:()=>a0,createCustomEvmApi:()=>OX,createContract:()=>vT,OPToolbox:()=>Y0,MAX_APPROVAL:()=>ET,MATICToolbox:()=>H0,GNOToolbox:()=>B0,EthNetwork:()=>a1,ETHToolbox:()=>J0,BaseEVMToolbox:()=>yT,BSCToolbox:()=>M0,BERAToolbox:()=>G0,BASEToolbox:()=>z0,AVAXToolbox:()=>x0,AURORAToolbox:()=>q0,ARBToolbox:()=>Q0});module.exports=_y(e1);var y2=$(()=>{Z0();sy();Z5();s1()});async function nX(T,X,L){try{let y=await T.query.system?.account?.(L);if(!y)return[X.set(0)];let{data:{free:Z}}=y,f=gy.SwapKitNumber.fromBigInt(BigInt(Z.toString()),X.decimal).getValue("string");return[X.set(f)]}catch(y){return console.error("Error fetching substrate balance:",y),[X.set(0)]}}async function pX(T,X,L){try{let y=await T.query.flip?.account?.(L);if(!y)return[X.set(0)];let Z=y.balance||y.data?.balance;if(!Z||Z.isEmpty)return[X.set(0)];let f=gy.SwapKitNumber.fromBigInt(BigInt(Z.toString()),X.decimal).getValue("string");return[X.set(f)]}catch(y){return console.error("Error fetching chainflip balance:",y),[X.set(0)]}}function T2(T,X){return function(y){let Z=gy.AssetValue.from({chain:T});switch(T){case gy.Chain.Chainflip:return pX(X,Z,y);default:return nX(X,Z,y)}}}var gy;var X2=$(()=>{gy=require("@swapkit/helpers")});var mX,oX,cX,by;var L5=$(()=>{mX={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},oX={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},cX={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},by={DOT:mX,FLIP:oX,GENERIC:cX}});function gX(T,X){switch(T){case t.Chain.Chainflip:return Z2(X);case t.Chain.Polkadot:return f2(X);default:throw new t.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function ZT(T){return"address"in T}async function Q5(T,X){let{Keyring:L}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new L({ss58Format:X,type:"sr25519"}).addFromUri(T)}function eX(T,X){let L=JT.decodeAddress(T);return JT.encodeAddress(L,X)}function L2(T,X){return LT.isHex(T)?LT.hexToU8a(T):JT.decodeAddress(T,void 0,X)}function J2(T,X="ss58",L){if(X==="hex")return LT.u8aToHex(T);return JT.encodeAddress(T,L)}async function z5({generic:T,chain:X,...L}){let{ApiPromise:y,WsProvider:Z}=await import("@polkadot/api"),f=await t.getRPCUrl(X),J=new Z(f),Q=await y.create({provider:J}),q=t.AssetValue.from({chain:X}),x=T?by.GENERIC:by[X],z=await VT.match(L).with({phrase:VT.P.string},({phrase:G})=>Q5(G,by[X].prefix)).with({signer:VT.P.any},({signer:G})=>G).otherwise(()=>{return});return Q2({api:Q,chain:X,gasAsset:q,network:x,signer:z})}var LT,JT,t,VT,f2=({generic:T=!1,...X}={})=>{return z5({chain:t.Chain.Polkadot,generic:T,...X})},Z2=async({generic:T=!1,...X}={})=>{return{...await z5({chain:t.Chain.Chainflip,generic:T,...X})}},q5=(T,X)=>T.rpc.system.accountNextIndex(X),J5=(T,X)=>{try{let L=L2(T,X);return J2(L,"ss58",X),!0}catch(L){return!1}},x5=(T,{recipient:X,assetValue:L})=>T.tx.balances?.transferAllowDeath?.(X,L.getBaseValue("number")),dX=async(T,X,{recipient:L,assetValue:y,sender:Z})=>{let f=x5(T,{assetValue:y,recipient:L});if(!f)throw new t.SwapKitError("toolbox_substrate_transfer_error");let J=ZT(X),Q=J?X.address:Z;if(!Q)throw new t.SwapKitError("core_transaction_invalid_sender_address");let q=await q5(T,Q);return(await f.signAndSend(J?X:Q,{nonce:q,signer:J?void 0:X})).toString()},tX=async(T,X,L,{recipient:y,assetValue:Z,sender:f})=>{let J=x5(T,{assetValue:Z,recipient:y}),Q=ZT(X)?X.address:f;if(!Q)return;let q=await J?.paymentInfo(Q,{nonce:await q5(T,Q)})||{partialFee:0};return L.set(t.SwapKitNumber.fromBigInt(BigInt(q.partialFee.toString()),L.decimal).getValue("string"))},iX=async(T,X)=>{if(X)return T.send(X);return(await T.send()).toString()},rX=async(T,X)=>{return await X.signAsync(T)},aX=(T,X,L)=>{if(L)return X.signAndSend(T,L);return X.signAndSend(T).toString()},sX=async({signer:T,address:X,tx:L,callback:y,api:Z})=>{let f=await q5(Z,X);if(y)L.signAndSend(X,{nonce:f,signer:T},y);return L.signAndSend(X,{nonce:f,signer:T}).toString()},Q2=({api:T,network:X,gasAsset:L,signer:y,chain:Z})=>({api:T,broadcast:iX,convertAddress:eX,createKeyring:(f)=>Q5(f,X.prefix),createTransaction:(f)=>x5(T,f),decodeAddress:L2,encodeAddress:J2,estimateTransactionFee:(f)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return tX(T,y,L,f)},gasAsset:L,getAddress:(f)=>{let J=f||y;if(!J)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return ZT(J)?J.address:void 0},getBalance:T2(Z||t.Chain.Polkadot,T),network:X,sign:(f)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");if(ZT(y))return rX(y,f);throw new t.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:f,callback:J,address:Q})=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");if(ZT(y))return aX(y,f,J);if(Q)return sX({address:Q,api:T,callback:J,signer:y,tx:f});throw new t.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(f)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return dX(T,y,f)},validateAddress:(f)=>J5(f,X.prefix)}),y8=({address:T,chain:X})=>{let{prefix:L}=X===t.Chain.Polkadot?by.DOT:by.FLIP;return J5(T,L)||J5(T,by.GENERIC.prefix)};var q2=$(()=>{LT=require("@polkadot/util"),JT=require("@polkadot/util-crypto"),t=require("@swapkit/helpers"),VT=require("ts-pattern");X2();L5()});var G5={};Gy(G5,{substrateValidateAddress:()=>y8,isKeyringPair:()=>ZT,getSubstrateToolbox:()=>gX,createSubstrateToolbox:()=>z5,createKeyring:()=>Q5,SubstrateNetwork:()=>by,PolkadotToolbox:()=>f2,ChainflipToolbox:()=>Z2,BaseSubstrateToolbox:()=>Q2});module.exports=_y(G5);var M5=$(()=>{q2();L5()});async function T8({chain:T,txHash:X}){let L=`${U0(T)}/push/transaction`,y=JSON.stringify({data:X});try{let Z=await b.RequestClient.post(L,{body:y,headers:{"Content-Type":"application/json"}});if(Z.context.code!==200)throw new b.SwapKitError("toolbox_utxo_broadcast_failed",{error:Z.context.error||"Transaction broadcast failed"});return Z.data?.transaction_hash||X}catch(Z){let f=await b.getRPCUrl(T);if(f){let J=JSON.stringify({id:l1(),jsonrpc:"2.0",method:"sendrawtransaction",params:[X]}),Q=await b.RequestClient.post(f,{body:J,headers:{"Content-Type":"application/json"}});if(Q.error)throw new b.SwapKitError("toolbox_utxo_broadcast_failed",{error:Q.error?.message});if(Q.result.includes('"code":-26'))throw new b.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return Q.result}throw Z}}function U0(T){return`https://api.blockchair.com/${X8(T)}`}function x2(T){switch(T){case b.Chain.Bitcoin:return 5;case b.Chain.Dogecoin:return 1e4;case b.Chain.Litecoin:return 1;case b.Chain.Zcash:return 1;default:return 2}}function X8(T){switch(T){case b.Chain.BitcoinCash:return"bitcoin-cash";case b.Chain.Litecoin:return"litecoin";case b.Chain.Dash:return"dash";case b.Chain.Dogecoin:return"dogecoin";case b.Chain.Zcash:return"zcash";case b.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function f8(T){try{let{feePerKb:X}=await b.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),L=X/1000;return Math.max(L,x2(T))}catch(X){return x2(T)}}async function B5(T,X){let L=await b.RequestClient.get(`${T}${X?`${T.includes("?")?"&":"?"}key=${X}`:""}`);if(!L||L.context.code!==200)throw new b.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return L.data}async function B2({address:T,chain:X,apiKey:L}){if(!T)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await B5(`${U0(X)}/dashboards/address/${T}?transaction_details=true`,L))[T]}catch(y){return{address:{balance:0,transaction_count:0},utxo:[]}}}async function Z8({address:T,chain:X,apiKey:L}){return(await B2({address:T,apiKey:L,chain:X}))?.address.balance||0}async function H2({chain:T,apiKey:X,txHash:L}){if(!L)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await B5(`${U0(T)}/raw/transaction/${L}`,X))?.[L]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function L8({chain:T,address:X,apiKey:L,offset:y=0,limit:Z=30}){return(await B5(`${U0(T)}/outputs?q=recipient(${X}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${Z}&offset=${y}`,L)).map(({is_spent:q,script_hex:x,block_id:z,transaction_hash:G,index:M,value:H,spending_signature_hex:B})=>({hash:G,index:M,is_confirmed:z!==-1,is_spent:q,script_hex:x,txHex:B,value:H}))}function J8(T){return T.reduce((X,L)=>X+L.value,0)}function z2(T,X){let L=[...T].sort((y,Z)=>Z.value-y.value);if(X){let y=[],Z=0;for(let f of L)if(y.push(f),Z+=f.value,Z>=X)break;return y}return L}async function W2({chain:T,address:X,apiKey:L,targetValue:y,accumulativeValue:Z=0,offset:f=0,limit:J=30}){if(!X)throw new b.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let Q=await L8({address:X,apiKey:L,chain:T,limit:J,offset:f,targetValue:y}),x=Q.length<J,z=Q.filter(({is_spent:D})=>!D),G=J8(z),M=Z+G,H=y&&M>=y;if(x||H)return z2(z,y);let B=await W2({accumulativeValue:M,address:X,apiKey:L,chain:T,limit:J,offset:f+J,targetValue:y}),N=[...z,...B];return z2(N,y)}catch(Q){return console.error("Failed to fetch unspent UTXOs:",Q),[]}}async function Q8({address:T,chain:X,apiKey:L,fetchTxHex:y=!0,targetValue:Z}){let f=await W2({address:T,apiKey:L,chain:X,targetValue:Z}),J=[];for(let{hash:Q,index:q,script_hex:x,value:z}of f){let G;if(y)G=await H2({apiKey:L,chain:X,txHash:Q});J.push({address:T,hash:Q,index:q,txHex:G,value:z,witnessUtxo:{script:Buffer.from(x,"hex"),value:z}})}return J}function q8(T){let X=b.SKConfig.get("apiKeys").blockchair||"";return b.warnOnce({condition:!X,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(L)=>T8({chain:T,txHash:L}),getAddressData:(L)=>B2({address:L,apiKey:X,chain:T}),getBalance:(L)=>Z8({address:L,apiKey:X,chain:T}),getRawTx:(L)=>H2({apiKey:X,chain:T,txHash:L}),getSuggestedTxFee:()=>f8(T),getUtxos:(L)=>Q8({...L,apiKey:X,chain:T})}}function x8(T){return T}function Qy(T){let X=b.SKConfig.get("apis")[T];if(X)return b.warnOnce({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),X;return q8(T)}function Ry(){return function(X){switch(X){case b.Chain.Bitcoin:return M2.networks.bitcoin;case b.Chain.BitcoinCash:return QT.default.bitcoincash.main.toBitcoinJS();case b.Chain.Dash:return QT.default.dash.main.toBitcoinJS();case b.Chain.Litecoin:return QT.default.litecoin.main.toBitcoinJS();case b.Chain.Dogecoin:{let L={private:70615956,public:70617039},y=QT.default.dogecoin.test;return y.versions.bip32=L,QT.default.dogecoin.main.toBitcoinJS()}case b.Chain.Zcash:return G2.networks.zcash;default:throw new b.SwapKitError("toolbox_utxo_not_supported",{chain:X})}}}var G2,b,M2,QT;var Y2=$(()=>{G2=require("@bitgo/utxo-lib"),b=require("@swapkit/helpers"),M2=require("bitcoinjs-lib"),QT=Y(require("coininfo"));X0()});function _5(T){try{return _0(T),!0}catch(X){return!1}}function R5(T){return _0(T)?.network}function qT(T){let X=_0(T);if(X?.format==="legacy")return T;return M8(X)}function PT(T){let X=_0(T);return B8(X)}function _0(T){try{let X=z8(T);if(X)return X}catch(X){}try{let X=G8(T);if(X)return X}catch(X){}throw new H5.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function z8(T){try{let X=W5.default.decode(T);if(X.length!==21)throw new H5.SwapKitError("toolbox_utxo_invalid_address",{address:T});let L=X[0],y=Array.prototype.slice.call(X,1);switch(L){case c.legacy.mainnet.p2pkh:return{format:"legacy",hash:y,network:"mainnet",type:"p2pkh"};case c.legacy.mainnet.p2sh:return{format:"legacy",hash:y,network:"mainnet",type:"p2sh"};case c.legacy.testnet.p2pkh:return{format:"legacy",hash:y,network:"testnet",type:"p2pkh"};case c.legacy.testnet.p2sh:return{format:"legacy",hash:y,network:"testnet",type:"p2sh"};case c.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2pkh"};case c.bitpay.mainnet.p2sh:return{format:"bitpay",hash:y,network:"mainnet",type:"p2sh"};default:return}}catch(X){return}}function G8(T){if(T.indexOf(":")!==-1)try{return U2(T)}catch(X){}else{let X=["bitcoincash","bchtest","bchreg"];for(let L of X)try{return U2(`${L}:${T}`)}catch(y){}}return}function U2(T){try{let{hash:X,prefix:L,type:y}=Y5.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(X,0),network:L==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch(X){return}}function M8(T){let X=c.legacy[T.network][T.type],L=Buffer.alloc(1+T.hash.length);return L[0]=X,L.set(T.hash,1),W5.default.encode(L)}function B8(T){let X=T.network==="mainnet"?"bitcoincash":"bchtest",L=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return Y5.default.encode(X,L,y)}var H5,W5,Y5,U5,c;var _2=$(()=>{H5=require("@swapkit/helpers"),W5=Y(require("bs58check")),Y5=Y(require("cashaddrjs"));((L)=>{L.Mainnet="mainnet";L.Testnet="testnet"})(U5||={});c={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Ny(T){let X=Buffer.from(T,"utf8");return N0.script.compile([N0.opcodes.OP_RETURN,X])}var R2,N0,H8=1000,k0=10,N2=10,W8=41,Y8=107,D0,R0,KT,lT=(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 R2.SwapKitError("toolbox_utxo_invalid_address",{address:T})},xT=({inputs:T,outputs:X,feeRate:L})=>{let y=T[0]&&"address"in T[0]&&T[0].address?lT(T[0].address):"P2PKH",Z=T.filter((J)=>J.value>=R0["type"in J?J.type:"P2PKH"]*Math.ceil(L)).reduce((J,Q)=>J+uy(Q),0),f=X?.reduce((J,Q)=>J+AT(Q),0)||KT[y];return k0+Z+f},uy=(T)=>{if("type"in T)return R0[T.type];if("address"in T&&T.address)return R0[lT(T.address)];return W8+Y8},AT=(T,X)=>{if(T?.script)return N2+T.script.length+(T.script.length>=74?2:1);if(X)return KT[X];return KT.P2PKH};var N5=$(()=>{R2=require("@swapkit/helpers"),N0=require("bitcoinjs-lib");((L)=>{L.P2PKH="P2PKH";L.P2WPKH="P2WPKH"})(D0||={});R0={["P2PKH"]:148,["P2WPKH"]:68},KT={["P2PKH"]:34,["P2WPKH"]:31}});function I0(T){switch(T){case ky.Chain.Bitcoin:case ky.Chain.BitcoinCash:return 550;case ky.Chain.Dash:case ky.Chain.Litecoin:return 5500;case ky.Chain.Dogecoin:return 1e5;case ky.Chain.Zcash:return 546;default:throw new ky.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function Dy({inputs:T,outputs:X,feeRate:L=1,chain:y=ky.Chain.Bitcoin,changeAddress:Z=""}){let f=Math.ceil(L),J=T[0]&&"address"in T[0]&&T[0].address?lT(T[0].address):"P2PKH",Q=T.filter((H)=>uy(H)*f<=H.value),q=k0+X.reduce((H,B)=>H+AT(B,J),0),x=X.reduce((H,B)=>H+B.value,0),z=q*f,G=0,M=[];for(let H of Q){let B=uy(H),N=f*B;z+=N,G+=H.value,M.push(H);let D=z+x;if(G<D)continue;let A=G-D,u=f*AT({address:"",value:0},J);if(A>u){let r=u+z,g=G-(x+r);if(g>Math.max(uy({})*f,I0(y)))return{fee:r,inputs:M,outputs:X.concat({address:Z,value:g})}}return{fee:z,inputs:M,outputs:X}}return{fee:f*xT({feeRate:f,inputs:T,outputs:X})}}var ky;var k2=$(()=>{ky=require("@swapkit/helpers");N5()});var zT=$(()=>{Y2();_2();k2();N5()});function dy(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function jy(T){let X=dy(T);return _5(X)&&R5(X)==="mainnet"}function GT(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 X=O0.networks.zcash;try{return O0.address.toOutputScript(T,X),!0}catch{let L=D2.default.decode(T);if(L.length<21)return!1;let y=L[0];return y===X.pubKeyHash||y===X.scriptHash}}catch{return!1}}var O0,D2;var ST=$(()=>{O0=require("@bitgo/utxo-lib"),D2=Y(require("bs58check"));zT()});function w2({inputs:T,outputs:X,chain:L,psbt:y,sender:Z,compiledMemo:f}){for(let J of T){let Q=!!J.witnessUtxo&&!bT.includes(L)&&{witnessUtxo:J.witnessUtxo},q=bT.includes(L)&&{nonWitnessUtxo:J.txHex?Buffer.from(J.txHex,"hex"):void 0};y.addInput({hash:J.hash,index:J.index,...Q,...q})}for(let J of X){let Q="address"in J&&J.address?J.address:Z,q=J.script;if(q&&!f)continue;let x=q?{script:f,value:0}:{address:Q,value:J.value};Iy.initEccLib(w0.default),y.addOutput(x)}return{inputs:T,psbt:y}}async function C2({assetValue:T,recipient:X,memo:L,feeRate:y,sender:Z,fetchTxHex:f=!1}){let J=T.chain,Q=L?await Ny(L):null,q=await F2({assetValue:T,fetchTxHex:f,memo:L,recipient:X,sender:Z}),{inputs:x,outputs:z}=Dy({...q,chain:J,feeRate:y});if(!(x&&z))throw new V.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:Z});let G=await Ry(),M=new Iy.Psbt({network:G(J)});if(J===V.Chain.Dogecoin)M.setMaximumFeeRate(650000000);let{psbt:H,inputs:B}=await w2({chain:J,compiledMemo:Q,inputs:x,outputs:z,psbt:M,sender:Z});return{inputs:B,psbt:H,utxos:q.inputs}}async function E2(){let T=await Ry();return function({address:L,chain:y}){if(y===V.Chain.BitcoinCash)return jy(L);if(y===V.Chain.Zcash)return GT(L);try{return Iy.initEccLib(w0.default),Iy.address.toOutputScript(L,T(y)),!0}catch(Z){return!1}}}async function U8({chain:T,phrase:X,derivationPath:L}){let y=(await uT(T))({derivationPath:L,phrase:X});async function Z(J){return await J.signAllInputs(y),J}async function f(){return(await D5(T))(y)}return{getAddress:f,signTransaction:Z}}async function ty({chain:T,...X}){let L="phrase"in X?X.phrase:void 0,y="index"in X?X.index||0:0,Z=V.derivationPathToString("derivationPath"in X&&X.derivationPath?X.derivationPath:V.updateDerivationPath(V.NetworkDerivationPath[T],{index:y})),f=L?await U8({chain:T,derivationPath:Z,phrase:L}):("signer"in X)?X.signer:void 0;function J(){return Promise.resolve(f?.getAddress())}let Q=await D5(T),q=await E2(),x=await uT(T);return{accumulative:Dy,broadcastTx:(z)=>Qy(T).broadcastTx(z),calculateTxSize:xT,createKeysForPath:x,createTransaction:C2,estimateMaxSendableAmount:_8(T),estimateTransactionFee:R8(T),getAddress:J,getAddressFromKeys:Q,getBalance:T0(T),getFeeRates:()=>jT(T),getInputsOutputsFee:v2,getPrivateKeyFromMnemonic:(z)=>{return x(z).toWIF()},transfer:N8(f),validateAddress:(z)=>q({address:z,chain:T})}}async function v2({assetValue:T,feeOptionKey:X=V.FeeOption.Fast,feeRate:L,memo:y,sender:Z,recipient:f}){let J=T.chain,Q=await F2({assetValue:T,memo:y,recipient:f,sender:Z}),q=L?Math.floor(L):(await jT(J))[X];return Dy({...Q,chain:J,feeRate:q})}function _8(T){return async function({from:L,memo:y,feeRate:Z,feeOptionKey:f=V.FeeOption.Fast,recipients:J=1}){let Q=await Qy(T).getAddressData(L),q=Z?Math.ceil(Z):(await jT(T))[f],x=Q?.utxo.map((B)=>({...B,hash:"",type:"P2PKH"})).filter((B)=>B.value>Math.max(I0(T),uy(B)*q));if(!x?.length)return V.AssetValue.from({chain:T});let z=V.AssetValue.from({chain:T,value:x.reduce((B,N)=>B+N.value,0)}),G=typeof J==="number"?Array.from({length:J},()=>({address:L,value:0})):J;if(y){let B=await Ny(y);G.push({address:L,script:B,value:0})}let H=xT({feeRate:q,inputs:x,outputs:G})*q;return z.sub(H)}}function R8(T){return async(X)=>{let L=await v2(X);return V.AssetValue.from({chain:T,value:V.SwapKitNumber.fromBigInt(BigInt(L.fee),8).getValue("string")})}}async function uT(T){let X=await Ry();switch(T){case V.Chain.BitcoinCash:return function({phrase:y,derivationPath:Z=`${V.DerivationPath.BCH}/0`,wif:f}){let J=X(T);if(f)return C0.ECPair.fromWIF(f,J);if(!y)throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return C0.HDNode.fromSeedBuffer(Buffer.from(k5.mnemonicToSeedSync(y)),J).derivePath(Z).keyPair};case V.Chain.Bitcoin:case V.Chain.Dogecoin:case V.Chain.Litecoin:case V.Chain.Zcash:case V.Chain.Dash:return function({phrase:y,wif:Z,derivationPath:f}){if(!(Z||y))throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let J=O2.ECPairFactory(w0.default),Q=X(T);if(Z)return J.fromWIF(Z,Q);let q=k5.mnemonicToSeedSync(y),x=I2.HDKey.fromMasterSeed(q,Q).derive(f);if(!x.privateKey)throw new V.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 V.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}async function D5(T){let X=await Ry();return function(y){if(!y)throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let Z=bT.includes(T)?Iy.payments.p2pkh:Iy.payments.p2wpkh,{address:f}=Z({network:X(T),pubkey:y.publicKey});if(!f)throw new V.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return f}}function N8(T){return async function({memo:L,recipient:y,feeOptionKey:Z,feeRate:f,assetValue:J}){let Q=await T?.getAddress(),q=J.chain;if(!(T&&Q))throw new V.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let x=f||(await jT(q))[Z||V.FeeOption.Fast],{psbt:z}=await C2({assetValue:J,feeRate:x,memo:L,recipient:y,sender:Q}),G=await T.signTransaction(z);return G.finalizeAllInputs(),Qy(q).broadcastTx(G.extractTransaction().toHex())}}async function jT(T){let X=await Qy(T).getSuggestedTxFee();return{[V.FeeOption.Average]:X,[V.FeeOption.Fast]:V.applyFeeMultiplier(X,V.FeeOption.Fast),[V.FeeOption.Fastest]:V.applyFeeMultiplier(X,V.FeeOption.Fastest)}}async function F2({assetValue:T,recipient:X,memo:L,sender:y,fetchTxHex:Z=!1}){let f=T.chain,J=(await jT(f))[V.FeeOption.Fastest],Q=Z||bT.includes(f),q=T.getBaseValue("number"),x=Math.ceil(q+J*5000);return{inputs:await Qy(f).getUtxos({address:y,fetchTxHex:Q,targetValue:x}),outputs:[{address:X,value:q},...L?[{address:"",script:await Ny(L),value:0}]:[]]}}var w0,C0,I2,k5,V,Iy,O2,bT;var hT=$(()=>{w0=Y(require("@bitcoinerlab/secp256k1")),C0=require("@psf/bitcoincashjs-lib"),I2=require("@scure/bip32"),k5=require("@scure/bip39"),V=require("@swapkit/helpers"),Iy=require("bitcoinjs-lib"),O2=require("ecpair");X0();zT();ST();bT=[V.Chain.Dash,V.Chain.Dogecoin,V.Chain.Zcash,V.Chain.BitcoinCash]});function iy(T){return dy(PT(T))}function k8(T){function X({builder:y,utxos:Z}){return Z.forEach((f,J)=>{y.sign(J,T,void 0,65,f.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(iy(y))},signTransaction:X}}async function I5(T){let X="phrase"in T?T.phrase:void 0,L="index"in T?T.index||0:0,y=yy.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:yy.updateDerivationPath(yy.NetworkDerivationPath[Yy],{index:L})),Z=X?(await uT(Yy))({derivationPath:y,phrase:X}):void 0,f=Z?k8(Z):("signer"in T)?T.signer:void 0;function J(){return Promise.resolve(f?.getAddress())}let{getBalance:Q,getFeeRates:q,broadcastTx:x,...z}=await ty({chain:Yy});function G(M,H=!0){return Q(dy(PT(M)))}return{...z,broadcastTx:x,buildTx:I8,createTransaction:V2,getAddress:J,getAddressFromKeys:O8,getBalance:G,getFeeRates:q,stripPrefix:dy,stripToCashAddress:iy,transfer:D8({broadcastTx:x,getFeeRates:q,signer:f}),validateAddress:jy}}async function V2({assetValue:T,recipient:X,memo:L,feeRate:y,sender:Z}){if(!jy(X))throw new yy.SwapKitError("toolbox_utxo_invalid_address",{address:X});let f=Math.ceil(T.getBaseValue("number")+y*7500),J=await Qy(Yy).getUtxos({address:iy(Z),fetchTxHex:!0,targetValue:f}),Q=L?await Ny(L):null,q=[];q.push({address:X,value:T.getBaseValue("number")});let{inputs:x,outputs:z}=Dy({chain:Yy,feeRate:y,inputs:J,outputs:q});if(!(x&&z))throw new yy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:Z});let G=await Ry(),M=new MT.TransactionBuilder(G(Yy));await Promise.all(x.map(async(H)=>{let B=await Qy(Yy).getRawTx(H.hash);M.addInput(MT.Transaction.fromBuffer(Buffer.from(B,"hex")),H.index)}));for(let H of z){let B="address"in H&&H.address?H.address:qT(Z),N=await Ry(),D=MT.address.toOutputScript(qT(B),N(Yy));M.addOutput(D,H.value)}if(Q)M.addOutput(Q,0);return{builder:M,utxos:x}}function D8({broadcastTx:T,getFeeRates:X,signer:L}){return async function({recipient:Z,assetValue:f,feeOptionKey:J=yy.FeeOption.Fast,...Q}){let q=await L?.getAddress();if(!(L&&q))throw new yy.SwapKitError("toolbox_utxo_no_signer");if(!Z)throw new yy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let x=Q.feeRate||(await X())[J],{builder:z,utxos:G}=await V2({...Q,assetValue:f,feeRate:x,recipient:Z,sender:q}),H=(await L.signTransaction({builder:z,utxos:G})).toHex();return T(H)}}async function I8({assetValue:T,recipient:X,memo:L,feeRate:y,sender:Z,setSigHashType:f}){let J=PT(X);if(!jy(J))throw new yy.SwapKitError("toolbox_utxo_invalid_address",{address:J});let Q=Math.ceil(T.getBaseValue("number")+y*7500),q=await Qy(Yy).getUtxos({address:iy(Z),fetchTxHex:!1,targetValue:Q}),x=Number(y.toFixed(0)),z=L?await Ny(L):null,G=[];if(G.push({address:qT(X),value:T.getBaseValue("number")}),z)G.push({script:z,value:0});let{inputs:M,outputs:H}=Dy({chain:Yy,feeRate:x,inputs:q,outputs:G});if(!(M&&H))throw new yy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:Z});let B=await Ry(),N=new $2.Psbt({network:B(Yy)});for(let{hash:D,index:A,witnessUtxo:u}of M)N.addInput({hash:D,index:A,sighashType:f?65:void 0,witnessUtxo:u});for(let D of H){let A="address"in D&&D.address?D.address:qT(Z),u=D.script?z?{script:z,value:0}:void 0:{address:A,value:D.value};if(u)N.addOutput(u)}return{inputs:M,psbt:N,utxos:q}}function O8(T){let X=T.getAddress(0);return iy(X)}var MT,yy,$2,Yy;var E0=$(()=>{MT=require("@psf/bitcoincashjs-lib"),yy=require("@swapkit/helpers"),$2=require("bitcoinjs-lib");zT();hT();ST();Yy=yy.Chain.BitcoinCash});function l2(){return Uy.networks.zcash}function A2(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
+
`,pubKeyHash:28,scriptHash:28,wif:128}}function w8({phrase:T,derivationPath:X}){let L=w5.mnemonicToSeedSync(T),Z=O5.HDKey.fromMasterSeed(L).derive(X);if(!Z.privateKey)throw new a.SwapKitError("toolbox_utxo_invalid_params");let f=A2(),J=Uy.ECPair.fromPrivateKey(Buffer.from(Z.privateKey),{network:f}),Q=Uy.crypto.hash160(J.publicKey),{isStagenet:q}=a.SKConfig.get("envs"),x=q?Buffer.from([29,37]):Buffer.from([28,184]),z=Buffer.concat([x,Q]),G=K2.default.encode(z);return{getAddress:()=>Promise.resolve(G),signTransaction:(M)=>{let H=M.signAllInputs(J);return Promise.resolve(H)}}}function C8({inputs:T,outputs:X,psbt:L,sender:y,compiledMemo:Z}){for(let f of T){let J=!!f.witnessUtxo&&{witnessUtxo:{...f.witnessUtxo,value:BigInt(f.value)}},Q=!f.witnessUtxo&&{nonWitnessUtxo:f.txHex?Buffer.from(f.txHex,"hex"):void 0};L.addInput({hash:f.hash,index:f.index,...J,...Q})}for(let f of X){let J="address"in f&&f.address?f.address:y,Q=f.script;if(Q&&!Z)continue;let q=Q?{script:Z,value:0n}:{script:Uy.address.toOutputScript(J,l2()),value:BigInt(f.value)};L.addOutput(q)}return{inputs:T,psbt:L}}async function P2(T){let{assetValue:X,recipient:L,memo:y,feeRate:Z,sender:f,fetchTxHex:J}=T,Q=y?Ny(y):null,q=await Qy(a.Chain.Zcash).getUtxos({address:f,fetchTxHex:J!==!1}),x=[{address:L,value:Number(X.getBaseValue("string"))},...Q?[{script:Q,value:0}]:[]],{inputs:z,outputs:G}=Dy({chain:a.Chain.Zcash,changeAddress:f,feeRate:Z,inputs:q,outputs:x});if(!(z&&G))throw new a.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:X,sender:f});let M=Uy.bitgo.createPsbtForNetwork({network:l2()},{version:455}),B=3268858036,N=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),D=Buffer.allocUnsafe(4);D.writeUInt32LE(B>>>0,0),M.addUnknownKeyValToGlobal({key:N,value:D});let{psbt:A,inputs:u}=await C8({compiledMemo:Q,inputs:z,outputs:G,psbt:M,sender:f});return{inputs:u,outputs:G,psbt:A}}async function C5(T){let X=await BT.match(T).with({signer:BT.P.not(BT.P.nullish)},({signer:J})=>Promise.resolve(J)).with({phrase:BT.P.string},({phrase:J,derivationPath:Q,index:q=0})=>{let x=Q||a.NetworkDerivationPath[a.Chain.Zcash]||[44,133,0,0,0],z=a.updateDerivationPath(x,{index:q}),G=a.derivationPathToString(z);return w8({derivationPath:G,phrase:J})}).otherwise(()=>Promise.resolve(void 0)),L=await ty({chain:a.Chain.Zcash,signer:X});async function y({recipient:J,assetValue:Q,feeOptionKey:q=a.FeeOption.Fast,...x}){let z=await X?.getAddress();if(!(X&&z))throw new a.SwapKitError("toolbox_utxo_no_signer");let G=x.feeRate||(await L.getFeeRates())[q],{psbt:M}=await P2({...x,assetValue:Q,feeRate:G,recipient:J,sender:z}),H=await X.signTransaction(M);return H.finalizeAllInputs(),L.broadcastTx(H.extractTransaction().toHex())}function Z({phrase:J,derivationPath:Q="m/44'/133'/0'/0/0"}){let q=w5.mnemonicToSeedSync(J),z=O5.HDKey.fromMasterSeed(q).derive(Q);if(!z.privateKey)throw new a.SwapKitError("toolbox_utxo_invalid_params");let G=A2();return Uy.ECPair.fromPrivateKey(Buffer.from(z.privateKey),{network:G})}function f({phrase:J,derivationPath:Q="m/44'/133'/0'/0/0"}){return Z({derivationPath:Q,phrase:J}).toWIF()}return{...L,createKeysForPath:Z,createTransaction:P2,getPrivateKeyFromMnemonic:f,transfer:y,validateAddress:GT}}var Uy,O5,w5,a,K2,BT;var E5=$(()=>{Uy=require("@bitgo/utxo-lib"),O5=require("@scure/bip32"),w5=require("@scure/bip39"),a=require("@swapkit/helpers"),K2=Y(require("bs58check")),BT=require("ts-pattern");zT();hT();ST()});async function E8(T,X){switch(T){case Ey.Chain.BitcoinCash:return await I5(X||{});case Ey.Chain.Zcash:return await C5(X);case Ey.Chain.Bitcoin:case Ey.Chain.Dogecoin:case Ey.Chain.Litecoin:case Ey.Chain.Dash:return await ty({chain:T,...X});default:throw new Ey.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var Ey;var S2=$(()=>{Ey=require("@swapkit/helpers");E0();hT();E5();E0();ST()});var v5={};Gy(v5,{validateZcashAddress:()=>GT,toLegacyAddress:()=>qT,toCashAddress:()=>PT,stripToCashAddress:()=>iy,stripPrefix:()=>dy,nonSegwitChains:()=>bT,isValidAddress:()=>_5,getUtxoToolbox:()=>E8,getUtxoNetwork:()=>Ry,getUtxoApi:()=>Qy,getUTXOAddressValidator:()=>E2,getScriptTypeForAddress:()=>lT,getOutputSize:()=>AT,getInputSize:()=>uy,getDustThreshold:()=>I0,getCreateKeysForPath:()=>uT,detectAddressNetwork:()=>R5,createZcashToolbox:()=>C5,createUTXOToolbox:()=>ty,createCustomUtxoApi:()=>x8,createBCHToolbox:()=>I5,compileMemo:()=>Ny,calculateTxSize:()=>xT,bchValidateAddress:()=>jy,addressFromKeysGetter:()=>D5,addInputsAndOutputs:()=>w2,accumulative:()=>Dy,UtxoNetwork:()=>U5,UTXOScriptType:()=>D0,TX_OVERHEAD:()=>k0,OutputSizes:()=>KT,OP_RETURN_OVERHEAD:()=>N2,MIN_TX_FEE:()=>H8,InputSizes:()=>R0});module.exports=_y(v5);var F5=$(()=>{zT();S2();E0();hT();E5()});async function v8(T){try{let X=await fetch(`https://lite-api.jup.ag/tokens/v1/token/${T}`);if(!X.ok)return null;return await X.json()}catch{return null}}async function F8(T){let X=await ry(),{PublicKey:L}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),Z=new L(T),f=[],J=await X.getBalance(Z);if(J>0)f.push(h.AssetValue.from({chain:h.Chain.Solana,fromBaseDecimal:h.BaseDecimal[h.Chain.Solana],value:J}));let Q=await X.getParsedTokenAccountsByOwner(Z,{programId:y});for(let{account:q}of Q.value){let x=q.data.parsed.info,z=x.mint,G=x.tokenAmount.amount;if(Number(G)===0)continue;let M=await v8(z),H=M?.symbol||"UNKNOWN",B=M?.decimals||x.tokenAmount.decimals;f.push(h.AssetValue.from({asset:`${h.Chain.Solana}.${H}-${z}`,fromBaseDecimal:B,value:G}))}return f}async function P5(){let{PublicKey:T}=await import("@solana/web3.js");return(X)=>{try{let L=new T(X);return T.isOnCurve(L.toBytes())}catch(L){return!1}}}async function $8(T){let X=T&&"index"in T?T.index||0:0,L=h.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:h.updateDerivationPath(h.NetworkDerivationPath[h.Chain.Solana],{index:X})),y=await nT.match(T).with({phrase:nT.P.string},({phrase:f})=>V5({derivationPath:L,phrase:f})).with({signer:nT.P.any},({signer:f})=>f).otherwise(()=>{return});function Z(){return y?.publicKey?b2(y.publicKey):""}return{broadcastTransaction:$5(ry),createKeysForPath:V5,createTransaction:K5(ry),createTransactionFromInstructions:l8,estimateTransactionFee:V8(ry),getAddress:Z,getAddressFromPubKey:b2,getAddressValidator:P5,getBalance:(f)=>{let J=f||Z();if(!J)throw new h.SwapKitError("core_wallet_connection_not_found");return F8(J)},getConnection:ry,getPubkeyFromAddress:l5,signTransaction:S8(ry,y),transfer:A8(ry,y)}}function V8(T){return async({recipient:X,assetValue:L,memo:y,isProgramDerivedAddress:Z,sender:f})=>{let J=await T(),q=(await K5(T)({assetValue:L,isProgramDerivedAddress:Z,memo:y,recipient:X,sender:f})).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,fromBaseDecimal:h.BaseDecimal[h.Chain.Solana],value:x.value})}}async function ry(){let{Connection:T}=await import("@solana/web3.js"),X=await h.getRPCUrl(h.Chain.Solana);return new T(X,"confirmed")}function P8(T){return async({assetValue:X,recipient:L,sender:y,isProgramDerivedAddress:Z})=>{let f=await T(),J=await l5(y);if(X.isGasAsset){let{Transaction:Q,SystemProgram:q,PublicKey:x}=await import("@solana/web3.js");return new Q().add(q.transfer({fromPubkey:J,lamports:X.getBaseValue("number"),toPubkey:new x(L)}))}if(X.address)return K8({amount:X.getBaseValue("number"),connection:f,decimals:X.decimal,from:J,isProgramDerivedAddress:Z,recipient:L,tokenAddress:X.address});return}}async function K8({tokenAddress:T,recipient:X,from:L,connection:y,amount:Z,decimals:f,isProgramDerivedAddress:J}){let{getAssociatedTokenAddress:Q,getAccount:q,createAssociatedTokenAccountInstruction:x,createTransferCheckedInstruction:z}=await import("@solana/spl-token"),{Transaction:G,PublicKey:M}=await import("@solana/web3.js"),H=new G,B=new M(T),N=await Q(B,L),D=new M(X),A=await Q(B,D,J),u=!1;try{await q(y,A),u=!0}catch(r){}if(!u)H.add(x(L,A,D,B));return H.add(z(N,B,A,L,Z,f)),H}function K5(T){return async({recipient:X,assetValue:L,memo:y,isProgramDerivedAddress:Z,sender:f})=>{let{createMemoInstruction:J}=await import("@solana/spl-memo"),Q=await l5(f),q=await P5();if(!(Z||q(X)))throw new h.SwapKitError("core_transaction_invalid_recipient_address");let x=await T(),z=await P8(T)({assetValue:L,isProgramDerivedAddress:Z,recipient:X,sender:f});if(!z)throw new h.SwapKitError("core_transaction_invalid_sender_address");if(y)z.add(J(y));let G=await x.getLatestBlockhash();return z.recentBlockhash=G.blockhash,z.feePayer=Q,z}}async function l8({instructions:T}){let{Transaction:X}=await import("@solana/web3.js"),L=new X().add(...T);if(!L)throw new h.SwapKitError("core_transaction_invalid_sender_address");return L}function A8(T,X){return async({recipient:L,assetValue:y,memo:Z,isProgramDerivedAddress:f})=>{if(!X)throw new h.SwapKitError("core_transaction_invalid_sender_address");let J=X.publicKey?.toString()??(await X.connect()).publicKey.toString(),Q=await K5(T)({assetValue:y,isProgramDerivedAddress:f,memo:Z,recipient:L,sender:J});if("signTransaction"in X){let q=await X.signTransaction(Q);return $5(T)(q)}return Q.sign(X),$5(T)(Q)}}function $5(T){return async(X)=>{return(await T()).sendRawTransaction(X.serialize())}}function S8(T,X){return async(L)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!X)throw new h.SwapKitError("toolbox_solana_no_signer");if(!(L instanceof y)){let f=await(await T()).getLatestBlockhash();L.recentBlockhash=f.blockhash,L.feePayer=X.publicKey||void 0}if("connect"in X)return await X.signTransaction(L);return await L.sign([X]),L}}async function V5({phrase:T,derivationPath:X=h.DerivationPath.SOL}){let{HDKey:L}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:Z}=await import("@solana/web3.js"),f=y(T),J=L.fromMasterSeed(f);return Z.fromSeed(J.derive(X,!0).privateKey)}function b2(T){return T.toString()}async function l5(T){let{PublicKey:X}=await import("@solana/web3.js");return new X(T)}var h,nT;var u2=$(()=>{h=require("@swapkit/helpers"),nT=require("ts-pattern")});var A5={};Gy(A5,{getSolanaToolbox:()=>$8,getSolanaAddressValidator:()=>P5,createKeysForPath:()=>V5});module.exports=_y(A5);var S5=$(()=>{u2()});async function pT(){let{validateAccountId:T}=await import("near-sdk-js");return(X)=>{try{return T(X)}catch{let L=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return X.length>=2&&X.length<=64&&L.test(X)}}}async function F0(T){let{parseSeedPhrase:X}=await import("near-seed-phrase"),{KeyPair:L}=await import("near-api-js"),y=T.index||0,Z=T.derivationPath?v0.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:f}=X(T.phrase,Z),J=L.fromString(f);return n2(J)}async function b5(T){let{KeyPair:X}=await import("near-api-js/lib/utils"),L=X.fromString(T);return n2(L)}function n2(T){return new h2(T)}async function $0(T,X){let y=(await T.query({account_id:X,finality:"final",request_type:"view_access_key_list"})).keys.find((Q)=>Q.access_key.permission==="FullAccess");if(!y)throw new v0.SwapKitError("toolbox_near_invalid_address");let{utils:Z}=await import("near-api-js"),f=Z.PublicKey.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:f}}var v0,j2,h2;var u5=$(()=>{v0=require("@swapkit/helpers"),j2=require("near-api-js");h2=class h2 extends j2.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),X=Buffer.from(T.data).toString("hex");return Promise.resolve(X)}}});function j5(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function h5(T){return"contractId"in T&&"methodName"in T}function n5(T){return"actions"in T}function p5(T){return"newAccountId"in T}function m5(T){return"contractCode"in T}function o5(T){return"customEstimator"in T}function c5(T){let X=0;for(let L of T)switch(L.enum){case"transfer":X+=Number(Ty.SIMPLE_TRANSFER);break;case"functionCall":X+=Number(Ty.CONTRACT_CALL);break;case"createAccount":X+=Number(Ty.ACCOUNT_CREATION);break;case"deployContract":X+=Number(Ty.CONTRACT_DEPLOYMENT);break;case"addKey":X+=Number(Ty.ACCESS_KEY_ADDITION);break;case"deleteKey":X+=Number(Ty.ACCESS_KEY_DELETION);break;case"stake":X+=Number(Ty.STAKE);break;default:X+=Number(Ty.CONTRACT_CALL)}return X.toString()}function g5(T){if(T==="ft_transfer"||T==="ft_transfer_call")return Ty.TOKEN_TRANSFER;if(T==="storage_deposit")return Ty.STORAGE_DEPOSIT;return Ty.CONTRACT_CALL}function b8(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function u8(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Ty;var d5=$(()=>{Ty={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"100",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"100",TOKEN_TRANSFER:"100"}});async function V0({account:T,contractId:X,viewMethods:L,changeMethods:y}){let{Contract:Z}=await import("near-api-js");return new Z(T,X,{changeMethods:y,useLocalViewExecution:!0,viewMethods:L})}async function t5({contractId:T,account:X}){let L=(await import("bn.js")).default,y=await V0({account:X,changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"],contractId:T,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"]}),Z=async(f)=>{if(!await y.storage_balance_of({account_id:f})){let q=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:f},new L("100000000000000"),new L(q))}};return{balanceOf:(f)=>y.ft_balance_of({account_id:f}),contract:y,ensureStorage:Z,metadata:()=>y.ft_metadata(),storageBalanceOf:(f)=>y.storage_balance_of({account_id:f}),storageDeposit:(f,J)=>y.storage_deposit({account_id:f},new L("100000000000000"),new L(J||"1250000000000000000000")),totalSupply:()=>y.ft_total_supply(),transfer:async(f,J,Q)=>{return await Z(f),y.ft_transfer({amount:J,memo:Q,receiver_id:f},new L("100000000000000"),new L("1"))},transferCall:async(f,J,Q,q)=>{return await Z(f),y.ft_transfer_call({amount:J,memo:q,msg:Q,receiver_id:f},new L("100000000000000"),new L("1"))}}}async function j8(T){let{P:X,match:L}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),Z=await L(T).with({phrase:X.string},async(F)=>{return await F0(F)}).with({signer:X.any},({signer:F})=>F).otherwise(()=>{return}),f=await S.getRPCUrl(S.Chain.Near),J=new y.JsonRpcProvider({url:f});async function Q(F){let{Account:U}=await import("near-api-js"),k=F||await q();return new U(k,J,Z)}async function q(){if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");return await Z.getAddress()}async function x(F){if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");let{recipient:U,assetValue:k}=F;if(!(await pT())(U))throw new S.SwapKitError("toolbox_near_invalid_address");let v=await Q();if(k.isGasAsset===!1){let C=k.address;if(!C)throw new S.SwapKitError("toolbox_near_missing_contract_address");let l=k.getBaseValue("string");return A({args:{amount:l,memo:F.memo,receiver_id:U},contractId:C,methodName:"ft_transfer"})}try{let C=k.getBaseValue("string");return(await v.transfer({amount:C,receiverId:U})).transaction_outcome.id}catch(C){throw new S.SwapKitError("toolbox_near_transfer_failed",{error:C})}}async function z(F){let{recipient:U,assetValue:k,memo:O,feeRate:v,attachedDeposit:C,sender:l}=F,i=await pT();if(!i(U))throw new S.SwapKitError("toolbox_near_invalid_address",{address:U});if(!i(l))throw new S.SwapKitError("toolbox_near_invalid_address",{address:l});if(!k.isGasAsset){let tT=k.address;if(!tT)throw new S.SwapKitError("toolbox_near_missing_contract_address");return G({args:{amount:k.getBaseValue("string"),memo:O||null,receiver_id:U},attachedDeposit:"1",contractId:tT,gas:v.toString()||"100000000000000",methodName:"ft_transfer",sender:l})}let{publicKey:o,nonce:d}=await $0(J,l),xy=k.getBaseValue("bigint"),{SCHEMA:fy}=await import("near-api-js/lib/transaction"),{transactions:zy,utils:Hy}=await import("near-api-js"),ny=[zy.transfer(xy)];if(O&&C)ny.push(zy.functionCall("memo",{memo:O},BigInt(v),BigInt(C)));let oT=await J.block({finality:"final"}),cT=Hy.serialize.base_decode(oT.header.hash),ay=zy.createTransaction(l,o,U,d,ny,cT),gT=Hy.serialize.serialize(fy.Transaction,ay),dT=Buffer.from(gT).toString("base64");return{details:{blockHash:Hy.serialize.base_encode(cT),nonce:d,signerId:l},publicKey:o.toString(),serialized:dT}}async function G(F){let{sender:U}=F,{publicKey:k,nonce:O}=await $0(J,U),{SCHEMA:v}=await import("near-api-js/lib/transaction"),{transactions:C,utils:l}=await import("near-api-js"),i=await J.block({finality:"final"}),o=l.serialize.base_decode(i.header.hash),d=[C.functionCall(F.methodName,Buffer.from(JSON.stringify(F.args)),BigInt(F.gas),BigInt(F.attachedDeposit))],xy=C.createTransaction(U,k,F.contractId,O,d,o),fy=l.serialize.serialize(v.Transaction,xy),zy=Buffer.from(fy).toString("base64");return{details:{blockHash:l.serialize.base_encode(o),methodName:F.methodName,nonce:O,receiverId:F.contractId,signerId:U},publicKey:k.toString(),serialized:zy}}async function M(F){if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");let[U,k]=await Z.signTransaction(F);return k}async function H(F){return(await J.sendTransaction(F)).transaction.hash}async function B(F){if("assetValue"in F){let v=BigInt("115123062500")+BigInt("108059500000"),C=await N(),l=v*BigInt(C.toString());return S.AssetValue.from({chain:S.Chain.Near,fromBaseDecimal:S.BaseDecimal[S.Chain.Near],value:l.toString()})}let U=Z?await Q():void 0;return s(F,U)}async function N(){try{return await J.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function D(F,U,k){if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");let O=await Q(),{utils:v}=await import("near-api-js"),C=v.format.parseNearAmount(k)||"0";return(await O.createAccount(F,v.PublicKey.fromString(U),BigInt(C))).transaction.hash}async function A(F){try{if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");let{transactions:U}=await import("near-api-js"),{contractId:k,methodName:O,args:v,deposit:C}=F,l=await Q(),i=await s({args:v||{},contractId:k,methodName:O}),o=U.functionCall(O,v||{},i.getBaseValue("bigint"),BigInt(C||"0"));return(await l.signAndSendTransaction({actions:[o],receiverId:k})).transaction_outcome.id}catch(U){throw new S.SwapKitError("toolbox_near_transfer_failed",{error:U})}}async function u(F){let U=await Q();return V0({account:U,changeMethods:F.changeMethods,contractId:F.contractId,viewMethods:F.viewMethods})}async function r(F){if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");if(F.actions.length===0)throw new S.SwapKitError("toolbox_near_empty_batch");return(await(await Q()).signAndSendTransaction({actions:F.actions,receiverId:F.receiverId})).transaction.hash}async function g(F){let U=await Q();return t5({account:U,contractId:F})}async function Xy(F){try{let U=await Q(F),k;try{let O=await U.getBalance();k=S.AssetValue.from({chain:S.Chain.Near,fromBaseDecimal:S.BaseDecimal[S.Chain.Near],value:O})}catch{k=S.AssetValue.from({chain:S.Chain.Near,fromBaseDecimal:S.BaseDecimal[S.Chain.Near],value:"0"})}return[k]}catch(U){throw new S.SwapKitError("toolbox_near_balance_failed",{error:U})}}async function s(F,U){let k=await L(F).when(j5,()=>Ty.SIMPLE_TRANSFER).when(h5,(l)=>g5(l.methodName)).when(n5,(l)=>c5(l.actions)).when(p5,()=>Ty.ACCOUNT_CREATION).when(m5,()=>Ty.CONTRACT_DEPLOYMENT).when(o5,(l)=>{if(!U)throw new S.SwapKitError("toolbox_near_no_account");return l.customEstimator(U)}).otherwise(()=>{throw new S.SwapKitError("toolbox_near_invalid_gas_params")}),O=await qy(),C=BigInt(k)*BigInt(1000000000000)*BigInt(O);return S.AssetValue.from({chain:S.Chain.Near,fromBaseDecimal:S.BaseDecimal[S.Chain.Near],value:C})}async function qy(){try{return(await J.gasPrice(null)).gas_price||"100000000"}catch(F){return"100000000"}}return{broadcastTransaction:H,callFunction:A,createContract:u,createContractFunctionCall:G,createSubAccount:D,createTransaction:z,estimateGas:s,estimateTransactionFee:B,executeBatchTransaction:r,getAddress:q,getBalance:Xy,getGasPrice:qy,getPublicKey:async()=>Z?(await Z.getPublicKey()).toString():"",getSignerFromPhrase:(F)=>F0(F),getSignerFromPrivateKey:b5,nep141:g,provider:J,signTransaction:M,transfer:x,validateAddress:await pT()}}var S;var i5=$(()=>{S=require("@swapkit/helpers");u5();d5()});var p2=$(()=>{i5()});var r5={};Gy(r5,{tgasToGas:()=>b8,isSimpleTransfer:()=>j5,isCustomEstimator:()=>o5,isContractDeployment:()=>m5,isContractCall:()=>h5,isBatchTransaction:()=>n5,isAccountCreation:()=>p5,getValidateNearAddress:()=>pT,getNearToolbox:()=>j8,getNearSignerFromPrivateKey:()=>b5,getNearSignerFromPhrase:()=>F0,getFullAccessPublicKey:()=>$0,getContractMethodGas:()=>g5,gasToTGas:()=>u8,estimateBatchGas:()=>c5,createNearContract:()=>V0,createNEP141Token:()=>t5,GAS_COSTS:()=>Ty});module.exports=_y(r5);var a5=$(()=>{u5();d5();i5();p2()});var e5={};Gy(e5,{rippleValidateAddress:()=>s5,hashes:()=>o2.hashes,getRippleToolbox:()=>n8});module.exports=_y(e5);function m2(T){let X=hy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(X.address),signTransaction:(L)=>Promise.resolve(X.sign(L))}}function s5(T){return hy.isValidAddress(T)}var p,hy,o2,h8,n8=async(T={})=>{let X="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?m2(T.phrase):void 0,L=await p.getRPCUrl(p.Chain.Ripple);if(!L)throw new p.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:p.Chain.Ripple}});let y=new hy.Client(L);await y.connect();let Z=()=>{if(!X)throw new p.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return X.getAddress()},f=async(M)=>{let H=M||await Z();try{let N=(await y.request({account:H,command:"account_info"})).result.account_data.Balance;return[p.AssetValue.from({chain:p.Chain.Ripple,fromBaseDecimal:p.BaseDecimal[p.Chain.Ripple],value:N})]}catch(B){if(B.data.error_code===h8.ACCOUNT_NOT_FOUND)return[p.AssetValue.from({chain:p.Chain.Ripple,value:0})];throw new p.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:H,error:B}})}},J=async()=>{let H=(await y.request({command:"fee"})).result.drops.open_ledger_fee;return p.AssetValue.from({chain:p.Chain.Ripple,value:p.SwapKitNumber.fromBigInt(BigInt(H),p.BaseDecimal[p.Chain.Ripple])})},Q=async({assetValue:M,recipient:H,memo:B,sender:N})=>{if(!s5(H))throw new p.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let D=N||await Z();if(!M.isGasAsset||M.chain!==p.Chain.Ripple)throw new p.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:M.toString()}});let A={Account:D,Amount:hy.xrpToDrops(M.getValue("string")),Destination:H,TransactionType:"Payment"};if(B)A.Memos=[{Memo:{MemoData:Buffer.from(B).toString("hex")}}];return await y.autofill(A)},q=(M)=>{if(!X)throw new p.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return X.signTransaction(M)},x=async(M)=>{let B=(await y.submitAndWait(M)).result;if(B.validated)return B.hash;throw new p.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:p.Chain.Ripple}})};return{broadcastTransaction:x,createSigner:m2,createTransaction:Q,disconnect:()=>y.disconnect(),estimateTransactionFee:J,getAddress:Z,getBalance:f,signer:X,signTransaction:q,transfer:async(M)=>{if(!X)throw new p.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let H=await X.getAddress(),B=await Q({...M,sender:H}),N=await q(B);return x(N.tx_blob)},validateAddress:s5}};var y1=$(()=>{p=require("@swapkit/helpers"),hy=require("xrpl"),o2=require("xrpl"),h8={ACCOUNT_NOT_FOUND:19}});var T1={};Gy(T1,{radixValidateAddress:()=>c2,RadixToolbox:()=>g8});module.exports=_y(T1);function c2(T){return T.startsWith("account_rdx1")&&T.length===66}function p8({networkApi:T}){return async function(L){let y=await m8({address:L,networkApi:T});return o8({networkApi:T,resources:y})}}async function m8({address:T,networkApi:X}){let L=!0,y,Z=[],f=await c8(X);while(L){let J={address:T,at_ledger_state:{state_version:f},cursor:y,limit_per_page:100},Q=await X.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:J});if(Z=Z.concat(Q.items),Q.next_cursor)y=Q.next_cursor;else L=!1}return Z}async function o8({resources:T,networkApi:X}){let L=[],y=50,Z=[];for(let f=0;f<T.length;f+=50)Z.push(T.slice(f,f+50));for(let f of Z){let J=f.map((x)=>x.resource_address),Q=await X.state.getEntityDetailsVaultAggregated(J),q=new Map;for(let x of Q)if(x.details!==void 0){let z=x.metadata?.items.find((M)=>M.key==="symbol"),G=z?.value.typed.type==="String"?z.value.typed.value:"?";if(x.details.type==="FungibleResource")q.set(x.address,{decimals:x.details.divisibility,symbol:G})}for(let x of f)if(x.aggregation_level==="Global"){let z=q.get(x.resource_address)||{decimals:0,symbol:"?"},G=vy.AssetValue.from({asset:z.symbol!==vy.Chain.Radix?`${vy.Chain.Radix}.${z.symbol}-${x.resource_address}`:"XRD.XRD",value:x.amount});L.push(G)}}return L}function c8(T){return T.status.getCurrent().then((X)=>X.ledger_state.state_version)}var vy,g8=async({dappConfig:T}={})=>{let{RadixDappToolkit:X}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:L}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||vy.SKConfig.get("integrations").radix,Z=X({...y,networkId:y.network?.networkId||1}),f=L.initialize(Z.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:p8({networkApi:f}),networkApi:f,signAndBroadcast:()=>{throw new vy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:c2}};var X1=$(()=>{vy=require("@swapkit/helpers")});var HT;var f1=$(()=>{HT=[{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 d2(T){let X=await import("tronweb"),L=X.TronWeb??X.default?.TronWeb;try{let y=await fetch(`${d8}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let Z=await y.json();if(!(Z.success&&Z.data)||Z.data.length===0)throw Error("Invalid response from TronGrid API");let f;try{f=L.address.toHex(T).toLowerCase()}catch{f=T.toLowerCase()}let J=Z.data.find((Q)=>{return Q.address.toLowerCase()===f});if(!J)return;return{balance:J.balance,trc20:J.trc20||[]}}catch(y){throw new g2.SwapKitError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var g2,d8="https://api.trongrid.io";var t2=$(()=>{g2=require("@swapkit/helpers")});async function Z1(){let T=await import("tronweb"),X=T.TronWeb??T.default?.TronWeb;return(L)=>{return X.isAddress(L)}}async function r2({phrase:T,derivationPath:X,index:L}){let y=X||P.derivationPathToString(P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:L||0})),{HDKey:Z}=await import("@scure/bip32"),{mnemonicToSeedSync:f}=await import("@scure/bip39"),J=f(T),q=Z.fromMasterSeed(J).derive(y);if(!q.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");return Buffer.from(q.privateKey).toString("hex")}async function s8({phrase:T,derivationPath:X,tronWeb:L}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:Z}=await import("@scure/bip39"),f=Z(T),Q=y.fromMasterSeed(f).derive(X);if(!Q.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");let q=Buffer.from(Q.privateKey).toString("hex");L.setPrivateKey(q);let x=L?.address.fromPrivateKey(q);return{getAddress:()=>Promise.resolve(typeof x==="string"?x:""),signTransaction:async(z)=>{return await L.trx.sign(z,q)}}}var P,mT,t8=268,i8=13000,r8=345,i2="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",a8="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",a2=async(T={})=>{let X=await import("tronweb"),L=X.TronWeb??X.default?.TronWeb,y=await P.getRPCUrl(P.Chain.Tron),Z=void 0,f=new L({fullHost:y,headers:void 0}),J="index"in T?T.index||0:0,Q=P.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:J})),q=await mT.match(T).with({phrase:mT.P.string},async({phrase:U})=>s8({derivationPath:Q,phrase:U,tronWeb:f})).with({signer:mT.P.any},({signer:U})=>Promise.resolve(U)).otherwise(()=>Promise.resolve(void 0)),x=async()=>{if(!q)throw new P.SwapKitError("toolbox_tron_no_signer");return await q.getAddress()},z=()=>{return 1e8},G=async()=>{try{let U=await f.trx.getChainParameters(),k={};for(let O of U)k[O.key]=O.value;return{bandwidthFee:k.getTransactionFee||1000,createAccountFee:k.getCreateAccountFee||1e5,energyFee:k.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},M=async(U)=>{try{let k=await f.trx.getAccount(U);return k&&Object.keys(k).length>0}catch{return!1}},H=async(U)=>{try{let k=await f.trx.getAccountResources(U);return{bandwidth:{free:k.freeNetLimit-k.freeNetUsed,total:k.NetLimit||0,used:k.NetUsed||0},energy:{total:k.EnergyLimit||0,used:k.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},B=async(U,k)=>{try{let O=f.contract(HT,k);if(!O.methods?.balanceOf)return 0n;let[v]=await O.methods.balanceOf(U).call();return v?typeof v==="bigint"?v:BigInt(v):0n}catch(O){return console.warn(`balanceOf() failed for ${k}:`,O),0n}},N=async(U,k)=>{try{f.setAddress(k);let O=f.contract(HT,U),[v,C]=await Promise.all([O.symbol().call().catch(()=>"UNKNOWN"),O.decimals().call().catch(()=>"18")]);return{decimals:Number(C??18),symbol:v??"UNKNOWN"}}catch(O){return P.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${U}: ${O instanceof Error?O.message:O}`}),null}},D=async(U,k=!0)=>{let O=[P.AssetValue.from({chain:P.Chain.Tron})];try{let v=await d2(U);if(v){let C=[];C.push(P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:v.balance}));for(let l of v.trc20){let[i,o]=Object.entries(l)[0]||[];if(!(i&&o))continue;let d=await N(i,U);if(!d)continue;C.push(P.AssetValue.from({asset:`TRON.${d.symbol}-${i}`,fromBaseDecimal:d.decimals,value:BigInt(o||0)}))}return C}return O}catch(v){P.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${v instanceof Error?v.message:v}`});let C=[],l=await f.trx.getBalance(U);if(l&&Number(l)>0)C.push(P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:l}));let i=await B(U,i2);if(i)C.push(P.AssetValue.from({asset:`TRON.USDT-${i2}`,fromBaseDecimal:6,value:i}));return C}},A=async({recipient:U,assetValue:k,memo:O})=>{if(!q)throw new P.SwapKitError("toolbox_tron_no_signer");let v=await x();if(f.setAddress(v),k.isGasAsset){let d=await f.transactionBuilder.sendTrx(U,k.getBaseValue("number"),v);if(O){let zy=await f.transactionBuilder.addUpdateData(d,O,"utf8"),Hy=await q.signTransaction(zy),{txid:ny}=await f.trx.sendRawTransaction(Hy);return ny}let xy=await q.signTransaction(d),{txid:fy}=await f.trx.sendRawTransaction(xy);return fy}let l=await r({assetValue:k,memo:O,recipient:U,sender:v}),i=await q.signTransaction(l),{txid:o}=await f.trx.sendRawTransaction(i);if(!o)throw new P.SwapKitError("toolbox_tron_token_transfer_failed");return o},u=async({assetValue:U,recipient:k,sender:O})=>{let v=U.isGasAsset;try{let C=O?O:q?await x():void 0;if(!C)return v?P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:0,value:0.1}):P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:0,value:15});let l=await G(),o=await M(k)?0:l.createAccountFee,d=await H(C);if(v){let ay=t8,gT=d.bandwidth.free+(d.bandwidth.total-d.bandwidth.used),dT=0;if(ay>gT)dT=(ay-gT)*l.bandwidthFee;let tT=o+dT;return P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:tT})}let xy=r8,fy=i8,zy=d.bandwidth.free+(d.bandwidth.total-d.bandwidth.used),Hy=d.energy.total-d.energy.used,ny=0;if(xy>zy)ny=(xy-zy)*l.bandwidthFee;let oT=0;if(fy>Hy)oT=(fy-Hy)*l.energyFee;let cT=o+ny+oT;return P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:cT})}catch(C){throw P.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${C instanceof Error?C.message:C}`}),new P.SwapKitError("toolbox_tron_fee_estimation_failed",{error:C})}},r=async(U)=>{let{recipient:k,assetValue:O,memo:v,sender:C}=U;if(O.isGasAsset){let o=await f.transactionBuilder.sendTrx(k,O.getBaseValue("number"),C);if(v)return f.transactionBuilder.addUpdateData(o,v,"utf8");return o}f.setAddress(C);let i=O.address;if(!i)throw new P.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:O.toString()});try{let d=[{type:"address",value:k},{type:"uint256",value:O.getBaseValue("string")}],xy={callValue:0,feeLimit:z()},fy=await f.transactionBuilder.triggerSmartContract(i,"transfer(address,uint256)",xy,d,C);if(v)return f.transactionBuilder.addUpdateData(fy.transaction,v,"utf8");return fy.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)})}},g=async(U)=>{if(!q)throw new P.SwapKitError("toolbox_tron_no_signer");return await q.signTransaction(U)},Xy=async(U)=>{let{txid:k}=await f.trx.sendRawTransaction(U);return k},s=async({assetAddress:U,spenderAddress:k,from:O})=>{try{let v=f.contract(HT,U);if(!v.methods?.allowance)throw new P.SwapKitError("toolbox_tron_invalid_token_contract");let[C]=await v.methods.allowance(O,k).call();return C?typeof C==="bigint"?C:BigInt(C):0n}catch(v){throw new P.SwapKitError("toolbox_tron_allowance_check_failed",{error:v})}};return{approve:async({assetAddress:U,spenderAddress:k,amount:O,from:v})=>{if(!q)throw new P.SwapKitError("toolbox_tron_no_signer");let C=v||await x(),l=O!==void 0?BigInt(O).toString():a8,i="approve(address,uint256)",o=[{type:"address",value:k},{type:"uint256",value:l}],xy={callValue:0,feeLimit:z()};try{let{transaction:fy}=await f.transactionBuilder.triggerSmartContract(U,i,xy,o,C),zy=await q.signTransaction(fy),{txid:Hy}=await f.trx.sendRawTransaction(zy);if(!Hy)throw new P.SwapKitError("toolbox_tron_approve_failed");return Hy}catch(fy){throw new P.SwapKitError("toolbox_tron_approve_failed",{error:fy})}},broadcastTransaction:Xy,createTransaction:r,estimateTransactionFee:u,getAddress:x,getApprovedAmount:s,getBalance:D,isApproved:async({assetAddress:U,spenderAddress:k,from:O,amount:v})=>{let C=await s({assetAddress:U,from:O,spenderAddress:k});if(!v)return C>0n;let l=BigInt(v);return C>=l},signTransaction:g,transfer:A,tronWeb:f,validateAddress:await Z1()}};var s2=$(()=>{P=require("@swapkit/helpers"),mT=require("ts-pattern");f1();t2()});var L1={};Gy(L1,{trc20ABI:()=>HT,getTronPrivateKeyFromMnemonic:()=>r2,getTronAddressValidator:()=>Z1,createTronToolbox:()=>a2});module.exports=_y(L1);var J1=$(()=>{f1();s2()});var Tf={};Gy(Tf,{getToolbox:()=>Q1,getFeeEstimator:()=>yf,getAddressValidator:()=>e8});module.exports=_y(Tf);var _=require("@swapkit/helpers");async function e8(){let{match:T}=await import("ts-pattern"),{cosmosValidateAddress:X}=await Promise.resolve().then(() => (eT(),sT)),{evmValidateAddress:L}=await Promise.resolve().then(() => (y2(),e1)),{substrateValidateAddress:y}=await Promise.resolve().then(() => (M5(),G5)),{getUTXOAddressValidator:Z}=await Promise.resolve().then(() => (F5(),v5)),{getSolanaAddressValidator:f}=await Promise.resolve().then(() => (S5(),A5)),{getValidateNearAddress:J}=await Promise.resolve().then(() => (a5(),r5)),{rippleValidateAddress:Q}=await Promise.resolve().then(() => (y1(),e5)),{radixValidateAddress:q}=await Promise.resolve().then(() => (X1(),T1)),{getTronAddressValidator:x}=await Promise.resolve().then(() => (J1(),L1)),z=await f(),G=await Z(),M=await x(),H=await J();return function({address:N,chain:D}){return T(D).with(..._.EVMChains,()=>L({address:N})).with(..._.UTXOChains,()=>G({address:N,chain:D})).with(_.Chain.Cosmos,_.Chain.Kujira,_.Chain.Noble,_.Chain.Maya,_.Chain.THORChain,()=>X({address:N,chain:D})).with(_.Chain.Chainflip,_.Chain.Polkadot,()=>y({address:N,chain:D})).with(_.Chain.Radix,()=>q(N)).with(_.Chain.Near,()=>H(N)).with(_.Chain.Ripple,()=>Q(N)).with(_.Chain.Solana,()=>z(N)).with(_.Chain.Tron,()=>M(N)).otherwise(()=>!1)}}function yf(T){return async function(L){let{match:y}=await import("ts-pattern");return y(T).returnType().with(_.Chain.Arbitrum,_.Chain.Aurora,_.Chain.Avalanche,_.Chain.Base,_.Chain.Berachain,_.Chain.BinanceSmartChain,_.Chain.Ethereum,_.Chain.Gnosis,_.Chain.Optimism,_.Chain.Polygon,async(Z)=>{let f=await Q1(Z),J=await f.createTransaction(L);return f.estimateTransactionFee({...J,chain:Z,feeOption:L.feeOptionKey||_.FeeOption.Fast})}).with(_.Chain.Bitcoin,_.Chain.BitcoinCash,_.Chain.Dogecoin,_.Chain.Dash,_.Chain.Litecoin,_.Chain.Polkadot,_.Chain.Solana,_.Chain.Ripple,_.Chain.Tron,_.Chain.Near,async(Z)=>{return(await Q1(Z)).estimateTransactionFee(L)}).with(_.Chain.THORChain,_.Chain.Maya,_.Chain.Kujira,_.Chain.Noble,_.Chain.Cosmos,async()=>{let{estimateTransactionFee:Z}=await Promise.resolve().then(() => (eT(),sT));return Z(L)}).otherwise(async()=>_.AssetValue.from({chain:T}))}}async function Q1(T,X){let{match:L}=await import("ts-pattern");return L(T).returnType().with(_.Chain.Arbitrum,_.Chain.Aurora,_.Chain.Avalanche,_.Chain.Base,_.Chain.Berachain,_.Chain.BinanceSmartChain,_.Chain.Ethereum,_.Chain.Gnosis,_.Chain.Optimism,_.Chain.Polygon,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (Z5(),r1));return await y(T,X)}).with(_.Chain.Litecoin,_.Chain.Dash,_.Chain.Dogecoin,_.Chain.BitcoinCash,_.Chain.Bitcoin,_.Chain.Zcash,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (F5(),v5));return await y(T,X)}).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,X)}).with(_.Chain.Chainflip,_.Chain.Polkadot,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (M5(),G5));return await y(T,X)}).with(_.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (X1(),T1));return await y(X)}).with(_.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (y1(),e5));return await y(X)}).with(_.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (S5(),A5));return await y(X)}).with(_.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (J1(),L1));return await y(X)}).with(_.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (a5(),r5));return await y(X)}).otherwise(()=>{throw new _.SwapKitError("toolbox_not_supported",{chain:T})})}
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=A30DCC53E910F0C364756E2164756E21
|
|
5
5
|
//# sourceMappingURL=index.cjs.map
|