@swapkit/toolboxes 4.0.19 → 4.0.20
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/near/index.cjs +2 -2
- package/dist/src/near/index.cjs.map +4 -4
- package/dist/src/near/index.js +2 -2
- package/dist/src/near/index.js.map +4 -4
- package/dist/types/near/helpers/gasEstimation.d.ts +4 -4
- package/dist/types/near/helpers/gasEstimation.d.ts.map +1 -1
- package/dist/types/near/toolbox.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:_T,getOwnPropertyNames:q1,getOwnPropertyDescriptor:TX}=Object,x1=Object.prototype.hasOwnProperty;var Y=(T,X,L)=>{L=T!=null?e2(yX(T)):{};let y=X||!T||!T.__esModule?_T(L,"default",{value:T,enumerable:!0}):L;for(let Z of q1(T))if(!x1.call(y,Z))_T(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=_T({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")q1(T).map((y)=>!x1.call(X,y)&&_T(X,y,{get:()=>T[y],enumerable:!(L=TX(T,y))||L.enumerable}));return Q1.set(T,X),X};var zy=(T,X)=>{for(var L in X)_T(T,L,{get:X[L],enumerable:!0,configurable:!0,set:(y)=>X[L]=()=>y})};var $=(T,X)=>()=>(T&&(X=T(T=0)),X);function RT(T){return Fy.base64.encode(Uint8Array.from(Fy.bech32.fromWords(Fy.bech32.decode(T).words)))}function NT(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 z1.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return iT.toByteArray(T)}var Fy,z1,iT;var V0=$(()=>{Fy=require("@scure/base"),z1=require("@swapkit/helpers"),iT=require("base64-js")});function Cy(T){switch(T){case v.Chain.Maya:return{amount:[],gas:"10000000000"};case v.Chain.THORChain:return{amount:[],gas:"500000000"};case v.Chain.Kujira:return M1;case v.Chain.Noble:return H1;default:return B1}}async function Oy(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 kT(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 K0({sender:T,recipient:X,assetValue:L,memo:y="",feeRate:Z,sequence:f,accountNumber:J}){let{chain:Q,chainId:q}=L,x=await v.getRPCUrl(Q),G=await(await Oy(x)).getAccount(T);if(!G)throw new v.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let B=v.AssetValue.from({chain:Q}),H=$y(B.symbol),M=Cy(Q),R=H&&Z?{amount:[{amount:Z.toString(),denom:H}],gas:M.gas}:M,D={amount:[{amount:L.getBaseValue("string"),denom:$y(L.symbol)}],fromAddress:T,toAddress:X};return{accountNumber:J??G.accountNumber,chainId:q,fee:R,memo:y,msgs:[{typeUrl:ZX(Q),value:D}],sequence:f??G.sequence}}var v,P0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",G1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",B1,M1,H1,$y=(T,X=!1)=>{if(X)return T.toLowerCase();switch(T){case"uUSK":case"USK":return P0;case"uYUM":case"YUM":return G1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},DT=({symbol:T,chain:X})=>{if(X===v.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${v.Chain.Maya}.${T}`).toUpperCase();if(X===v.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${v.Chain.THORChain}.${T}`:T).toUpperCase();return $y(T,!1)},ZX=(T)=>{switch(T){case v.Chain.Maya:case v.Chain.THORChain:return"/types.MsgSend";case v.Chain.Cosmos:case v.Chain.Kujira:case v.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new v.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},LX,A0=(T,X)=>{let L=LX[T.toLowerCase()];if(!L)return v.AssetValue.from({asset:T,fromBaseDecimal:8,value:X});let{chain:y,asset:Z,decimals:f}=L,J=y?{chain:y}:{asset:Z};return v.AssetValue.from({...J,fromBaseDecimal:f,value:X})};var IT=$(()=>{v=require("@swapkit/helpers"),B1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},M1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},H1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};LX={atom:{chain:v.Chain.Cosmos,decimals:v.BaseDecimal[v.Chain.Cosmos]},cacao:{chain:v.Chain.Maya,decimals:10},kuji:{chain:v.Chain.Kujira,decimals:v.BaseDecimal[v.Chain.Kujira]},maya:{asset:`${v.Chain.Maya}.${v.Chain.Maya}`,decimals:4},rune:{chain:v.Chain.THORChain,decimals:v.BaseDecimal[v.Chain.THORChain]},tcy:{asset:"THOR.TCY",decimals:v.BaseDecimal[v.Chain.THORChain]},uatom:{chain:v.Chain.Cosmos,decimals:v.BaseDecimal[v.Chain.Cosmos]},ukuji:{chain:v.Chain.Kujira,decimals:v.BaseDecimal[v.Chain.Kujira]},usdc:{chain:v.Chain.Noble,decimals:v.BaseDecimal[v.Chain.Noble]},uusdc:{chain:v.Chain.Noble,decimals:v.BaseDecimal[v.Chain.Noble]},"x/kuji":{asset:"THOR.KUJI",decimals:v.BaseDecimal[v.Chain.THORChain]},[P0.toLowerCase()]:{asset:`${v.Chain.Kujira}.USK`,decimals:v.BaseDecimal[v.Chain.Kujira]}}});var W1={};zy(W1,{$root:()=>_});var e,l,Gy,O,_;var Y1=$(()=>{e=Y(require("protobufjs/minimal.js")),l=e.default.Reader,Gy=e.default.Writer,O=e.default.util,_=e.default.roots.default||(e.default.roots.default={});_.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=Gy.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 l))y=l.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new _.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 l))y=new l(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(!O.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!O.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!O.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},X.fromObject=function(y){if(y instanceof _.common.Asset)return y;let Z=new _.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=O.Long?O.Long.fromBits(0,0,!1):0,X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=Gy.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))_.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 l))y=l.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new _.common.Coin;while(y.pos<f){let Q=y.uint32();switch(Q>>>3){case 1:J.asset=_.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 l))y=new l(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=_.common.Asset.verify(y.asset);if(Z)return"asset."+Z}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!O.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!O.isInteger(y.decimals)&&!(y.decimals&&O.isInteger(y.decimals.low)&&O.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},X.fromObject=function(y){if(y instanceof _.common.Coin)return y;let Z=new _.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");Z.asset=_.common.Asset.fromObject(y.asset)}if(y.amount!=null)Z.amount=String(y.amount);if(y.decimals!=null){if(O.Long)(Z.decimals=O.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 O.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="",O.Long){let J=new O.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=_.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?O.Long.prototype.toString.call(y.decimals):Z.longs===Number?new O.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=Gy.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 l))y=l.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new _.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 l))y=new l(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(!O.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!O.isString(y.ed25519))return"ed25519: string expected"}return null},X.fromObject=function(y){if(y instanceof _.common.PubKeySet)return y;let Z=new _.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=O.emptyArray,X.prototype.gas=O.emptyArray,X.prototype.memo="",X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=Gy.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)_.common.Coin.encode(y.coins[f],Z.uint32(42).fork()).ldelim();if(y.gas?.length)for(let f=0;f<y.gas.length;++f)_.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 l))y=l.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new _.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(_.common.Coin.decode(y,y.uint32()));break;case 6:if(!J.gas?.length)J.gas=[];J.gas.push(_.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 l))y=new l(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(!O.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!O.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!O.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!O.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let Z=0;Z<y.coins.length;++Z){let f=_.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=_.common.Coin.verify(y.gas[Z]);if(f)return"gas."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!O.isString(y.memo))return"memo: string expected"}return null},X.fromObject=function(y){if(y instanceof _.common.Tx)return y;let Z=new _.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]=_.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]=_.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]=_.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]=_.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=O.emptyArray,X.prototype.poolDeduct="",X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=Gy.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)_.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 l))y=l.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new _.common.Fee;while(y.pos<f){let Q=y.uint32();switch(Q>>>3){case 1:if(!J.coins?.length)J.coins=[];J.coins.push(_.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 l))y=new l(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=_.common.Coin.verify(y.coins[Z]);if(f)return"coins."+f}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!O.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},X.fromObject=function(y){if(y instanceof _.common.Fee)return y;let Z=new _.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]=_.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]=_.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=Gy.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 l))y=l.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new _.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 l))y=new l(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(!O.isString(y.value))return"value: string expected"}return null},X.fromObject=function(y){if(y instanceof _.common.ProtoUint)return y;let Z=new _.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})();_.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=O.emptyArray,X.prototype.memo="",X.prototype.signer=O.newBuffer([]),X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=Gy.create();if(y.coins?.length)for(let f=0;f<y.coins.length;++f)_.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 l))y=l.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new _.types.MsgDeposit;while(y.pos<f){let Q=y.uint32();switch(Q>>>3){case 1:if(!J.coins?.length)J.coins=[];J.coins.push(_.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 l))y=new l(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=_.common.Coin.verify(y.coins[Z]);if(f)return"coins."+f}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!O.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||O.isString(y.signer)))return"signer: buffer expected"}return null},X.fromObject=function(y){if(y instanceof _.types.MsgDeposit)return y;let Z=new _.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]=_.common.Coin.fromObject(y.coins[f])}}if(y.memo!=null)Z.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")O.base64.decode(y.signer,Z.signer=O.newBuffer(O.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=O.newBuffer(f.signer)}if(y.coins?.length){f.coins=[];for(let J=0;J<y.coins.length;++J)f.coins[J]=_.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?O.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=O.newBuffer([]),X.prototype.toAddress=O.newBuffer([]),X.prototype.amount=O.emptyArray,X.create=function(y){return new X(y)},X.encode=function(y,Z){if(!Z)Z=Gy.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)_.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 l))y=l.create(y);let f=Z===void 0?y.len:y.pos+Z,J=new _.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(_.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(Q&7);break}}return J},X.decodeDelimited=function(y){if(!(y instanceof l))y=new l(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"||O.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||O.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let Z=0;Z<y.amount.length;++Z){let f=_.cosmos.base.v1beta1.Coin.verify(y.amount[Z]);if(f)return"amount."+f}}return null},X.fromObject=function(y){if(y instanceof _.types.MsgSend)return y;let Z=new _.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")O.base64.decode(y.fromAddress,Z.fromAddress=O.newBuffer(O.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)Z.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")O.base64.decode(y.toAddress,Z.toAddress=O.newBuffer(O.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]=_.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=O.newBuffer(f.fromAddress);if(Z.bytes===String)f.toAddress="";else if(f.toAddress=[],Z.bytes!==Array)f.toAddress=O.newBuffer(f.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))f.fromAddress=Z.bytes===String?O.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?O.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]=_.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})();_.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=Gy.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 l))f=l.create(f);let Q=J===void 0?f.len:f.pos+J,q=new _.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 l))f=new l(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(!O.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!O.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof _.cosmos.base.v1beta1.Coin)return f;let J=new _.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=Gy.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 l))f=l.create(f);let Q=J===void 0?f.len:f.pos+J,q=new _.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 l))f=new l(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(!O.isString(f.denom))return"denom: string expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!O.isString(f.amount))return"amount: string expected"}return null},y.fromObject=function(f){if(f instanceof _.cosmos.base.v1beta1.DecCoin)return f;let J=new _.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=Gy.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 l))f=l.create(f);let Q=J===void 0?f.len:f.pos+J,q=new _.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 l))f=new l(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(!O.isString(f.int))return"int: string expected"}return null},y.fromObject=function(f){if(f instanceof _.cosmos.base.v1beta1.IntProto)return f;let J=new _.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=Gy.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 l))f=l.create(f);let Q=J===void 0?f.len:f.pos+J,q=new _.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 l))f=new l(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(!O.isString(f.dec))return"dec: string expected"}return null},y.fromObject=function(f){if(f instanceof _.cosmos.base.v1beta1.DecProto)return f;let J=new _.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 ny(){let{$root:T}=await Promise.resolve().then(() => (Y1(),W1)),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===U1.Chain.THORChain?"thorchain":"mayachain";return new L({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:Z,...f})=>({...f,signer:RT(Z)}),toAmino:({signer:Z,...f})=>({...f,signer:NT(Z)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:Z,to_address:f,...J})=>({...J,fromAddress:RT(Z),toAddress:RT(f)}),toAmino:({fromAddress:Z,toAddress:f,...J})=>({...J,from_address:NT(Z),to_address:NT(f)})}})}var U1;var S0=$(()=>{U1=require("@swapkit/helpers");V0()});function j0(T){return function(L){let{assetValue:y,recipient:Z,memo:f,sender:J,asSignable:Q,asAminoMessage:q}=L;if(Z)return R1(T)({asAminoMessage:q,asSignable:Q,assetValue:y,memo:f,recipient:Z,sender:J});return N1(T)({asAminoMessage:q,asSignable:Q,assetValue:y,memo:f,sender:J})}}function ly(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 CT({chain:T,memo:X,msgs:L}){let y=await ny(),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}}},b0=({sender:T,assetValue:X,memo:L=""})=>{return{type:`${X.chain===By.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:X.getBaseValue("string"),asset:DT(X)}],memo:L,signer:T}}},rT=({sender:T,recipient:X,assetValue:L,memo:y})=>{return!X?b0({assetValue:L,memo:y,sender:T}):u0({assetValue:L,recipient:X,sender:T})},Py=async(T,X)=>{return(await Vy(X)).fromAmino(T)},_1=async({rpcUrl:T,sender:X})=>{let y=await(await Oy(T)).getAccount(X);if(!y)throw new By.SwapKitError("toolbox_cosmos_account_not_found",{sender:X});return y},R1=(T)=>async({sender:X,recipient:L,assetValue:y,memo:Z="",asSignable:f=!0,asAminoMessage:J=!1,sequence:Q,accountNumber:q})=>{let x=await _1({rpcUrl:T,sender:X}),z=y.chain,G=u0({assetValue:y,recipient:L,sender:X}),B=f?await Py(J?G:ly(G),z):G;return{accountNumber:q||x.accountNumber,chainId:By.ChainToChainId[z],fee:Cy(y.chain),memo:Z,msgs:[B],sequence:Q||x.sequence}},N1=(T)=>async({sender:X,assetValue:L,memo:y="",asSignable:Z=!0,asAminoMessage:f=!1,sequence:J,accountNumber:Q})=>{let q=await _1({rpcUrl:T,sender:X}),x=L.chain,z=b0({assetValue:L,memo:y,sender:X}),G=Z?await Py(f?z:ly(z),x):z;return{accountNumber:Q||q.accountNumber,chainId:By.ChainToChainId[x],fee:Cy(L.chain),memo:y,msgs:[G],sequence:J||q.sequence}};var D1=$(()=>{By=require("@swapkit/helpers");IT();S0();JX=Cy(By.Chain.THORChain).gas,QX=Cy(By.Chain.Maya).gas});var k1=()=>{};var I1=$(()=>{k1()});var h0=$(()=>{V0();D1();S0();I1()});async function m0(T,X){try{let y=(await p0.SwapKitApi.getGasRate()).find((Z)=>Z.chainId===T)?.value;return y?Number.parseFloat(y):X}catch(L){return X}}async function n0({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 E1(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(Ky.base64.decode(L));return q.verifySignature(x,Ky.base64.decode(y),f.pubkey.value)}}async function wT({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 OT.match(X).with({phrase:OT.P.string},({phrase:G})=>n0({derivationPath:f,phrase:G,prefix:y})).with({signer:OT.P.any},({signer:G})=>G).otherwise(()=>{return});async function Q(G){return(await Oy(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 Ky.base64.encode(G?.pubkey)}async function z({recipient:G,assetValue:B,memo:H="",feeRate:M,feeOptionKey:R=w.FeeOption.Fast}){let D=await q();if(!(J&&D))throw new w.SwapKitError("toolbox_cosmos_signer_not_defined");let K=w.AssetValue.from({chain:T}),S=DT(K),a=M||MX((await O1(T,C1[T]))[R],S),g=await kT(L,J),yy=[{amount:B.getBaseValue("string"),denom:$y(`u${B.symbol}`).toLowerCase()}],{transactionHash:Ty}=await g.sendTokens(D,G,yy,a,H);return Ty}return{createPrivateKeyFromPhrase:WX(f),createTransaction:K0,fetchFeeRateFromSwapKit:m0,getAccount:Q,getAddress:q,getBalance:async(G,B)=>{let H=await w1(L)(G);return await Promise.all(H.filter(({denom:M})=>M&&!M.includes("IBC/")).map(({denom:M,amount:R})=>{let D=[w.Chain.THORChain,w.Chain.Maya].includes(T)&&(M.includes("/")||M.includes("˜"))?`${T}.${M}`:M;return A0(D,R)}))},getBalanceAsDenoms:w1(L),getFees:()=>O1(T,C1[T]),getPubKey:x,getSignerFromPhrase:async({phrase:G,derivationPath:B})=>n0({derivationPath:w.derivationPathToString(B),index:Z,phrase:G,prefix:y}),getSignerFromPrivateKey:async(G)=>{let B=await import("@cosmjs/proto-signing");return(B.DirectSecp256k1Wallet??B.default?.DirectSecp256k1Wallet).fromKey(G,y)},transfer:z,validateAddress:F1(y),verifySignature:E1(Q)}}async function v1(T,X){try{let y=(await p0.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||BX(X);if(!(y&&T))throw new w.SwapKitError("toolbox_cosmos_validate_address_prefix_not_found");return F1(y)(T)}function GX({assetValue:{chain:T}}){return w.AssetValue.from({chain:T,value:HX(T)})}function BX(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 O1(T,X){let L=await m0(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 MX(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 F1(T){return function(L){if(!L.startsWith(T))return!1;try{let{prefix:y,words:Z}=Ky.bech32.decode(L);return Ky.bech32.encode(y,Z)===L.toLocaleLowerCase()}catch(y){return!1}}}function w1(T){return async function(L){return(await(await Oy(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 Ky,w,p0,OT,C1,xX;var aT=$(()=>{Ky=require("@scure/base"),w=require("@swapkit/helpers"),p0=require("@swapkit/helpers/api"),OT=require("ts-pattern");IT();C1={[w.Chain.Cosmos]:500,[w.Chain.Kujira]:1000,[w.Chain.Noble]:1000,[w.Chain.THORChain]:5000000,[w.Chain.Maya]:5000000};xX=v1});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),B=await ny(),H=await l0(L,{aminoTypes:G,registry:B}),M=[];for(let K of Z){let S=await Py(K,T);M.push(S)}let{signatures:[R]}=await H.sign(z,M,q,x,{accountNumber:f,chainId:Q,sequence:J});return{bodyBytes:await CT({chain:T,memo:x,msgs:Z.map(ly)}),signature:UX(R)}}}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:B}=JSON.parse(y),H=await $1(f,J),M=Z.map((K)=>[x(q(Ay.base64.decode(K.pubKey)),T),Ay.base64.decode(K.signature)]),R=await Oy(X),{transactionHash:D}=await R.broadcastTx(z(H,G,B,Q,new Map(M)));return D}}async function $1(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 DX({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 o0({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 wT({chain:T,...X}),z=await ET.match(X).with({phrase:ET.P.string},({phrase:M})=>x.getSignerFromPhrase({derivationPath:q,phrase:M})).with({signer:ET.P.any},({signer:M})=>M).otherwise(()=>{return}),G=Cy(T);async function B(){let M,R=`${L}/${f?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:D}}=await m.RequestClient.get(R);if(!D||Number.isNaN(D)||D<0)throw new m.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:D.toString()});M=new m.SwapKitNumber(D)}catch{M=new m.SwapKitNumber({decimal:m.BaseDecimal[T],value:f?0.02:1})}return{[m.FeeOption.Average]:M,[m.FeeOption.Fast]:M,[m.FeeOption.Fastest]:M}}async function H({assetValue:M,memo:R="",recipient:D}){let{TxRaw:K}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),S=(await z?.getAccounts())?.[0]?.address;if(!(S&&z))throw new m.SwapKitError("toolbox_cosmos_no_signer");let a="signAmino"in z,g=await ny(),yy=await Vy(T),Ty=await kT(y,z,{aminoTypes:yy,registry:g}),C=rT({assetValue:M,memo:R,recipient:D,sender:S});if(a){let F=await Py(C,T),{signatures:k,authInfoBytes:I}=await Ty.sign(S,[F],G,R),o=K.encode({authInfoBytes:I,bodyBytes:await CT({chain:T,memo:R,msgs:[C].map(ly)}),signatures:k}).finish();return(await Ty.broadcastTx(o)).transactionHash}let b=ly(C),N=await Py(b,T);return(await Ty.signAndBroadcast(S,[N],G,R)).transactionHash}return{...x,broadcastMultisigTx:RX({prefix:J,rpcUrl:y}),buildAminoMsg:rT,buildEncodedTxBody:CT,convertToSignable:Py,createDefaultAminoTypes:()=>Vy(T),createDefaultRegistry:ny,createMultisig:$1,createTransaction:j0(y),deposit:H,getFees:B,importSignature:NX,parseAminoMessageForDirectSigning:ly,pubkeyToAddress:async(M)=>{let{pubkeyToAddress:R}=(await import("@cosmjs/amino")).default;return R(M,J)},secp256k1HdWalletFromMnemonic:YX({derivationPath:m.derivationPathToString(q),prefix:J}),signMultisigTx:_X(T),signWithPrivateKey:DX,transfer:H}}var Ay,m,ET;var c0=$(()=>{Ay=require("@scure/base"),m=require("@swapkit/helpers"),ET=require("ts-pattern");h0();IT();aT()});var Sy,kX=(T,X)=>{switch(T){case Sy.Chain.Cosmos:case Sy.Chain.Kujira:case Sy.Chain.Noble:return wT({chain:T,...X});case Sy.Chain.Maya:case Sy.Chain.THORChain:return o0({chain:T,...X});default:throw new Sy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var V1=$(()=>{Sy=require("@swapkit/helpers");aT();c0();aT();c0()});var sT={};zy(sT,{verifySignature:()=>E1,transferMsgAmino:()=>u0,toBase64:()=>XX,parseAminoMessageForDirectSigning:()=>ly,getSignerFromPrivateKey:()=>qX,getSignerFromPhrase:()=>n0,getMsgSendDenom:()=>$y,getFeeRateFromThorswap:()=>xX,getFeeRateFromSwapKit:()=>v1,getDenomWithChain:()=>DT,getDefaultChainFee:()=>Cy,getCreateTransaction:()=>j0,getCosmosToolbox:()=>kX,getAssetFromDenom:()=>A0,fromBase64:()=>fX,fetchFeeRateFromSwapKit:()=>m0,estimateTransactionFee:()=>GX,depositMsgAmino:()=>b0,createThorchainToolbox:()=>o0,createStargateClient:()=>Oy,createSigningStargateClient:()=>kT,createOfflineStargateClient:()=>l0,createDefaultRegistry:()=>ny,createDefaultAminoTypes:()=>Vy,createCosmosToolbox:()=>wT,cosmosValidateAddress:()=>zX,cosmosCreateTransaction:()=>K0,convertToSignable:()=>Py,buildTransferTx:()=>R1,buildEncodedTxBody:()=>CT,buildDepositTx:()=>N1,buildAminoMsg:()=>rT,bech32ToBase64:()=>RT,base64ToBech32:()=>NT,YUM_KUJIRA_FACTORY_DENOM:()=>G1,USK_KUJIRA_FACTORY_DENOM:()=>P0,THORCHAIN_GAS_VALUE:()=>JX,MAYA_GAS_VALUE:()=>QX,DEFAULT_NOBLE_FEE_MAINNET:()=>H1,DEFAULT_KUJI_FEE_MAINNET:()=>M1,DEFAULT_COSMOS_FEE_MAINNET:()=>B1});module.exports=_y(sT);var eT=$(()=>{h0();V1();IT()});function l1(){function T(){let X=Date.now(),L=g0||X;return g0=L,X>g0?X:L+1}return IX+T().toString(36)}function sy(T){return async function(L,y=!0){return(await P1.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,P1,IX,g0=0;var vT=$(()=>{y0=require("@swapkit/helpers"),P1=require("@swapkit/helpers/api"),IX=typeof process<"u"&&process.pid?process.pid.toString(36):""});function FT(T){let X=T0.SKConfig.get("apis")[T];if(X)return T0.warnOnce({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),X;return OX(T)}function CX(T){return T}function OX(T){return{getBalance:sy(T)}}var T0;var X0=$(()=>{T0=require("@swapkit/helpers");vT()});async function py(T,X){let{JsonRpcProvider:L}=await import("ethers");return new L(X||await h.getRPCUrl(T))}function $T(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function d0(T){return()=>h.Chain.Ethereum===T?void 0:{...wX({chain:T}),blockExplorerUrls:[h.ChainToExplorerUrl[T]],chainId:h.ChainToHexChainId[T],rpcUrls:[h.SKConfig.get("rpcUrls")[T]]}}function t0(T){return![h.Chain.Arbitrum,h.Chain.BinanceSmartChain].includes(T)}function wX({chain:T}){let X=h.BaseDecimal[T];switch(T){case h.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:X,name:"Ethereum",symbol:h.Chain.Ethereum}};case h.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:X,name:"Ethereum",symbol:h.Chain.Ethereum}};case h.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:X,name:"Avalanche",symbol:T}};case h.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:X,name:"Ethereum",symbol:h.Chain.Ethereum}};case h.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:X,name:"Berachain",symbol:"BERA"}};case h.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:X,name:"Binance Coin",symbol:"BNB"}};case h.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:X,name:"xDAI",symbol:"XDAI"}};case h.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:X,name:"Ethereum",symbol:h.Chain.Ethereum}};case h.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:X,name:"Polygon",symbol:h.Chain.Polygon}};default:throw new h.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var h;var ey=$(()=>{h=require("@swapkit/helpers")});var K1;var A1=$(()=>{K1=[{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 TT({chain:T=W.Chain.Ethereum,provider:X,signer:L,isEIP1559Compatible:y=!0}){return{approve:$X({chain:T,isEIP1559Compatible:y,provider:X,signer:L}),approvedAmount:b1({chain:T,provider:X}),broadcastTransaction:X.broadcastTransaction,call:e0({chain:T,isEIP1559Compatible:y,provider:X,signer:L}),createApprovalTx:KX({chain:T,provider:X,signer:L}),createContract:a0({chain:T,provider:X}),createContractTxObject:my({chain:T,provider:X}),createTransaction:i0({chain:T,provider:X,signer:L}),createTransferTx:i0({chain:T,provider:X,signer:L}),EIP1193SendTransaction:fT(X),estimateCall:j1({provider:X,signer:L}),estimateGasLimit:PX({chain:T,provider:X,signer:L}),estimateGasPrices:oy({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:h1({chain:T,isEIP1559Compatible:y,provider:X,signer:L}),signMessage:L?.signMessage,transfer:VX({chain:T,isEIP1559Compatible:y,provider:X,signer:L}),validateAddress:(Z)=>r0({address:Z})}}function r0({address:T}){try{return Jy.getAddress(T),!0}catch(X){return!1}}function XT(T){return T instanceof Jy.BrowserProvider}function PT(T,X,L){return new Jy.Contract(T,Jy.Interface.from(X),L)}function a0({provider:T}){return function(L,y){return new Jy.Contract(L,Jy.Interface.from(y),T)}}function s0({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 S1(T){return Jy.getAddress(T)}function fT(T){return function({value:L,...y}){if(!XT(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:$T(BigInt(L||0))}])}}function u1(T,X){let L=ZT(T,X);if(L)return Jy.getAddress(L.toLowerCase());throw new W.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function ZT({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 Jy.getAddress(X.slice(L.length+1).replace(/^0X/,""))}catch(Z){return null}}function my({provider:T}){return async({contractAddress:X,abi:L,funcName:y,funcParams:Z=[],txOverrides:f})=>PT(X,L,T).getFunction(y).populateTransaction(...Z.concat(f).filter((J)=>typeof J<"u"))}function oy({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 e0({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 B=f||T;if(!J)throw new W.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let H=s0({abi:Q,funcName:q});if(H&&XT(B)&&L){let D=my({chain:y,provider:B}),K=z?.from||await L?.getAddress(),S=await D({abi:Q,contractAddress:J,funcName:q,funcParams:x,txOverrides:{...z,from:K}});return fT(B)(S)}let M=PT(J,Q,B);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 K=M.connect(L),S=oy({chain:y,isEIP1559Compatible:X,provider:T}),{maxFeePerGas:a,maxPriorityFeePerGas:g,gasPrice:yy}=(await S())[G],Ty=await M.getFunction(q).estimateGas(...x,z),C=await K[q](...x,{...z,gasLimit:Ty,gasPrice:yy,maxFeePerGas:a,maxPriorityFeePerGas:g,nonce:z?.nonce||await B.getTransactionCount(D)});return typeof C?.hash==="string"?C?.hash:C}let R=await M[q]?.(...x);return typeof R?.hash==="string"?R?.hash:R}}function b1({provider:T,chain:X}){return function({assetAddress:y,spenderAddress:Z,from:f}){return e0({chain:X,isEIP1559Compatible:!0,provider:T})({abi:yT.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=VT}){let Q=await b1({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 B=[J,BigInt(q||VT)],H=await T?.getAddress()||z,M={abi:yT.erc20ABI,contractAddress:f,funcName:"approve",funcParams:B,signer:T,txOverrides:{from:H}};if(XT(L)){let D=my({chain:y,provider:L}),K=fT(L),S=await D(M);return K(S)}return e0({chain:y,isEIP1559Compatible:X,provider:L,signer:T})({...M,feeOption:Q,funcParams:B,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"),B=Z.getBaseValue("bigint"),H=Z.chain,M=q||await T?.getAddress(),R=h1({chain:H,isEIP1559Compatible:X,provider:L,signer:T});if(!M)throw new W.SwapKitError("toolbox_evm_no_from_address");if(Z.isGasAsset){let yy={...x,data:z(G(f||"")),feeOptionKey:Q,from:M,to:J,value:B};return R(yy)}if(!ZT(Z,H))throw new W.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:K,maxPriorityFeePerGas:S,gasPrice:a}=(await oy({chain:H,isEIP1559Compatible:X,provider:L})())[Q],g=await i0({chain:H,provider:L,signer:T})({assetValue:Z,data:z(G(f||"")),gasPrice:a,maxFeePerGas:K,maxPriorityFeePerGas:S,memo:f,recipient:J,sender:M});return R(g)}}function j1({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=PT(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,B=y.isGasAsset?null:ZT(y,y.chain);if(B&&q)return j1({provider:T,signer:X})({abi:yT.erc20ABI,contractAddress:B,funcName:q,funcParams:x,txOverrides:z});let{hexlify:H,toUtf8Bytes:M}=await import("ethers");return T.estimateGas({data:J?J:f?H(M(f)):void 0,from:Q,to:Z,value:G})}}function h1({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 B={...G,data:x||"0x",from:Q,to:q,value:BigInt(z||0)};if(XT(T))return fT(T)(B);let H=Q||await X.getAddress(),M=J.nonce||await T.getTransactionCount(H),R=(await T.getNetwork()).chainId,D=lX(B)||L,K=oy({chain:y,isEIP1559Compatible:L,provider:T}),S=D&&!(B.maxFeePerGas&&B.maxPriorityFeePerGas)||!B.gasPrice?Object.entries((await K())[f]).reduce((g,[yy,Ty])=>({...g,[yy]:$T(BigInt(Ty))}),{}):{},a;try{a=$T(B.gasLimit||await T.estimateGas(B)*11n/10n)}catch(g){throw new W.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:g})}try{let g={...B,chainId:R,gasLimit:a,nonce:M,type:D?2:0,...S};try{return(await X.sendTransaction(g)).hash}catch(yy){let Ty=await X.signTransaction({...g,from:H});return(await T.broadcastTransaction(Ty)).hash}}catch(g){throw new W.SwapKitError("toolbox_evm_error_sending_transaction",{error:g})}}}function i0({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 B=y.getBaseValue("bigint"),H=y.chain,M=Q||await X?.getAddress();if(!M)throw new W.SwapKitError("toolbox_evm_no_from_address");if(W.isGasAsset(y)){let{hexlify:K,toUtf8Bytes:S}=await import("ethers");return{...G,data:J||K(S(Z||"")),from:M,to:f,value:B}}let R=ZT(y,H);if(!R)throw new W.SwapKitError("toolbox_evm_no_contract_address");return my({chain:y.chain,provider:T})({abi:yT.erc20ABI,contractAddress:R,funcName:"transfer",funcParams:[f,B],txOverrides:{from:M,gasPrice:z,maxFeePerGas:q,maxPriorityFeePerGas:x}})}}function KX({provider:T,signer:X,chain:L}){return async function({assetAddress:Z,spenderAddress:f,amount:J,from:Q}){let q=await X?.getAddress()||Q,x=my({chain:L,provider:T}),z=["bigint","number"].includes(typeof J)?J:J||VT;return await x({abi:yT.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 oy({chain:Z,isEIP1559Compatible:X,provider:T})(),q=await T.estimateGas(f),x=W.AssetValue.from({chain:Z}),{gasPrice:z,maxFeePerGas:G,maxPriorityFeePerGas:B}=Q[y];if(!X&&z)return x.set(W.SwapKitNumber.fromBigInt(z*q,x.decimal));if(G&&B){let H=(G+B)*q;return x.set(W.SwapKitNumber.fromBigInt(H,x.decimal))}throw new W.SwapKitError("toolbox_evm_no_gas_price")}}var W,yT,Jy,VT,EX,vX,lX=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var f0=$(()=>{W=require("@swapkit/helpers"),yT=require("@swapkit/helpers/contracts"),Jy=require("ethers");ey();VT=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 Z0({provider:T,...X}){let L=await wy(Ly.Chain.Ethereum)({provider:T,...X});async function y(Z,f="0x5ba1e12693dc8f9c48aad8770482f4739beed696",J="aggregate",Q=Ly.FeeOption.Fast){let q=await L.createContractTxObject({abi:K1,contractAddress:f,funcName:J,funcParams:[Z]});return L.sendTransaction({...q,feeOptionKey:Q})}return{...L,multicall:y}}function wy(T){return async function({provider:L,...y}){let Z=await Ly.getRPCUrl(T),f=L||await py(T,Z),J=t0(T),Q=lT.match(y).with({phrase:lT.P.string},({phrase:x})=>n1.HDNodeWallet.fromPhrase(x).connect(f)).with({signer:lT.P.any},({signer:x})=>x).otherwise(()=>{return});return{...TT({chain:T,isEIP1559Compatible:J,provider:f,signer:Q}),getBalance:FT(T).getBalance,getNetworkParams:d0(T)}}}var Ly,n1,lT,L0,J0,Q0,q0,x0,z0,G0,B0;var y5=$(()=>{Ly=require("@swapkit/helpers"),n1=require("ethers"),lT=require("ts-pattern");X0();A1();ey();f0();L0=wy(Ly.Chain.Arbitrum),J0=wy(Ly.Chain.Aurora),Q0=wy(Ly.Chain.Avalanche),q0=wy(Ly.Chain.Base),x0=wy(Ly.Chain.Berachain),z0=wy(Ly.Chain.BinanceSmartChain),G0=wy(Ly.Chain.Gnosis),B0=wy(Ly.Chain.Polygon)});var p1;var m1=$(()=>{p1=[{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 T5(T){return new M0.Contract(SX,p1,T)}function o1(T){return function(){let L=T5(T);if(L&&"l1BaseFee"in L)return L?.l1BaseFee();return}}function c1(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 g1(T){return async function(L){let y=T5(T),Z=await c1(T)(L);if(y&&"getL1Fee"in y)return y.getL1Fee(Z)}}function d1(T){return async function(L){let y=await T.send("eth_gasPrice",[]),Z=await T.estimateGas(L);return y.mul(Z)}}function uX(T){return async function(L){let y=await g1(T)(L),Z=await d1(T)(L);return y.add(Z)}}function bX(T){return async function(L){let y=T5(T),Z=await c1(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=o1(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 H0({provider:T,...X}){let L=u.Chain.Optimism,y=await u.getRPCUrl(L),Z=T||await py(L,y),f=KT.match(X).with({phrase:KT.P.string},({phrase:q})=>M0.HDNodeWallet.fromPhrase(q).connect(Z)).with({signer:KT.P.any},({signer:q})=>q).otherwise(()=>{return}),J=TT({provider:Z,signer:f}),Q=o1(Z);return{...J,estimateGasPrices:hX(Z),estimateL1Gas:bX(Z),estimateL1GasCost:g1(Z),estimateL2GasCost:d1(Z),estimateTotalGasCost:uX(Z),getBalance:FT(u.Chain.Optimism).getBalance,getL1GasPrice:Q,getNetworkParams:jX}}var u,M0,KT,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 X5=$(()=>{u=require("@swapkit/helpers"),M0=require("ethers"),KT=require("ts-pattern");X0();m1();ey();f0()});var i1={};zy(i1,{toChecksumAddress:()=>S1,isStateChangingCall:()=>s0,isBrowserProvider:()=>XT,getTokenAddress:()=>ZT,getEvmToolbox:()=>t1,getEstimateGasPrices:()=>oy,getEIP1193SendTransaction:()=>fT,getCreateContractTxObject:()=>my,getCreateContract:()=>a0,getChecksumAddressFromAsset:()=>u1,evmValidateAddress:()=>r0,createContract:()=>PT,OPToolbox:()=>H0,MAX_APPROVAL:()=>VT,MATICToolbox:()=>B0,GNOToolbox:()=>G0,ETHToolbox:()=>Z0,BaseEVMToolbox:()=>TT,BSCToolbox:()=>z0,BERAToolbox:()=>x0,BASEToolbox:()=>q0,AVAXToolbox:()=>Q0,AURORAToolbox:()=>J0,ARBToolbox:()=>L0});async function t1(T,X){let L={...X,provider:X?.provider||await py(T)};switch(T){case Qy.Chain.Arbitrum:return L0(L);case Qy.Chain.Aurora:return J0(L);case Qy.Chain.Avalanche:return Q0(L);case Qy.Chain.Base:return q0(L);case Qy.Chain.Berachain:return x0(L);case Qy.Chain.BinanceSmartChain:return z0(L);case Qy.Chain.Gnosis:return G0(L);case Qy.Chain.Optimism:return H0(L);case Qy.Chain.Polygon:return B0(L);case Qy.Chain.Ethereum:return Z0(L);default:throw new Qy.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var Qy;var f5=$(()=>{Qy=require("@swapkit/helpers");ey();y5();X5();f0();y5();X5()});var r1;var a1=$(()=>{((L)=>{L.Test="goerli";L.Main="homestead"})(r1||={})});var s1={};zy(s1,{toHexString:()=>$T,toChecksumAddress:()=>S1,isStateChangingCall:()=>s0,isBrowserProvider:()=>XT,getTokenAddress:()=>ZT,getProvider:()=>py,getNetworkParams:()=>d0,getIsEIP1559Compatible:()=>t0,getEvmToolbox:()=>t1,getEvmApi:()=>FT,getEstimateGasPrices:()=>oy,getEIP1193SendTransaction:()=>fT,getCreateContractTxObject:()=>my,getCreateContract:()=>a0,getChecksumAddressFromAsset:()=>u1,evmValidateAddress:()=>r0,createCustomEvmApi:()=>CX,createContract:()=>PT,OPToolbox:()=>H0,MAX_APPROVAL:()=>VT,MATICToolbox:()=>B0,GNOToolbox:()=>G0,EthNetwork:()=>r1,ETHToolbox:()=>Z0,BaseEVMToolbox:()=>TT,BSCToolbox:()=>z0,BERAToolbox:()=>x0,BASEToolbox:()=>q0,AVAXToolbox:()=>Q0,AURORAToolbox:()=>J0,ARBToolbox:()=>L0});module.exports=_y(s1);var e1=$(()=>{X0();ey();f5();a1()});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=cy.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=cy.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 y2(T,X){return function(y){let Z=cy.AssetValue.from({chain:T});switch(T){case cy.Chain.Chainflip:return pX(X,Z,y);default:return nX(X,Z,y)}}}var cy;var T2=$(()=>{cy=require("@swapkit/helpers")});var mX,oX,cX,uy;var Z5=$(()=>{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/"},uy={DOT:mX,FLIP:oX,GENERIC:cX}});function gX(T,X){switch(T){case t.Chain.Chainflip:return f2(X);case t.Chain.Polkadot:return X2(X);default:throw new t.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function LT(T){return"address"in T}async function J5(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=QT.decodeAddress(T);return QT.encodeAddress(L,X)}function Z2(T,X){return JT.isHex(T)?JT.hexToU8a(T):QT.decodeAddress(T,void 0,X)}function L2(T,X="ss58",L){if(X==="hex")return JT.u8aToHex(T);return QT.encodeAddress(T,L)}async function x5({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?uy.GENERIC:uy[X],z=await AT.match(L).with({phrase:AT.P.string},({phrase:G})=>J5(G,uy[X].prefix)).with({signer:AT.P.any},({signer:G})=>G).otherwise(()=>{return});return J2({api:Q,chain:X,gasAsset:q,network:x,signer:z})}var JT,QT,t,AT,X2=({generic:T=!1,...X}={})=>{return x5({chain:t.Chain.Polkadot,generic:T,...X})},f2=async({generic:T=!1,...X}={})=>{return{...await x5({chain:t.Chain.Chainflip,generic:T,...X})}},Q5=(T,X)=>T.rpc.system.accountNextIndex(X),L5=(T,X)=>{try{let L=Z2(T,X);return L2(L,"ss58",X),!0}catch(L){return!1}},q5=(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=q5(T,{assetValue:y,recipient:L});if(!f)throw new t.SwapKitError("toolbox_substrate_transfer_error");let J=LT(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=q5(T,{assetValue:Z,recipient:y}),Q=LT(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()},J2=({api:T,network:X,gasAsset:L,signer:y,chain:Z})=>({api:T,broadcast:iX,convertAddress:eX,createKeyring:(f)=>J5(f,X.prefix),createTransaction:(f)=>q5(T,f),decodeAddress:Z2,encodeAddress:L2,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 LT(J)?J.address:void 0},getBalance:y2(Z||t.Chain.Polkadot,T),network:X,sign:(f)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");if(LT(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(LT(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)=>L5(f,X.prefix)}),y8=({address:T,chain:X})=>{let{prefix:L}=X===t.Chain.Polkadot?uy.DOT:uy.FLIP;return L5(T,L)||L5(T,uy.GENERIC.prefix)};var Q2=$(()=>{JT=require("@polkadot/util"),QT=require("@polkadot/util-crypto"),t=require("@swapkit/helpers"),AT=require("ts-pattern");T2();Z5()});var z5={};zy(z5,{substrateValidateAddress:()=>y8,isKeyringPair:()=>LT,getSubstrateToolbox:()=>gX,createSubstrateToolbox:()=>x5,createKeyring:()=>J5,SubstrateNetwork:()=>uy,PolkadotToolbox:()=>X2,ChainflipToolbox:()=>f2,BaseSubstrateToolbox:()=>J2});module.exports=_y(z5);var G5=$(()=>{Q2();Z5()});async function T8({chain:T,txHash:X}){let L=`${W0(T)}/push/transaction`,y=JSON.stringify({data:X});try{let Z=await A.RequestClient.post(L,{body:y,headers:{"Content-Type":"application/json"}});if(Z.context.code!==200)throw new A.SwapKitError("toolbox_utxo_broadcast_failed",{error:Z.context.error||"Transaction broadcast failed"});return Z.data?.transaction_hash||X}catch(Z){let f=await A.getRPCUrl(T);if(f){let J=JSON.stringify({id:l1(),jsonrpc:"2.0",method:"sendrawtransaction",params:[X]}),Q=await A.RequestClient.post(f,{body:J,headers:{"Content-Type":"application/json"}});if(Q.error)throw new A.SwapKitError("toolbox_utxo_broadcast_failed",{error:Q.error?.message});if(Q.result.includes('"code":-26'))throw new A.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return Q.result}throw Z}}function W0(T){return`https://api.blockchair.com/${X8(T)}`}function q2(T){switch(T){case A.Chain.Bitcoin:return 5;case A.Chain.Dogecoin:return 1e4;case A.Chain.Litecoin:return 1;case A.Chain.Zcash:return 1;default:return 2}}function X8(T){switch(T){case A.Chain.BitcoinCash:return"bitcoin-cash";case A.Chain.Litecoin:return"litecoin";case A.Chain.Dash:return"dash";case A.Chain.Dogecoin:return"dogecoin";case A.Chain.Zcash:return"zcash";case A.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function f8(T){try{let{feePerKb:X}=await A.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),L=X/1000;return Math.max(L,q2(T))}catch(X){return q2(T)}}async function B5(T,X){let L=await A.RequestClient.get(`${T}${X?`${T.includes("?")?"&":"?"}key=${X}`:""}`);if(!L||L.context.code!==200)throw new A.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 A.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await B5(`${W0(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 M2({chain:T,apiKey:X,txHash:L}){if(!L)throw new A.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await B5(`${W0(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(`${W0(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:B,value:H,spending_signature_hex:M})=>({hash:G,index:B,is_confirmed:z!==-1,is_spent:q,script_hex:x,txHex:M,value:H}))}function J8(T){return T.reduce((X,L)=>X+L.value,0)}function x2(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 A.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),B=Z+G,H=y&&B>=y;if(x||H)return x2(z,y);let M=await H2({accumulativeValue:B,address:X,apiKey:L,chain:T,limit:J,offset:f+J,targetValue:y}),R=[...z,...M];return x2(R,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 M2({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=A.SKConfig.get("apiKeys").blockchair||"";return A.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)=>M2({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=A.SKConfig.get("apis")[T];if(X)return A.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 A.Chain.Bitcoin:return G2.networks.bitcoin;case A.Chain.BitcoinCash:return qT.default.bitcoincash.main.toBitcoinJS();case A.Chain.Dash:return qT.default.dash.main.toBitcoinJS();case A.Chain.Litecoin:return qT.default.litecoin.main.toBitcoinJS();case A.Chain.Dogecoin:{let L={private:70615956,public:70617039},y=qT.default.dogecoin.test;return y.versions.bip32=L,qT.default.dogecoin.main.toBitcoinJS()}case A.Chain.Zcash:return z2.networks.zcash;default:throw new A.SwapKitError("toolbox_utxo_not_supported",{chain:X})}}}var z2,A,G2,qT;var W2=$(()=>{z2=require("@bitgo/utxo-lib"),A=require("@swapkit/helpers"),G2=require("bitcoinjs-lib"),qT=Y(require("coininfo"));vT()});function U5(T){try{return Y0(T),!0}catch(X){return!1}}function _5(T){return Y0(T)?.network}function xT(T){let X=Y0(T);if(X?.format==="legacy")return T;return B8(X)}function ST(T){let X=Y0(T);return M8(X)}function Y0(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 M5.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function z8(T){try{let X=H5.default.decode(T);if(X.length!==21)throw new M5.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 Y2(T)}catch(X){}else{let X=["bitcoincash","bchtest","bchreg"];for(let L of X)try{return Y2(`${L}:${T}`)}catch(y){}}return}function Y2(T){try{let{hash:X,prefix:L,type:y}=W5.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 B8(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 M8(T){let X=T.network==="mainnet"?"bitcoincash":"bchtest",L=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return W5.default.encode(X,L,y)}var M5,H5,W5,Y5,c;var U2=$(()=>{M5=require("@swapkit/helpers"),H5=Y(require("bs58check")),W5=Y(require("cashaddrjs"));((L)=>{L.Mainnet="mainnet";L.Testnet="testnet"})(Y5||={});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 _0.script.compile([_0.opcodes.OP_RETURN,X])}var _2,_0,H8=1000,R0=10,R2=10,W8=41,Y8=107,N0,U0,uT,bT=(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 _2.SwapKitError("toolbox_utxo_invalid_address",{address:T})},zT=({inputs:T,outputs:X,feeRate:L})=>{let y=T[0]&&"address"in T[0]&&T[0].address?bT(T[0].address):"P2PKH",Z=T.filter((J)=>J.value>=U0["type"in J?J.type:"P2PKH"]*Math.ceil(L)).reduce((J,Q)=>J+by(Q),0),f=X?.reduce((J,Q)=>J+jT(Q),0)||uT[y];return R0+Z+f},by=(T)=>{if("type"in T)return U0[T.type];if("address"in T&&T.address)return U0[bT(T.address)];return W8+Y8},jT=(T,X)=>{if(T?.script)return R2+T.script.length+(T.script.length>=74?2:1);if(X)return uT[X];return uT.P2PKH};var R5=$(()=>{_2=require("@swapkit/helpers"),_0=require("bitcoinjs-lib");((L)=>{L.P2PKH="P2PKH";L.P2WPKH="P2WPKH"})(N0||={});U0={["P2PKH"]:148,["P2WPKH"]:68},uT={["P2PKH"]:34,["P2WPKH"]:31}});function D0(T){switch(T){case Dy.Chain.Bitcoin:case Dy.Chain.BitcoinCash:return 550;case Dy.Chain.Dash:case Dy.Chain.Litecoin:return 5500;case Dy.Chain.Dogecoin:return 1e5;case Dy.Chain.Zcash:return 546;default:throw new Dy.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function ky({inputs:T,outputs:X,feeRate:L=1,chain:y=Dy.Chain.Bitcoin,changeAddress:Z=""}){let f=Math.ceil(L),J=T[0]&&"address"in T[0]&&T[0].address?bT(T[0].address):"P2PKH",Q=T.filter((H)=>by(H)*f<=H.value),q=R0+X.reduce((H,M)=>H+jT(M,J),0),x=X.reduce((H,M)=>H+M.value,0),z=q*f,G=0,B=[];for(let H of Q){let M=by(H),R=f*M;z+=R,G+=H.value,B.push(H);let D=z+x;if(G<D)continue;let K=G-D,S=f*jT({address:"",value:0},J);if(K>S){let a=S+z,g=G-(x+a);if(g>Math.max(by({})*f,D0(y)))return{fee:a,inputs:B,outputs:X.concat({address:Z,value:g})}}return{fee:z,inputs:B,outputs:X}}return{fee:f*zT({feeRate:f,inputs:T,outputs:X})}}var Dy;var N2=$(()=>{Dy=require("@swapkit/helpers");R5()});var GT=$(()=>{W2();U2();N2();R5()});function gy(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function jy(T){let X=gy(T);return U5(X)&&_5(X)==="mainnet"}function BT(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=k0.networks.zcash;try{return k0.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 k0,D2;var hT=$(()=>{k0=require("@bitgo/utxo-lib"),D2=Y(require("bs58check"));GT()});function C2({inputs:T,outputs:X,chain:L,psbt:y,sender:Z,compiledMemo:f}){for(let J of T){let Q=!!J.witnessUtxo&&!nT.includes(L)&&{witnessUtxo:J.witnessUtxo},q=nT.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(I0.default),y.addOutput(x)}return{inputs:T,psbt:y}}async function O2({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 v2({assetValue:T,fetchTxHex:f,memo:L,recipient:X,sender:Z}),{inputs:x,outputs:z}=ky({...q,chain:J,feeRate:y});if(!(x&&z))throw new V.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:Z});let G=await Ry(),B=new Iy.Psbt({network:G(J)});if(J===V.Chain.Dogecoin)B.setMaximumFeeRate(650000000);let{psbt:H,inputs:M}=await C2({chain:J,compiledMemo:Q,inputs:x,outputs:z,psbt:B,sender:Z});return{inputs:M,psbt:H,utxos:q.inputs}}async function w2(){let T=await Ry();return function({address:L,chain:y}){if(y===V.Chain.BitcoinCash)return jy(L);if(y===V.Chain.Zcash)return BT(L);try{return Iy.initEccLib(I0.default),Iy.address.toOutputScript(L,T(y)),!0}catch(Z){return!1}}}async function U8({chain:T,phrase:X,derivationPath:L}){let y=(await pT(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 dy({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 w2(),x=await pT(T);return{accumulative:ky,broadcastTx:(z)=>qy(T).broadcastTx(z),calculateTxSize:zT,createKeysForPath:x,createTransaction:O2,estimateMaxSendableAmount:_8(T),estimateTransactionFee:R8(T),getAddress:J,getAddressFromKeys:Q,getBalance:sy(T),getFeeRates:()=>mT(T),getInputsOutputsFee:E2,getPrivateKeyFromMnemonic:(z)=>{return x(z).toWIF()},transfer:N8(f),validateAddress:(z)=>q({address:z,chain:T})}}async function E2({assetValue:T,feeOptionKey:X=V.FeeOption.Fast,feeRate:L,memo:y,sender:Z,recipient:f}){let J=T.chain,Q=await v2({assetValue:T,memo:y,recipient:f,sender:Z}),q=L?Math.floor(L):(await mT(J))[X];return ky({...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 mT(T))[f],x=Q?.utxo.map((M)=>({...M,hash:"",type:"P2PKH"})).filter((M)=>M.value>Math.max(D0(T),by(M)*q));if(!x?.length)return V.AssetValue.from({chain:T});let z=V.AssetValue.from({chain:T,value:x.reduce((M,R)=>M+R.value,0)}),G=typeof J==="number"?Array.from({length:J},()=>({address:L,value:0})):J;if(y){let M=await Ny(y);G.push({address:L,script:M,value:0})}let H=zT({feeRate:q,inputs:x,outputs:G})*q;return z.sub(H)}}function R8(T){return async(X)=>{let L=await E2(X);return V.AssetValue.from({chain:T,value:V.SwapKitNumber.fromBigInt(BigInt(L.fee),8).getValue("string")})}}async function pT(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(N5.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=I2.ECPairFactory(I0.default),Q=X(T);if(Z)return J.fromWIF(Z,Q);let q=N5.mnemonicToSeedSync(y),x=k2.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=nT.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 mT(q))[Z||V.FeeOption.Fast],{psbt:z}=await O2({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 mT(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 v2({assetValue:T,recipient:X,memo:L,sender:y,fetchTxHex:Z=!1}){let f=T.chain,J=(await mT(f))[V.FeeOption.Fastest],Q=Z||nT.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 I0,C0,k2,N5,V,Iy,I2,nT;var oT=$(()=>{I0=Y(require("@bitcoinerlab/secp256k1")),C0=require("@psf/bitcoincashjs-lib"),k2=require("@scure/bip32"),N5=require("@scure/bip39"),V=require("@swapkit/helpers"),Iy=require("bitcoinjs-lib"),I2=require("ecpair");vT();GT();hT();nT=[V.Chain.Dash,V.Chain.Dogecoin,V.Chain.Zcash,V.Chain.BitcoinCash]});function ty(T){return gy(ST(T))}function D8(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(ty(y))},signTransaction:X}}async function k5(T){let X="phrase"in T?T.phrase:void 0,L="index"in T?T.index||0:0,y=fy.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:fy.updateDerivationPath(fy.NetworkDerivationPath[Hy],{index:L})),Z=X?(await pT(Hy))({derivationPath:y,phrase:X}):void 0,f=Z?D8(Z):("signer"in T)?T.signer:void 0;function J(){return Promise.resolve(f?.getAddress())}let{getBalance:Q,getFeeRates:q,broadcastTx:x,...z}=await dy({chain:Hy});function G(B,H=!0){return Q(gy(ST(B)))}return{...z,broadcastTx:x,buildTx:I8,createTransaction:$2,getAddress:J,getAddressFromKeys:C8,getBalance:G,getFeeRates:q,stripPrefix:gy,stripToCashAddress:ty,transfer:k8({broadcastTx:x,getFeeRates:q,signer:f}),validateAddress:jy}}async function $2({assetValue:T,recipient:X,memo:L,feeRate:y,sender:Z}){if(!jy(X))throw new fy.SwapKitError("toolbox_utxo_invalid_address",{address:X});let f=Math.ceil(T.getBaseValue("number")+y*7500),J=await qy(Hy).getUtxos({address:ty(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}=ky({chain:Hy,feeRate:y,inputs:J,outputs:q});if(!(x&&z))throw new fy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:Z});let G=await Ry(),B=new MT.TransactionBuilder(G(Hy));await Promise.all(x.map(async(H)=>{let M=await qy(Hy).getRawTx(H.hash);B.addInput(MT.Transaction.fromBuffer(Buffer.from(M,"hex")),H.index)}));for(let H of z){let M="address"in H&&H.address?H.address:xT(Z),R=await Ry(),D=MT.address.toOutputScript(xT(M),R(Hy));B.addOutput(D,H.value)}if(Q)B.addOutput(Q,0);return{builder:B,utxos:x}}function k8({broadcastTx:T,getFeeRates:X,signer:L}){return async function({recipient:Z,assetValue:f,feeOptionKey:J=fy.FeeOption.Fast,...Q}){let q=await L?.getAddress();if(!(L&&q))throw new fy.SwapKitError("toolbox_utxo_no_signer");if(!Z)throw new fy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let x=Q.feeRate||(await X())[J],{builder:z,utxos:G}=await $2({...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=ST(X);if(!jy(J))throw new fy.SwapKitError("toolbox_utxo_invalid_address",{address:J});let Q=Math.ceil(T.getBaseValue("number")+y*7500),q=await qy(Hy).getUtxos({address:ty(Z),fetchTxHex:!1,targetValue:Q}),x=Number(y.toFixed(0)),z=L?await Ny(L):null,G=[];if(G.push({address:xT(X),value:T.getBaseValue("number")}),z)G.push({script:z,value:0});let{inputs:B,outputs:H}=ky({chain:Hy,feeRate:x,inputs:q,outputs:G});if(!(B&&H))throw new fy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:Z});let M=await Ry(),R=new F2.Psbt({network:M(Hy)});for(let{hash:D,index:K,witnessUtxo:S}of B)R.addInput({hash:D,index:K,sighashType:f?65:void 0,witnessUtxo:S});for(let D of H){let K="address"in D&&D.address?D.address:xT(Z),S=D.script?z?{script:z,value:0}:void 0:{address:K,value:D.value};if(S)R.addOutput(S)}return{inputs:B,psbt:R,utxos:q}}function C8(T){let X=T.getAddress(0);return ty(X)}var MT,fy,F2,Hy;var O0=$(()=>{MT=require("@psf/bitcoincashjs-lib"),fy=require("@swapkit/helpers"),F2=require("bitcoinjs-lib");GT();oT();hT();Hy=fy.Chain.BitcoinCash});function l2(){return Wy.networks.zcash}function K2(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
-
`,pubKeyHash:28,scriptHash:28,wif:128}}function O8({phrase:T,derivationPath:X}){let L=C5.mnemonicToSeedSync(T),Z=I5.HDKey.fromMasterSeed(L).derive(X);if(!Z.privateKey)throw new s.SwapKitError("toolbox_utxo_invalid_params");let f=K2(),J=Wy.ECPair.fromPrivateKey(Buffer.from(Z.privateKey),{network:f}),Q=Wy.crypto.hash160(J.publicKey),{isStagenet:q}=s.SKConfig.get("envs"),x=q?Buffer.from([29,37]):Buffer.from([28,184]),z=Buffer.concat([x,Q]),G=P2.default.encode(z);return{getAddress:()=>Promise.resolve(G),signTransaction:(B)=>{let H=B.signAllInputs(J);return Promise.resolve(H)}}}function w8({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:Wy.address.toOutputScript(J,l2()),value:BigInt(f.value)};L.addOutput(q)}return{inputs:T,psbt:L}}async function V2(T){let{assetValue:X,recipient:L,memo:y,feeRate:Z,sender:f,fetchTxHex:J}=T,Q=y?Ny(y):null,q=await qy(s.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}=ky({chain:s.Chain.Zcash,changeAddress:f,feeRate:Z,inputs:q,outputs:x});if(!(z&&G))throw new s.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:X,sender:f});let B=Wy.bitgo.createPsbtForNetwork({network:l2()},{version:455}),M=3268858036,R=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),D=Buffer.allocUnsafe(4);D.writeUInt32LE(M>>>0,0),B.addUnknownKeyValToGlobal({key:R,value:D});let{psbt:K,inputs:S}=await w8({compiledMemo:Q,inputs:z,outputs:G,psbt:B,sender:f});return{inputs:S,outputs:G,psbt:K}}async function O5(T){let X=await HT.match(T).with({signer:HT.P.not(HT.P.nullish)},({signer:J})=>Promise.resolve(J)).with({phrase:HT.P.string},({phrase:J,derivationPath:Q,index:q=0})=>{let x=Q||s.NetworkDerivationPath[s.Chain.Zcash]||[44,133,0,0,0],z=s.updateDerivationPath(x,{index:q}),G=s.derivationPathToString(z);return O8({derivationPath:G,phrase:J})}).otherwise(()=>Promise.resolve(void 0)),L=await dy({chain:s.Chain.Zcash,signer:X});async function y({recipient:J,assetValue:Q,feeOptionKey:q=s.FeeOption.Fast,...x}){let z=await X?.getAddress();if(!(X&&z))throw new s.SwapKitError("toolbox_utxo_no_signer");let G=x.feeRate||(await L.getFeeRates())[q],{psbt:B}=await V2({...x,assetValue:Q,feeRate:G,recipient:J,sender:z}),H=await X.signTransaction(B);return H.finalizeAllInputs(),L.broadcastTx(H.extractTransaction().toHex())}function Z({phrase:J,derivationPath:Q="m/44'/133'/0'/0/0"}){let q=C5.mnemonicToSeedSync(J),z=I5.HDKey.fromMasterSeed(q).derive(Q);if(!z.privateKey)throw new s.SwapKitError("toolbox_utxo_invalid_params");let G=K2();return Wy.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:V2,getPrivateKeyFromMnemonic:f,transfer:y,validateAddress:BT}}var Wy,I5,C5,s,P2,HT;var w5=$(()=>{Wy=require("@bitgo/utxo-lib"),I5=require("@scure/bip32"),C5=require("@scure/bip39"),s=require("@swapkit/helpers"),P2=Y(require("bs58check")),HT=require("ts-pattern");GT();oT();hT()});async function E8(T,X){switch(T){case Ey.Chain.BitcoinCash:return await k5(X||{});case Ey.Chain.Zcash:return await O5(X);case Ey.Chain.Bitcoin:case Ey.Chain.Dogecoin:case Ey.Chain.Litecoin:case Ey.Chain.Dash:return await dy({chain:T,...X});default:throw new Ey.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var Ey;var A2=$(()=>{Ey=require("@swapkit/helpers");O0();oT();w5();O0();hT()});var E5={};zy(E5,{validateZcashAddress:()=>BT,toLegacyAddress:()=>xT,toCashAddress:()=>ST,stripToCashAddress:()=>ty,stripPrefix:()=>gy,nonSegwitChains:()=>nT,isValidAddress:()=>U5,getUtxoToolbox:()=>E8,getUtxoNetwork:()=>Ry,getUtxoApi:()=>qy,getUTXOAddressValidator:()=>w2,getScriptTypeForAddress:()=>bT,getOutputSize:()=>jT,getInputSize:()=>by,getDustThreshold:()=>D0,getCreateKeysForPath:()=>pT,detectAddressNetwork:()=>_5,createZcashToolbox:()=>O5,createUTXOToolbox:()=>dy,createCustomUtxoApi:()=>x8,createBCHToolbox:()=>k5,compileMemo:()=>Ny,calculateTxSize:()=>zT,bchValidateAddress:()=>jy,addressFromKeysGetter:()=>D5,addInputsAndOutputs:()=>C2,accumulative:()=>ky,UtxoNetwork:()=>Y5,UTXOScriptType:()=>N0,TX_OVERHEAD:()=>R0,OutputSizes:()=>uT,OP_RETURN_OVERHEAD:()=>R2,MIN_TX_FEE:()=>H8,InputSizes:()=>U0});module.exports=_y(E5);var v5=$(()=>{GT();A2();O0();oT();w5()});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 iy(),{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(j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:j.BaseDecimal[j.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 B=await v8(z),H=B?.symbol||"UNKNOWN",M=B?.decimals||x.tokenAmount.decimals;f.push(j.AssetValue.from({asset:`${j.Chain.Solana}.${H}-${z}`,fromBaseDecimal:M,value:G}))}return f}async function V5(){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=j.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:j.updateDerivationPath(j.NetworkDerivationPath[j.Chain.Solana],{index:X})),y=await cT.match(T).with({phrase:cT.P.string},({phrase:f})=>$5({derivationPath:L,phrase:f})).with({signer:cT.P.any},({signer:f})=>f).otherwise(()=>{return});function Z(){return y?.publicKey?S2(y.publicKey):""}return{broadcastTransaction:F5(iy),createKeysForPath:$5,createTransaction:P5(iy),createTransactionFromInstructions:K8,estimateTransactionFee:V8(iy),getAddress:Z,getAddressFromPubKey:S2,getAddressValidator:V5,getBalance:(f)=>{let J=f||Z();if(!J)throw new j.SwapKitError("core_wallet_connection_not_found");return F8(J)},getConnection:iy,getPubkeyFromAddress:l5,signTransaction:S8(iy,y),transfer:A8(iy,y)}}function V8(T){return async({recipient:X,assetValue:L,memo:y,isProgramDerivedAddress:Z,sender:f})=>{let J=await T(),q=(await P5(T)({assetValue:L,isProgramDerivedAddress:Z,memo:y,recipient:X,sender:f})).compileMessage(),x=await J.getFeeForMessage(q);if(x.value===null)throw new j.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");return j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:j.BaseDecimal[j.Chain.Solana],value:x.value})}}async function iy(){let{Connection:T}=await import("@solana/web3.js"),X=await j.getRPCUrl(j.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 l8({amount:X.getBaseValue("number"),connection:f,decimals:X.decimal,from:J,isProgramDerivedAddress:Z,recipient:L,tokenAddress:X.address});return}}async function l8({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:B}=await import("@solana/web3.js"),H=new G,M=new B(T),R=await Q(M,L),D=new B(X),K=await Q(M,D,J),S=!1;try{await q(y,K),S=!0}catch(a){}if(!S)H.add(x(L,K,D,M));return H.add(z(R,M,K,L,Z,f)),H}function P5(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 V5();if(!(Z||q(X)))throw new j.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 j.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 K8({instructions:T}){let{Transaction:X}=await import("@solana/web3.js"),L=new X().add(...T);if(!L)throw new j.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 j.SwapKitError("core_transaction_invalid_sender_address");let J=X.publicKey?.toString()??(await X.connect()).publicKey.toString(),Q=await P5(T)({assetValue:y,isProgramDerivedAddress:f,memo:Z,recipient:L,sender:J});if("signTransaction"in X){let q=await X.signTransaction(Q);return F5(T)(q)}return Q.sign(X),F5(T)(Q)}}function F5(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 j.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 $5({phrase:T,derivationPath:X=j.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 S2(T){return T.toString()}async function l5(T){let{PublicKey:X}=await import("@solana/web3.js");return new X(T)}var j,cT;var u2=$(()=>{j=require("@swapkit/helpers"),cT=require("ts-pattern")});var K5={};zy(K5,{getSolanaToolbox:()=>$8,getSolanaAddressValidator:()=>V5,createKeysForPath:()=>$5});module.exports=_y(K5);var A5=$(()=>{u2()});async function gT(){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 E0(T){let{parseSeedPhrase:X}=await import("near-seed-phrase"),{KeyPair:L}=await import("near-api-js"),y=T.index||0,Z=T.derivationPath?w0.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:f}=X(T.phrase,Z),J=L.fromString(f);return h2(J)}async function S5(T){let{KeyPair:X}=await import("near-api-js/lib/utils"),L=X.fromString(T);return h2(L)}function h2(T){return new j2(T)}async function v0(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 w0.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 w0,b2,j2;var u5=$(()=>{w0=require("@swapkit/helpers"),b2=require("near-api-js");j2=class j2 extends b2.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 b5(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function j5(T){return"contractId"in T&&"methodName"in T}function h5(T){return"actions"in T}function n5(T){return"newAccountId"in T}function p5(T){return"contractCode"in T}function m5(T){return"customEstimator"in T}function o5(T){let X=0;for(let L of T)switch(L.enum){case"transfer":X+=Number(Zy.SIMPLE_TRANSFER);break;case"functionCall":X+=Number(Zy.CONTRACT_CALL);break;case"createAccount":X+=Number(Zy.ACCOUNT_CREATION);break;case"deployContract":X+=Number(Zy.CONTRACT_DEPLOYMENT);break;case"addKey":X+=Number(Zy.ACCESS_KEY_ADDITION);break;case"deleteKey":X+=Number(Zy.ACCESS_KEY_DELETION);break;case"stake":X+=Number(Zy.STAKE);break;default:X+=Number(Zy.CONTRACT_CALL)}return X.toString()}function c5(T){if(T==="ft_transfer"||T==="ft_transfer_call")return Zy.TOKEN_TRANSFER;if(T==="storage_deposit")return Zy.STORAGE_DEPOSIT;return Zy.CONTRACT_CALL}function u8(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function b8(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Zy;var g5=$(()=>{Zy={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 F0({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 d5({contractId:T,account:X}){let L=(await import("bn.js")).default,y=await F0({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(C)=>{return await E0(C)}).with({signer:X.any},({signer:C})=>C).otherwise(()=>{return}),f=await n.getRPCUrl(n.Chain.Near),J=new y.JsonRpcProvider({url:f});async function Q(C){let{Account:b}=await import("near-api-js"),N=C||await q();return new b(N,J,Z)}async function q(){if(!Z)throw new n.SwapKitError("toolbox_near_no_signer");return await Z.getAddress()}async function x(C){if(!Z)throw new n.SwapKitError("toolbox_near_no_signer");let{recipient:b,assetValue:N}=C;if(!(await gT())(b))throw new n.SwapKitError("toolbox_near_invalid_address");let F=await Q();if(N.isGasAsset===!1){let k=N.address;if(!k)throw new n.SwapKitError("toolbox_near_missing_contract_address");let I=N.getBaseValue("string");return K({args:{amount:I,memo:C.memo,receiver_id:b},contractId:k,methodName:"ft_transfer"})}try{let k=N.getBaseValue("string");return(await F.transfer({amount:k,receiverId:b})).transaction_outcome.id}catch(k){throw new n.SwapKitError("toolbox_near_transfer_failed",{error:k})}}async function z(C){let{recipient:b,assetValue:N,memo:E,feeRate:F,attachedDeposit:k,sender:I}=C,o=await gT();if(!o(b))throw new n.SwapKitError("toolbox_near_invalid_address",{address:b});if(!o(I))throw new n.SwapKitError("toolbox_near_invalid_address",{address:I});if(!N.isGasAsset){let UT=N.address;if(!UT)throw new n.SwapKitError("toolbox_near_missing_contract_address");return G({args:{amount:N.getBaseValue("string"),memo:E||null,receiver_id:b},attachedDeposit:"1",contractId:UT,gas:F.toString()||"100000000000000",methodName:"ft_transfer",sender:I})}let{publicKey:i,nonce:d}=await v0(J,I),r=N.getBaseValue("bigint"),{SCHEMA:xy}=await import("near-api-js/lib/transaction"),{transactions:Xy,utils:Yy}=await import("near-api-js"),Uy=[Xy.transfer(r)];if(E&&k)Uy.push(Xy.functionCall("memo",{memo:E},BigInt(F),BigInt(k)));let ry=await J.block({finality:"final"}),YT=Yy.serialize.base_decode(ry.header.hash),$0=Xy.createTransaction(I,i,b,d,Uy,YT),ay=Yy.serialize.serialize(xy.Transaction,$0),tT=Buffer.from(ay).toString("base64");return{details:{blockHash:Yy.serialize.base_encode(YT),nonce:d,signerId:I},publicKey:i.toString(),serialized:tT}}async function G(C){let{sender:b}=C,{publicKey:N,nonce:E}=await v0(J,b),{SCHEMA:F}=await import("near-api-js/lib/transaction"),{transactions:k,utils:I}=await import("near-api-js"),o=await J.block({finality:"final"}),i=I.serialize.base_decode(o.header.hash),d=[k.functionCall(C.methodName,Buffer.from(JSON.stringify(C.args)),BigInt(C.gas),BigInt(C.attachedDeposit))],r=k.createTransaction(b,N,C.contractId,E,d,i),xy=I.serialize.serialize(F.Transaction,r),Xy=Buffer.from(xy).toString("base64");return{details:{blockHash:I.serialize.base_encode(i),methodName:C.methodName,nonce:E,receiverId:C.contractId,signerId:b},publicKey:N.toString(),serialized:Xy}}async function B(C){if(!Z)throw new n.SwapKitError("toolbox_near_no_signer");let[b,N]=await Z.signTransaction(C);return N}async function H(C){return(await J.sendTransaction(C)).transaction.hash}async function M(C){if("assetValue"in C){let F=BigInt("115123062500")+BigInt("108059500000"),k=await R(),I=F*BigInt(k.toString());return n.AssetValue.from({chain:n.Chain.Near,fromBaseDecimal:n.BaseDecimal[n.Chain.Near],value:I.toString()})}let b=Z?await Q():void 0;return yy(C,b)}async function R(){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(C,b,N){if(!Z)throw new n.SwapKitError("toolbox_near_no_signer");let E=await Q(),{utils:F}=await import("near-api-js"),k=F.format.parseNearAmount(N)||"0";return(await E.createAccount(C,F.PublicKey.fromString(b),BigInt(k))).transaction.hash}async function K(C){try{if(!Z)throw new n.SwapKitError("toolbox_near_no_signer");let{transactions:b}=await import("near-api-js"),{contractId:N,methodName:E,args:F,deposit:k}=C,I=await Q(),o=await yy({args:F||{},contractId:N,methodName:E}),i=b.functionCall(E,F||{},o.getBaseValue("bigint"),BigInt(k||"0"));return(await I.signAndSendTransaction({actions:[i],receiverId:N})).transaction_outcome.id}catch(b){throw new n.SwapKitError("toolbox_near_transfer_failed",{error:b})}}async function S(C){let b=await Q();return F0({account:b,changeMethods:C.changeMethods,contractId:C.contractId,viewMethods:C.viewMethods})}async function a(C){if(!Z)throw new n.SwapKitError("toolbox_near_no_signer");if(C.actions.length===0)throw new n.SwapKitError("toolbox_near_empty_batch");return(await(await Q()).signAndSendTransaction({actions:C.actions,receiverId:C.receiverId})).transaction.hash}async function g(C){let b=await Q();return d5({account:b,contractId:C})}async function yy(C,b){let N=await L(C).when(b5,()=>Zy.SIMPLE_TRANSFER).when(j5,(I)=>c5(I.methodName)).when(h5,(I)=>o5(I.actions)).when(n5,()=>Zy.ACCOUNT_CREATION).when(p5,()=>Zy.CONTRACT_DEPLOYMENT).when(m5,(I)=>{if(!b)throw new n.SwapKitError("toolbox_near_no_account");return I.customEstimator(b)}).otherwise(()=>{throw new n.SwapKitError("toolbox_near_invalid_gas_params")}),E=await Ty(),k=BigInt(N)*BigInt(1000000000000)*BigInt(E);return n.AssetValue.from({chain:n.Chain.Near,fromBaseDecimal:n.BaseDecimal[n.Chain.Near],value:k})}async function Ty(){try{return(await J.gasPrice(null)).gas_price||"100000000"}catch(C){return"100000000"}}return{broadcastTransaction:H,callFunction:K,createContract:S,createContractFunctionCall:G,createSubAccount:D,createTransaction:z,estimateGas:yy,estimateTransactionFee:M,executeBatchTransaction:a,getAddress:q,getBalance:sy(n.Chain.Near),getGasPrice:Ty,getPublicKey:async()=>Z?(await Z.getPublicKey()).toString():"",getSignerFromPhrase:(C)=>E0(C),getSignerFromPrivateKey:S5,nep141:g,provider:J,signTransaction:B,transfer:x,validateAddress:await gT()}}var n;var t5=$(()=>{n=require("@swapkit/helpers");vT();u5();g5()});var n2=$(()=>{t5()});var i5={};zy(i5,{tgasToGas:()=>u8,isSimpleTransfer:()=>b5,isCustomEstimator:()=>m5,isContractDeployment:()=>p5,isContractCall:()=>j5,isBatchTransaction:()=>h5,isAccountCreation:()=>n5,getValidateNearAddress:()=>gT,getNearToolbox:()=>j8,getNearSignerFromPrivateKey:()=>S5,getNearSignerFromPhrase:()=>E0,getFullAccessPublicKey:()=>v0,getContractMethodGas:()=>c5,gasToTGas:()=>b8,estimateBatchGas:()=>o5,createNearContract:()=>F0,createNEP141Token:()=>d5,GAS_COSTS:()=>Zy});module.exports=_y(i5);var r5=$(()=>{u5();g5();t5();n2()});var s5={};zy(s5,{rippleValidateAddress:()=>a5,hashes:()=>m2.hashes,getRippleToolbox:()=>n8});module.exports=_y(s5);function p2(T){let X=hy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(X.address),signTransaction:(L)=>Promise.resolve(X.sign(L))}}function a5(T){return hy.isValidAddress(T)}var p,hy,m2,h8,n8=async(T={})=>{let X="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?p2(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(B)=>{let H=B||await Z();try{let R=(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:R})]}catch(M){if(M.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:M}})}},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:B,recipient:H,memo:M,sender:R})=>{if(!a5(H))throw new p.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let D=R||await Z();if(!B.isGasAsset||B.chain!==p.Chain.Ripple)throw new p.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:B.toString()}});let K={Account:D,Amount:hy.xrpToDrops(B.getValue("string")),Destination:H,TransactionType:"Payment"};if(M)K.Memos=[{Memo:{MemoData:Buffer.from(M).toString("hex")}}];return await y.autofill(K)},q=(B)=>{if(!X)throw new p.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return X.signTransaction(B)},x=async(B)=>{let M=(await y.submitAndWait(B)).result;if(M.validated)return M.hash;throw new p.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:p.Chain.Ripple}})};return{broadcastTransaction:x,createSigner:p2,createTransaction:Q,disconnect:()=>y.disconnect(),estimateTransactionFee:J,getAddress:Z,getBalance:f,signer:X,signTransaction:q,transfer:async(B)=>{if(!X)throw new p.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let H=await X.getAddress(),M=await Q({...B,sender:H}),R=await q(M);return x(R.tx_blob)},validateAddress:a5}};var e5=$(()=>{p=require("@swapkit/helpers"),hy=require("xrpl"),m2=require("xrpl"),h8={ACCOUNT_NOT_FOUND:19}});var y1={};zy(y1,{radixValidateAddress:()=>o2,RadixToolbox:()=>g8});module.exports=_y(y1);function o2(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((B)=>B.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:o2}};var T1=$(()=>{vy=require("@swapkit/helpers")});var WT;var X1=$(()=>{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 g2(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 c2.SwapKitError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var c2,d8="https://api.trongrid.io";var d2=$(()=>{c2=require("@swapkit/helpers")});async function f1(){let T=await import("tronweb"),X=T.TronWeb??T.default?.TronWeb;return(L)=>{return X.isAddress(L)}}async function i2({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,dT,t8=268,i8=13000,r8=345,t2="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",a8="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",r2=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 dT.match(T).with({phrase:dT.P.string},async({phrase:N})=>s8({derivationPath:Q,phrase:N,tronWeb:f})).with({signer:dT.P.any},({signer:N})=>Promise.resolve(N)).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 N=await f.trx.getChainParameters(),E={};for(let F of N)E[F.key]=F.value;return{bandwidthFee:E.getTransactionFee||1000,createAccountFee:E.getCreateAccountFee||1e5,energyFee:E.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},B=async(N)=>{try{let E=await f.trx.getAccount(N);return E&&Object.keys(E).length>0}catch{return!1}},H=async(N)=>{try{let E=await f.trx.getAccountResources(N);return{bandwidth:{free:E.freeNetLimit-E.freeNetUsed,total:E.NetLimit||0,used:E.NetUsed||0},energy:{total:E.EnergyLimit||0,used:E.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},M=async(N,E)=>{try{let F=f.contract(WT,E);if(!F.methods?.balanceOf)return 0n;let[k]=await F.methods.balanceOf(N).call();return k?typeof k==="bigint"?k:BigInt(k):0n}catch(F){return console.warn(`balanceOf() failed for ${E}:`,F),0n}},R=async(N,E)=>{try{f.setAddress(E);let F=f.contract(WT,N),[k,I]=await Promise.all([F.symbol().call().catch(()=>"UNKNOWN"),F.decimals().call().catch(()=>"18")]);return{decimals:Number(I??18),symbol:k??"UNKNOWN"}}catch(F){return P.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${N}: ${F instanceof Error?F.message:F}`}),null}},D=async(N,E=!0)=>{let F=[P.AssetValue.from({chain:P.Chain.Tron})];try{let k=await g2(N);if(k){let I=[];I.push(P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:k.balance}));for(let o of k.trc20){let[i,d]=Object.entries(o)[0]||[];if(!(i&&d))continue;let r=await R(i,N);if(!r)continue;I.push(P.AssetValue.from({asset:`TRON.${r.symbol}-${i}`,fromBaseDecimal:r.decimals,value:BigInt(d||0)}))}return I}return F}catch(k){P.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${k instanceof Error?k.message:k}`});let I=[],o=await f.trx.getBalance(N);if(o&&Number(o)>0)I.push(P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:o}));let i=await M(N,t2);if(i)I.push(P.AssetValue.from({asset:`TRON.USDT-${t2}`,fromBaseDecimal:6,value:i}));return I}},K=async({recipient:N,assetValue:E,memo:F})=>{if(!q)throw new P.SwapKitError("toolbox_tron_no_signer");let k=await x();if(f.setAddress(k),E.isGasAsset){let r=await f.transactionBuilder.sendTrx(N,E.getBaseValue("number"),k);if(F){let Yy=await f.transactionBuilder.addUpdateData(r,F,"utf8"),Uy=await q.signTransaction(Yy),{txid:ry}=await f.trx.sendRawTransaction(Uy);return ry}let xy=await q.signTransaction(r),{txid:Xy}=await f.trx.sendRawTransaction(xy);return Xy}let o=await a({assetValue:E,memo:F,recipient:N,sender:k}),i=await q.signTransaction(o),{txid:d}=await f.trx.sendRawTransaction(i);if(!d)throw new P.SwapKitError("toolbox_tron_token_transfer_failed");return d},S=async({assetValue:N,recipient:E,sender:F})=>{let k=N.isGasAsset;try{let I=F?F:q?await x():void 0;if(!I)return k?P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:0,value:0.1}):P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:0,value:15});let o=await G(),d=await B(E)?0:o.createAccountFee,r=await H(I);if(k){let ay=t8,tT=r.bandwidth.free+(r.bandwidth.total-r.bandwidth.used),UT=0;if(ay>tT)UT=(ay-tT)*o.bandwidthFee;let s2=d+UT;return P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:s2})}let xy=r8,Xy=i8,Yy=r.bandwidth.free+(r.bandwidth.total-r.bandwidth.used),Uy=r.energy.total-r.energy.used,ry=0;if(xy>Yy)ry=(xy-Yy)*o.bandwidthFee;let YT=0;if(Xy>Uy)YT=(Xy-Uy)*o.energyFee;let $0=d+ry+YT;return P.AssetValue.from({chain:P.Chain.Tron,fromBaseDecimal:6,value:$0})}catch(I){throw P.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${I instanceof Error?I.message:I}`}),new P.SwapKitError("toolbox_tron_fee_estimation_failed",{error:I})}},a=async(N)=>{let{recipient:E,assetValue:F,memo:k,sender:I}=N;if(F.isGasAsset){let d=await f.transactionBuilder.sendTrx(E,F.getBaseValue("number"),I);if(k)return f.transactionBuilder.addUpdateData(d,k,"utf8");return d}f.setAddress(I);let i=F.address;if(!i)throw new P.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:F.toString()});try{let r=[{type:"address",value:E},{type:"uint256",value:F.getBaseValue("string")}],xy={callValue:0,feeLimit:z()},Xy=await f.transactionBuilder.triggerSmartContract(i,"transfer(address,uint256)",xy,r,I);if(k)return f.transactionBuilder.addUpdateData(Xy.transaction,k,"utf8");return Xy.transaction}catch(d){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:d instanceof Error?d.message:String(d)})}},g=async(N)=>{if(!q)throw new P.SwapKitError("toolbox_tron_no_signer");return await q.signTransaction(N)},yy=async(N)=>{let{txid:E}=await f.trx.sendRawTransaction(N);return E},Ty=async({assetAddress:N,spenderAddress:E,from:F})=>{try{let k=f.contract(WT,N);if(!k.methods?.allowance)throw new P.SwapKitError("toolbox_tron_invalid_token_contract");let[I]=await k.methods.allowance(F,E).call();return I?typeof I==="bigint"?I:BigInt(I):0n}catch(k){throw new P.SwapKitError("toolbox_tron_allowance_check_failed",{error:k})}};return{approve:async({assetAddress:N,spenderAddress:E,amount:F,from:k})=>{if(!q)throw new P.SwapKitError("toolbox_tron_no_signer");let I=k||await x(),o=F!==void 0?BigInt(F).toString():a8,i="approve(address,uint256)",d=[{type:"address",value:E},{type:"uint256",value:o}],xy={callValue:0,feeLimit:z()};try{let{transaction:Xy}=await f.transactionBuilder.triggerSmartContract(N,i,xy,d,I),Yy=await q.signTransaction(Xy),{txid:Uy}=await f.trx.sendRawTransaction(Yy);if(!Uy)throw new P.SwapKitError("toolbox_tron_approve_failed");return Uy}catch(Xy){throw new P.SwapKitError("toolbox_tron_approve_failed",{error:Xy})}},broadcastTransaction:yy,createTransaction:a,estimateTransactionFee:S,getAddress:x,getApprovedAmount:Ty,getBalance:D,isApproved:async({assetAddress:N,spenderAddress:E,from:F,amount:k})=>{let I=await Ty({assetAddress:N,from:F,spenderAddress:E});if(!k)return I>0n;let o=BigInt(k);return I>=o},signTransaction:g,transfer:K,tronWeb:f,validateAddress:await f1()}};var a2=$(()=>{P=require("@swapkit/helpers"),dT=require("ts-pattern");X1();d2()});var Z1={};zy(Z1,{trc20ABI:()=>WT,getTronPrivateKeyFromMnemonic:()=>i2,getTronAddressValidator:()=>f1,createTronToolbox:()=>r2});module.exports=_y(Z1);var L1=$(()=>{X1();a2()});var Tf={};zy(Tf,{getToolbox:()=>J1,getFeeEstimator:()=>yf,getAddressValidator:()=>e8});module.exports=_y(Tf);var U=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(() => (e1(),s1)),{substrateValidateAddress:y}=await Promise.resolve().then(() => (G5(),z5)),{getUTXOAddressValidator:Z}=await Promise.resolve().then(() => (v5(),E5)),{getSolanaAddressValidator:f}=await Promise.resolve().then(() => (A5(),K5)),{getValidateNearAddress:J}=await Promise.resolve().then(() => (r5(),i5)),{rippleValidateAddress:Q}=await Promise.resolve().then(() => (e5(),s5)),{radixValidateAddress:q}=await Promise.resolve().then(() => (T1(),y1)),{getTronAddressValidator:x}=await Promise.resolve().then(() => (L1(),Z1)),z=await f(),G=await Z(),B=await x(),H=await J();return function({address:R,chain:D}){return T(D).with(...U.EVMChains,()=>L({address:R})).with(...U.UTXOChains,()=>G({address:R,chain:D})).with(U.Chain.Cosmos,U.Chain.Kujira,U.Chain.Noble,U.Chain.Maya,U.Chain.THORChain,()=>X({address:R,chain:D})).with(U.Chain.Chainflip,U.Chain.Polkadot,()=>y({address:R,chain:D})).with(U.Chain.Radix,()=>q(R)).with(U.Chain.Near,()=>H(R)).with(U.Chain.Ripple,()=>Q(R)).with(U.Chain.Solana,()=>z(R)).with(U.Chain.Tron,()=>B(R)).otherwise(()=>!1)}}function yf(T){return async function(L){let{match:y}=await import("ts-pattern");return y(T).returnType().with(U.Chain.Arbitrum,U.Chain.Aurora,U.Chain.Avalanche,U.Chain.Base,U.Chain.Berachain,U.Chain.BinanceSmartChain,U.Chain.Ethereum,U.Chain.Gnosis,U.Chain.Optimism,U.Chain.Polygon,async(Z)=>{let f=await J1(Z),J=await f.createTransaction(L);return f.estimateTransactionFee({...J,chain:Z,feeOption:L.feeOptionKey||U.FeeOption.Fast})}).with(U.Chain.Bitcoin,U.Chain.BitcoinCash,U.Chain.Dogecoin,U.Chain.Dash,U.Chain.Litecoin,U.Chain.Polkadot,U.Chain.Solana,U.Chain.Ripple,U.Chain.Tron,U.Chain.Near,async(Z)=>{return(await J1(Z)).estimateTransactionFee(L)}).with(U.Chain.THORChain,U.Chain.Maya,U.Chain.Kujira,U.Chain.Noble,U.Chain.Cosmos,async()=>{let{estimateTransactionFee:Z}=await Promise.resolve().then(() => (eT(),sT));return Z(L)}).otherwise(async()=>U.AssetValue.from({chain:T}))}}async function J1(T,X){let{match:L}=await import("ts-pattern");return L(T).returnType().with(U.Chain.Arbitrum,U.Chain.Aurora,U.Chain.Avalanche,U.Chain.Base,U.Chain.Berachain,U.Chain.BinanceSmartChain,U.Chain.Ethereum,U.Chain.Gnosis,U.Chain.Optimism,U.Chain.Polygon,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (f5(),i1));return await y(T,X)}).with(U.Chain.Litecoin,U.Chain.Dash,U.Chain.Dogecoin,U.Chain.BitcoinCash,U.Chain.Bitcoin,U.Chain.Zcash,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (v5(),E5));return await y(T,X)}).with(U.Chain.Cosmos,U.Chain.Kujira,U.Chain.Noble,U.Chain.Maya,U.Chain.THORChain,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (eT(),sT));return await y(T,X)}).with(U.Chain.Chainflip,U.Chain.Polkadot,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (G5(),z5));return await y(T,X)}).with(U.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (T1(),y1));return await y(X)}).with(U.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (e5(),s5));return await y(X)}).with(U.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (A5(),K5));return await y(X)}).with(U.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (L1(),Z1));return await y(X)}).with(U.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (r5(),i5));return await y(X)}).otherwise(()=>{throw new U.SwapKitError("toolbox_not_supported",{chain:T})})}
|
|
1
|
+
var y2=Object.create;var{getPrototypeOf:T2,defineProperty:UT,getOwnPropertyNames:Q1,getOwnPropertyDescriptor:f2}=Object,x1=Object.prototype.hasOwnProperty;var H=(T,f,L)=>{L=T!=null?y2(T2(T)):{};let y=f||!T||!T.__esModule?UT(L,"default",{value:T,enumerable:!0}):L;for(let G of Q1(T))if(!x1.call(y,G))UT(y,G,{get:()=>T[G],enumerable:!0});return y},J1=new WeakMap,Uy=(T)=>{var f=J1.get(T),L;if(f)return f;if(f=UT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")Q1(T).map((y)=>!x1.call(f,y)&&UT(f,y,{get:()=>T[y],enumerable:!(L=f2(T,y))||L.enumerable}));return J1.set(T,f),f};var qy=(T,f)=>{for(var L in f)UT(T,L,{get:f[L],enumerable:!0,configurable:!0,set:(y)=>f[L]=()=>y})};var P=(T,f)=>()=>(T&&(f=T(T=0)),f);function NT(T){return Fy.base64.encode(Uint8Array.from(Fy.bech32.fromWords(Fy.bech32.decode(T).words)))}function CT(T,f="thor"){return Fy.bech32.encode(f,Fy.bech32.toWords(Fy.base64.decode(T)))}function X2(T){return iT.fromByteArray(T)}function G2(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new q1.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return iT.toByteArray(T)}var Fy,q1,iT;var A0=P(()=>{Fy=require("@scure/base"),q1=require("@swapkit/helpers"),iT=require("base64-js")});function Dy(T){switch(T){case w.Chain.Maya:return{amount:[],gas:"10000000000"};case w.Chain.THORChain:return{amount:[],gas:"500000000"};case w.Chain.Kujira:return B1;case w.Chain.Noble:return M1;default:return z1}}async function ky(T){let f=await import("@cosmjs/stargate"),L=f.StargateClient??f.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 OT(T,f,L={}){let y=await import("@cosmjs/stargate"),G=y.SigningStargateClient??y.default?.SigningStargateClient,X=y.GasPrice??y.default?.GasPrice,Z=typeof L==="string"?L:"0.0003uatom",J=typeof L==="string"?{}:L;return G.connectWithSigner(T,f,{gasPrice:X.fromString(Z),...J})}async function V0(T,f){let L=await import("@cosmjs/stargate");return(L.SigningStargateClient??L.default?.SigningStargateClient).offline(T,f)}async function l0({sender:T,recipient:f,assetValue:L,memo:y="",feeRate:G,sequence:X,accountNumber:Z}){let{chain:J,chainId:Q}=L,x=await w.getRPCUrl(J),_=await(await ky(x)).getAccount(T);if(!_)throw new w.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let z=w.AssetValue.from({chain:J}),M=Py(z.symbol),B=Dy(J),N=M&&G?{amount:[{amount:G.toString(),denom:M}],gas:B.gas}:B,O={amount:[{amount:L.getBaseValue("string"),denom:Py(L.symbol)}],fromAddress:T,toAddress:f};return{accountNumber:Z??_.accountNumber,chainId:Q,fee:N,memo:y,msgs:[{typeUrl:L2(J),value:O}],sequence:X??_.sequence}}var w,$0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",_1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",z1,B1,M1,Py=(T,f=!1)=>{if(f)return T.toLowerCase();switch(T){case"uUSK":case"USK":return $0;case"uYUM":case"YUM":return _1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},RT=({symbol:T,chain:f})=>{if(f===w.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${w.Chain.Maya}.${T}`).toUpperCase();if(f===w.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${w.Chain.THORChain}.${T}`:T).toUpperCase();return Py(T,!1)},L2=(T)=>{switch(T){case w.Chain.Maya:case w.Chain.THORChain:return"/types.MsgSend";case w.Chain.Cosmos:case w.Chain.Kujira:case w.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new w.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},Z2,K0=(T,f)=>{let L=Z2[T.toLowerCase()];if(!L)return w.AssetValue.from({asset:T,fromBaseDecimal:8,value:f});let{chain:y,asset:G,decimals:X}=L,Z=y?{chain:y}:{asset:G};return w.AssetValue.from({...Z,fromBaseDecimal:X,value:f})};var IT=P(()=>{w=require("@swapkit/helpers"),z1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},B1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},M1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};Z2={atom:{chain:w.Chain.Cosmos,decimals:w.BaseDecimal[w.Chain.Cosmos]},cacao:{chain:w.Chain.Maya,decimals:10},kuji:{chain:w.Chain.Kujira,decimals:w.BaseDecimal[w.Chain.Kujira]},maya:{asset:`${w.Chain.Maya}.${w.Chain.Maya}`,decimals:4},rune:{chain:w.Chain.THORChain,decimals:w.BaseDecimal[w.Chain.THORChain]},tcy:{asset:"THOR.TCY",decimals:w.BaseDecimal[w.Chain.THORChain]},uatom:{chain:w.Chain.Cosmos,decimals:w.BaseDecimal[w.Chain.Cosmos]},ukuji:{chain:w.Chain.Kujira,decimals:w.BaseDecimal[w.Chain.Kujira]},usdc:{chain:w.Chain.Noble,decimals:w.BaseDecimal[w.Chain.Noble]},uusdc:{chain:w.Chain.Noble,decimals:w.BaseDecimal[w.Chain.Noble]},"x/kuji":{asset:"THOR.KUJI",decimals:w.BaseDecimal[w.Chain.THORChain]},[$0.toLowerCase()]:{asset:`${w.Chain.Kujira}.USK`,decimals:w.BaseDecimal[w.Chain.Kujira]}}});var Y1={};qy(Y1,{$root:()=>U});var e,V,_y,D,U;var H1=P(()=>{e=H(require("protobufjs/minimal.js")),V=e.default.Reader,_y=e.default.Writer,D=e.default.util,U=e.default.roots.default||(e.default.roots.default={});U.common=(()=>{let T={};return T.Asset=(()=>{function f(L){if(L){for(let y=Object.keys(L),G=0;G<y.length;++G)if(L[y[G]]!=null)this[y[G]]=L[y[G]]}}return f.prototype.chain="",f.prototype.symbol="",f.prototype.ticker="",f.prototype.synth=!1,f.create=function(y){return new f(y)},f.encode=function(y,G){if(!G)G=_y.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))G.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))G.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))G.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))G.uint32(32).bool(y.synth);return G},f.encodeDelimited=function(y,G){return this.encode(y,G).ldelim()},f.decode=function(y,G){if(!(y instanceof V))y=V.create(y);let X=G===void 0?y.len:y.pos+G,Z=new U.common.Asset;while(y.pos<X){let J=y.uint32();switch(J>>>3){case 1:Z.chain=y.string();break;case 2:Z.symbol=y.string();break;case 3:Z.ticker=y.string();break;case 4:Z.synth=y.bool();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function(y){if(!(y instanceof V))y=new V(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!D.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!D.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!D.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},f.fromObject=function(y){if(y instanceof U.common.Asset)return y;let G=new U.common.Asset;if(y.chain!=null)G.chain=String(y.chain);if(y.symbol!=null)G.symbol=String(y.symbol);if(y.ticker!=null)G.ticker=String(y.ticker);if(y.synth!=null)G.synth=Boolean(y.synth);return G},f.toObject=function(y,G){if(!G)G={};let X={};if(G.defaults)X.chain="",X.symbol="",X.ticker="",X.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))X.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))X.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))X.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))X.synth=y.synth;return X},f.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},f})(),T.Coin=(()=>{function f(L){if(L){for(let y=Object.keys(L),G=0;G<y.length;++G)if(L[y[G]]!=null)this[y[G]]=L[y[G]]}}return f.prototype.asset=null,f.prototype.amount="",f.prototype.decimals=D.Long?D.Long.fromBits(0,0,!1):0,f.create=function(y){return new f(y)},f.encode=function(y,G){if(!G)G=_y.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))U.common.Asset.encode(y.asset,G.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))G.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))G.uint32(24).int64(y.decimals);return G},f.encodeDelimited=function(y,G){return this.encode(y,G).ldelim()},f.decode=function(y,G){if(!(y instanceof V))y=V.create(y);let X=G===void 0?y.len:y.pos+G,Z=new U.common.Coin;while(y.pos<X){let J=y.uint32();switch(J>>>3){case 1:Z.asset=U.common.Asset.decode(y,y.uint32());break;case 2:Z.amount=y.string();break;case 3:Z.decimals=y.int64();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function(y){if(!(y instanceof V))y=new V(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let G=U.common.Asset.verify(y.asset);if(G)return"asset."+G}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!D.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!D.isInteger(y.decimals)&&!(y.decimals&&D.isInteger(y.decimals.low)&&D.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},f.fromObject=function(y){if(y instanceof U.common.Coin)return y;let G=new U.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");G.asset=U.common.Asset.fromObject(y.asset)}if(y.amount!=null)G.amount=String(y.amount);if(y.decimals!=null){if(D.Long)(G.decimals=D.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")G.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")G.decimals=y.decimals;else if(typeof y.decimals==="object")G.decimals=new D.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return G},f.toObject=function(y,G){if(!G)G={};let X={};if(G.defaults)if(X.asset=null,X.amount="",D.Long){let Z=new D.Long(0,0,!1);X.decimals=G.longs===String?Z.toString():G.longs===Number?Z.toNumber():Z}else X.decimals=G.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))X.asset=U.common.Asset.toObject(y.asset,G);if(y.amount!=null&&y.hasOwnProperty("amount"))X.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")X.decimals=G.longs===String?String(y.decimals):y.decimals;else X.decimals=G.longs===String?D.Long.prototype.toString.call(y.decimals):G.longs===Number?new D.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return X},f.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},f})(),T.PubKeySet=(()=>{function f(L){if(L){for(let y=Object.keys(L),G=0;G<y.length;++G)if(L[y[G]]!=null)this[y[G]]=L[y[G]]}}return f.prototype.secp256k1="",f.prototype.ed25519="",f.create=function(y){return new f(y)},f.encode=function(y,G){if(!G)G=_y.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))G.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))G.uint32(18).string(y.ed25519);return G},f.encodeDelimited=function(y,G){return this.encode(y,G).ldelim()},f.decode=function(y,G){if(!(y instanceof V))y=V.create(y);let X=G===void 0?y.len:y.pos+G,Z=new U.common.PubKeySet;while(y.pos<X){let J=y.uint32();switch(J>>>3){case 1:Z.secp256k1=y.string();break;case 2:Z.ed25519=y.string();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function(y){if(!(y instanceof V))y=new V(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!D.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!D.isString(y.ed25519))return"ed25519: string expected"}return null},f.fromObject=function(y){if(y instanceof U.common.PubKeySet)return y;let G=new U.common.PubKeySet;if(y.secp256k1!=null)G.secp256k1=String(y.secp256k1);if(y.ed25519!=null)G.ed25519=String(y.ed25519);return G},f.toObject=function(y,G){if(!G)G={};let X={};if(G.defaults)X.secp256k1="",X.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))X.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))X.ed25519=y.ed25519;return X},f.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},f})(),T.Tx=(()=>{function f(L){if(this.coins=[],this.gas=[],L){for(let y=Object.keys(L),G=0;G<y.length;++G)if(L[y[G]]!=null)this[y[G]]=L[y[G]]}}return f.prototype.id="",f.prototype.chain="",f.prototype.fromAddress="",f.prototype.toAddress="",f.prototype.coins=D.emptyArray,f.prototype.gas=D.emptyArray,f.prototype.memo="",f.create=function(y){return new f(y)},f.encode=function(y,G){if(!G)G=_y.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))G.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))G.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))G.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))G.uint32(34).string(y.toAddress);if(y.coins?.length)for(let X=0;X<y.coins.length;++X)U.common.Coin.encode(y.coins[X],G.uint32(42).fork()).ldelim();if(y.gas?.length)for(let X=0;X<y.gas.length;++X)U.common.Coin.encode(y.gas[X],G.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))G.uint32(58).string(y.memo);return G},f.encodeDelimited=function(y,G){return this.encode(y,G).ldelim()},f.decode=function(y,G){if(!(y instanceof V))y=V.create(y);let X=G===void 0?y.len:y.pos+G,Z=new U.common.Tx;while(y.pos<X){let J=y.uint32();switch(J>>>3){case 1:Z.id=y.string();break;case 2:Z.chain=y.string();break;case 3:Z.fromAddress=y.string();break;case 4:Z.toAddress=y.string();break;case 5:if(!Z.coins?.length)Z.coins=[];Z.coins.push(U.common.Coin.decode(y,y.uint32()));break;case 6:if(!Z.gas?.length)Z.gas=[];Z.gas.push(U.common.Coin.decode(y,y.uint32()));break;case 7:Z.memo=y.string();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function(y){if(!(y instanceof V))y=new V(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!D.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!D.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!D.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!D.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 G=0;G<y.coins.length;++G){let X=U.common.Coin.verify(y.coins[G]);if(X)return"coins."+X}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let G=0;G<y.gas.length;++G){let X=U.common.Coin.verify(y.gas[G]);if(X)return"gas."+X}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!D.isString(y.memo))return"memo: string expected"}return null},f.fromObject=function(y){if(y instanceof U.common.Tx)return y;let G=new U.common.Tx;if(y.id!=null)G.id=String(y.id);if(y.chain!=null)G.chain=String(y.chain);if(y.fromAddress!=null)G.fromAddress=String(y.fromAddress);if(y.toAddress!=null)G.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");G.coins=[];for(let X=0;X<y.coins.length;++X){if(typeof y.coins[X]!=="object")throw TypeError(".common.Tx.coins: object expected");G.coins[X]=U.common.Coin.fromObject(y.coins[X])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");G.gas=[];for(let X=0;X<y.gas.length;++X){if(typeof y.gas[X]!=="object")throw TypeError(".common.Tx.gas: object expected");G.gas[X]=U.common.Coin.fromObject(y.gas[X])}}if(y.memo!=null)G.memo=String(y.memo);return G},f.toObject=function(y,G){if(!G)G={};let X={};if(G.arrays||G.defaults)X.coins=[],X.gas=[];if(G.defaults)X.id="",X.chain="",X.fromAddress="",X.toAddress="",X.memo="";if(y.id!=null&&y.hasOwnProperty("id"))X.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))X.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))X.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))X.toAddress=y.toAddress;if(y.coins?.length){X.coins=[];for(let Z=0;Z<y.coins.length;++Z)X.coins[Z]=U.common.Coin.toObject(y.coins[Z],G)}if(y.gas?.length){X.gas=[];for(let Z=0;Z<y.gas.length;++Z)X.gas[Z]=U.common.Coin.toObject(y.gas[Z],G)}if(y.memo!=null&&y.hasOwnProperty("memo"))X.memo=y.memo;return X},f.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},f})(),T.Fee=(()=>{function f(L){if(this.coins=[],L){for(let y=Object.keys(L),G=0;G<y.length;++G)if(L[y[G]]!=null)this[y[G]]=L[y[G]]}}return f.prototype.coins=D.emptyArray,f.prototype.poolDeduct="",f.create=function(y){return new f(y)},f.encode=function(y,G){if(!G)G=_y.create();if(y.coins?.length)for(let X=0;X<y.coins.length;++X)U.common.Coin.encode(y.coins[X],G.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))G.uint32(18).string(y.poolDeduct);return G},f.encodeDelimited=function(y,G){return this.encode(y,G).ldelim()},f.decode=function(y,G){if(!(y instanceof V))y=V.create(y);let X=G===void 0?y.len:y.pos+G,Z=new U.common.Fee;while(y.pos<X){let J=y.uint32();switch(J>>>3){case 1:if(!Z.coins?.length)Z.coins=[];Z.coins.push(U.common.Coin.decode(y,y.uint32()));break;case 2:Z.poolDeduct=y.string();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function(y){if(!(y instanceof V))y=new V(y);return this.decode(y,y.uint32())},f.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 G=0;G<y.coins.length;++G){let X=U.common.Coin.verify(y.coins[G]);if(X)return"coins."+X}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!D.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},f.fromObject=function(y){if(y instanceof U.common.Fee)return y;let G=new U.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");G.coins=[];for(let X=0;X<y.coins.length;++X){if(typeof y.coins[X]!=="object")throw TypeError(".common.Fee.coins: object expected");G.coins[X]=U.common.Coin.fromObject(y.coins[X])}}if(y.poolDeduct!=null)G.poolDeduct=String(y.poolDeduct);return G},f.toObject=function(y,G){if(!G)G={};let X={};if(G.arrays||G.defaults)X.coins=[];if(G.defaults)X.poolDeduct="";if(y.coins?.length){X.coins=[];for(let Z=0;Z<y.coins.length;++Z)X.coins[Z]=U.common.Coin.toObject(y.coins[Z],G)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))X.poolDeduct=y.poolDeduct;return X},f.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},f})(),T.ProtoUint=(()=>{function f(L){if(L){for(let y=Object.keys(L),G=0;G<y.length;++G)if(L[y[G]]!=null)this[y[G]]=L[y[G]]}}return f.prototype.value="",f.create=function(y){return new f(y)},f.encode=function(y,G){if(!G)G=_y.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))G.uint32(10).string(y.value);return G},f.encodeDelimited=function(y,G){return this.encode(y,G).ldelim()},f.decode=function(y,G){if(!(y instanceof V))y=V.create(y);let X=G===void 0?y.len:y.pos+G,Z=new U.common.ProtoUint;while(y.pos<X){let J=y.uint32();switch(J>>>3){case 1:Z.value=y.string();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function(y){if(!(y instanceof V))y=new V(y);return this.decode(y,y.uint32())},f.verify=function(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!D.isString(y.value))return"value: string expected"}return null},f.fromObject=function(y){if(y instanceof U.common.ProtoUint)return y;let G=new U.common.ProtoUint;if(y.value!=null)G.value=String(y.value);return G},f.toObject=function(y,G){if(!G)G={};let X={};if(G.defaults)X.value="";if(y.value!=null&&y.hasOwnProperty("value"))X.value=y.value;return X},f.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},f})(),T})();U.types=(()=>{let T={};return T.MsgDeposit=(()=>{function f(L){if(this.coins=[],L){for(let y=Object.keys(L),G=0;G<y.length;++G)if(L[y[G]]!=null)this[y[G]]=L[y[G]]}}return f.prototype.coins=D.emptyArray,f.prototype.memo="",f.prototype.signer=D.newBuffer([]),f.create=function(y){return new f(y)},f.encode=function(y,G){if(!G)G=_y.create();if(y.coins?.length)for(let X=0;X<y.coins.length;++X)U.common.Coin.encode(y.coins[X],G.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))G.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))G.uint32(26).bytes(y.signer);return G},f.encodeDelimited=function(y,G){return this.encode(y,G).ldelim()},f.decode=function(y,G){if(!(y instanceof V))y=V.create(y);let X=G===void 0?y.len:y.pos+G,Z=new U.types.MsgDeposit;while(y.pos<X){let J=y.uint32();switch(J>>>3){case 1:if(!Z.coins?.length)Z.coins=[];Z.coins.push(U.common.Coin.decode(y,y.uint32()));break;case 2:Z.memo=y.string();break;case 3:Z.signer=y.bytes();break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function(y){if(!(y instanceof V))y=new V(y);return this.decode(y,y.uint32())},f.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 G=0;G<y.coins.length;++G){let X=U.common.Coin.verify(y.coins[G]);if(X)return"coins."+X}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!D.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||D.isString(y.signer)))return"signer: buffer expected"}return null},f.fromObject=function(y){if(y instanceof U.types.MsgDeposit)return y;let G=new U.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");G.coins=[];for(let X=0;X<y.coins.length;++X){if(typeof y.coins[X]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");G.coins[X]=U.common.Coin.fromObject(y.coins[X])}}if(y.memo!=null)G.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")D.base64.decode(y.signer,G.signer=D.newBuffer(D.base64.length(y.signer)),0);else if(y.signer.length)G.signer=y.signer}return G},f.toObject=function(y,G){if(!G)G={};let X={};if(G.arrays||G.defaults)X.coins=[];if(G.defaults){if(X.memo="",G.bytes===String)X.signer="";else if(X.signer=[],G.bytes!==Array)X.signer=D.newBuffer(X.signer)}if(y.coins?.length){X.coins=[];for(let Z=0;Z<y.coins.length;++Z)X.coins[Z]=U.common.Coin.toObject(y.coins[Z],G)}if(y.memo!=null&&y.hasOwnProperty("memo"))X.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))X.signer=G.bytes===String?D.base64.encode(y.signer,0,y.signer.length):G.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return X},f.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},f})(),T.MsgSend=(()=>{function f(L){if(this.amount=[],L){for(let y=Object.keys(L),G=0;G<y.length;++G)if(L[y[G]]!=null)this[y[G]]=L[y[G]]}}return f.prototype.fromAddress=D.newBuffer([]),f.prototype.toAddress=D.newBuffer([]),f.prototype.amount=D.emptyArray,f.create=function(y){return new f(y)},f.encode=function(y,G){if(!G)G=_y.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))G.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))G.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let X=0;X<y.amount.length;++X)U.cosmos.base.v1beta1.Coin.encode(y.amount[X],G.uint32(26).fork()).ldelim();return G},f.encodeDelimited=function(y,G){return this.encode(y,G).ldelim()},f.decode=function(y,G){if(!(y instanceof V))y=V.create(y);let X=G===void 0?y.len:y.pos+G,Z=new U.types.MsgSend;while(y.pos<X){let J=y.uint32();switch(J>>>3){case 1:Z.fromAddress=y.bytes();break;case 2:Z.toAddress=y.bytes();break;case 3:if(!Z.amount?.length)Z.amount=[];Z.amount.push(U.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(J&7);break}}return Z},f.decodeDelimited=function(y){if(!(y instanceof V))y=new V(y);return this.decode(y,y.uint32())},f.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"||D.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||D.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 G=0;G<y.amount.length;++G){let X=U.cosmos.base.v1beta1.Coin.verify(y.amount[G]);if(X)return"amount."+X}}return null},f.fromObject=function(y){if(y instanceof U.types.MsgSend)return y;let G=new U.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")D.base64.decode(y.fromAddress,G.fromAddress=D.newBuffer(D.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)G.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")D.base64.decode(y.toAddress,G.toAddress=D.newBuffer(D.base64.length(y.toAddress)),0);else if(y.toAddress.length)G.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");G.amount=[];for(let X=0;X<y.amount.length;++X){if(typeof y.amount[X]!=="object")throw TypeError(".types.MsgSend.amount: object expected");G.amount[X]=U.cosmos.base.v1beta1.Coin.fromObject(y.amount[X])}}return G},f.toObject=function(y,G){if(!G)G={};let X={};if(G.arrays||G.defaults)X.amount=[];if(G.defaults){if(G.bytes===String)X.fromAddress="";else if(X.fromAddress=[],G.bytes!==Array)X.fromAddress=D.newBuffer(X.fromAddress);if(G.bytes===String)X.toAddress="";else if(X.toAddress=[],G.bytes!==Array)X.toAddress=D.newBuffer(X.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))X.fromAddress=G.bytes===String?D.base64.encode(y.fromAddress,0,y.fromAddress.length):G.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))X.toAddress=G.bytes===String?D.base64.encode(y.toAddress,0,y.toAddress.length):G.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){X.amount=[];for(let Z=0;Z<y.amount.length;++Z)X.amount[Z]=U.cosmos.base.v1beta1.Coin.toObject(y.amount[Z],G)}return X},f.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},f})(),T})();U.cosmos=(()=>{let T={};return T.base=(()=>{let f={};return f.v1beta1=(()=>{let L={};return L.Coin=(()=>{function y(G){if(G){for(let X=Object.keys(G),Z=0;Z<X.length;++Z)if(G[X[Z]]!=null)this[X[Z]]=G[X[Z]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(X){return new y(X)},y.encode=function(X,Z){if(!Z)Z=_y.create();if(X.denom!=null&&Object.hasOwnProperty.call(X,"denom"))Z.uint32(10).string(X.denom);if(X.amount!=null&&Object.hasOwnProperty.call(X,"amount"))Z.uint32(18).string(X.amount);return Z},y.encodeDelimited=function(X,Z){return this.encode(X,Z).ldelim()},y.decode=function(X,Z){if(!(X instanceof V))X=V.create(X);let J=Z===void 0?X.len:X.pos+Z,Q=new U.cosmos.base.v1beta1.Coin;while(X.pos<J){let x=X.uint32();switch(x>>>3){case 1:Q.denom=X.string();break;case 2:Q.amount=X.string();break;default:X.skipType(x&7);break}}return Q},y.decodeDelimited=function(X){if(!(X instanceof V))X=new V(X);return this.decode(X,X.uint32())},y.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.denom!=null&&X.hasOwnProperty("denom")){if(!D.isString(X.denom))return"denom: string expected"}if(X.amount!=null&&X.hasOwnProperty("amount")){if(!D.isString(X.amount))return"amount: string expected"}return null},y.fromObject=function(X){if(X instanceof U.cosmos.base.v1beta1.Coin)return X;let Z=new U.cosmos.base.v1beta1.Coin;if(X.denom!=null)Z.denom=String(X.denom);if(X.amount!=null)Z.amount=String(X.amount);return Z},y.toObject=function(X,Z){if(!Z)Z={};let J={};if(Z.defaults)J.denom="",J.amount="";if(X.denom!=null&&X.hasOwnProperty("denom"))J.denom=X.denom;if(X.amount!=null&&X.hasOwnProperty("amount"))J.amount=X.amount;return J},y.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},y})(),L.DecCoin=(()=>{function y(G){if(G){for(let X=Object.keys(G),Z=0;Z<X.length;++Z)if(G[X[Z]]!=null)this[X[Z]]=G[X[Z]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function(X){return new y(X)},y.encode=function(X,Z){if(!Z)Z=_y.create();if(X.denom!=null&&Object.hasOwnProperty.call(X,"denom"))Z.uint32(10).string(X.denom);if(X.amount!=null&&Object.hasOwnProperty.call(X,"amount"))Z.uint32(18).string(X.amount);return Z},y.encodeDelimited=function(X,Z){return this.encode(X,Z).ldelim()},y.decode=function(X,Z){if(!(X instanceof V))X=V.create(X);let J=Z===void 0?X.len:X.pos+Z,Q=new U.cosmos.base.v1beta1.DecCoin;while(X.pos<J){let x=X.uint32();switch(x>>>3){case 1:Q.denom=X.string();break;case 2:Q.amount=X.string();break;default:X.skipType(x&7);break}}return Q},y.decodeDelimited=function(X){if(!(X instanceof V))X=new V(X);return this.decode(X,X.uint32())},y.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.denom!=null&&X.hasOwnProperty("denom")){if(!D.isString(X.denom))return"denom: string expected"}if(X.amount!=null&&X.hasOwnProperty("amount")){if(!D.isString(X.amount))return"amount: string expected"}return null},y.fromObject=function(X){if(X instanceof U.cosmos.base.v1beta1.DecCoin)return X;let Z=new U.cosmos.base.v1beta1.DecCoin;if(X.denom!=null)Z.denom=String(X.denom);if(X.amount!=null)Z.amount=String(X.amount);return Z},y.toObject=function(X,Z){if(!Z)Z={};let J={};if(Z.defaults)J.denom="",J.amount="";if(X.denom!=null&&X.hasOwnProperty("denom"))J.denom=X.denom;if(X.amount!=null&&X.hasOwnProperty("amount"))J.amount=X.amount;return J},y.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},y})(),L.IntProto=(()=>{function y(G){if(G){for(let X=Object.keys(G),Z=0;Z<X.length;++Z)if(G[X[Z]]!=null)this[X[Z]]=G[X[Z]]}}return y.prototype.int="",y.create=function(X){return new y(X)},y.encode=function(X,Z){if(!Z)Z=_y.create();if(X.int!=null&&Object.hasOwnProperty.call(X,"int"))Z.uint32(10).string(X.int);return Z},y.encodeDelimited=function(X,Z){return this.encode(X,Z).ldelim()},y.decode=function(X,Z){if(!(X instanceof V))X=V.create(X);let J=Z===void 0?X.len:X.pos+Z,Q=new U.cosmos.base.v1beta1.IntProto;while(X.pos<J){let x=X.uint32();switch(x>>>3){case 1:Q.int=X.string();break;default:X.skipType(x&7);break}}return Q},y.decodeDelimited=function(X){if(!(X instanceof V))X=new V(X);return this.decode(X,X.uint32())},y.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.int!=null&&X.hasOwnProperty("int")){if(!D.isString(X.int))return"int: string expected"}return null},y.fromObject=function(X){if(X instanceof U.cosmos.base.v1beta1.IntProto)return X;let Z=new U.cosmos.base.v1beta1.IntProto;if(X.int!=null)Z.int=String(X.int);return Z},y.toObject=function(X,Z){if(!Z)Z={};let J={};if(Z.defaults)J.int="";if(X.int!=null&&X.hasOwnProperty("int"))J.int=X.int;return J},y.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},y})(),L.DecProto=(()=>{function y(G){if(G){for(let X=Object.keys(G),Z=0;Z<X.length;++Z)if(G[X[Z]]!=null)this[X[Z]]=G[X[Z]]}}return y.prototype.dec="",y.create=function(X){return new y(X)},y.encode=function(X,Z){if(!Z)Z=_y.create();if(X.dec!=null&&Object.hasOwnProperty.call(X,"dec"))Z.uint32(10).string(X.dec);return Z},y.encodeDelimited=function(X,Z){return this.encode(X,Z).ldelim()},y.decode=function(X,Z){if(!(X instanceof V))X=V.create(X);let J=Z===void 0?X.len:X.pos+Z,Q=new U.cosmos.base.v1beta1.DecProto;while(X.pos<J){let x=X.uint32();switch(x>>>3){case 1:Q.dec=X.string();break;default:X.skipType(x&7);break}}return Q},y.decodeDelimited=function(X){if(!(X instanceof V))X=new V(X);return this.decode(X,X.uint32())},y.verify=function(X){if(typeof X!=="object"||X===null)return"object expected";if(X.dec!=null&&X.hasOwnProperty("dec")){if(!D.isString(X.dec))return"dec: string expected"}return null},y.fromObject=function(X){if(X instanceof U.cosmos.base.v1beta1.DecProto)return X;let Z=new U.cosmos.base.v1beta1.DecProto;if(X.dec!=null)Z.dec=String(X.dec);return Z},y.toObject=function(X,Z){if(!Z)Z={};let J={};if(Z.defaults)J.dec="";if(X.dec!=null&&X.hasOwnProperty("dec"))J.dec=X.dec;return J},y.prototype.toJSON=function(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},y})(),L})(),f})(),T})()});async function ny(){let{$root:T}=await Promise.resolve().then(() => (H1(),Y1)),f=await import("@cosmjs/proto-signing"),L=f.Registry??f.default?.Registry,y=await import("@cosmjs/stargate"),G=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new L([...G,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Ay(T){let f=await import("@cosmjs/stargate"),L=f.AminoTypes??f.default?.AminoTypes,y=T===W1.Chain.THORChain?"thorchain":"mayachain";return new L({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:G,...X})=>({...X,signer:NT(G)}),toAmino:({signer:G,...X})=>({...X,signer:CT(G)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:G,to_address:X,...Z})=>({...Z,fromAddress:NT(G),toAddress:NT(X)}),toAmino:({fromAddress:G,toAddress:X,...Z})=>({...Z,from_address:CT(G),to_address:CT(X)})}})}var W1;var S0=P(()=>{W1=require("@swapkit/helpers");A0()});function j0(T){return function(L){let{assetValue:y,recipient:G,memo:X,sender:Z,asSignable:J,asAminoMessage:Q}=L;if(G)return N1(T)({asAminoMessage:Q,asSignable:J,assetValue:y,memo:X,recipient:G,sender:Z});return C1(T)({asAminoMessage:Q,asSignable:J,assetValue:y,memo:X,sender:Z})}}function Vy(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((f)=>{let L=zy.AssetValue.from({asset:f.asset}),y=(L.isSynthetic?L.symbol.split("/")?.[1]:L.symbol)?.toUpperCase(),G=(L.isSynthetic?L.symbol.split("/")?.[0]:L.chain)?.toUpperCase();return{...f,asset:{chain:G,symbol:y,synth:L.isSynthetic,ticker:L.ticker}}})}}}async function DT({chain:T,memo:f,msgs:L}){let y=await ny(),G=await Ay(T),X={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:f,messages:L.map((Z)=>G.fromAmino(Z))}};return y.encode(X)}var zy,J2,Q2,u0=({sender:T,recipient:f,assetValue:L})=>{return{type:`${L.chain===zy.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:L.getBaseValue("string"),denom:Py(L.symbol,!0)}],from_address:T,to_address:f}}},b0=({sender:T,assetValue:f,memo:L=""})=>{return{type:`${f.chain===zy.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:f.getBaseValue("string"),asset:RT(f)}],memo:L,signer:T}}},rT=({sender:T,recipient:f,assetValue:L,memo:y})=>{return!f?b0({assetValue:L,memo:y,sender:T}):u0({assetValue:L,recipient:f,sender:T})},$y=async(T,f)=>{return(await Ay(f)).fromAmino(T)},U1=async({rpcUrl:T,sender:f})=>{let y=await(await ky(T)).getAccount(f);if(!y)throw new zy.SwapKitError("toolbox_cosmos_account_not_found",{sender:f});return y},N1=(T)=>async({sender:f,recipient:L,assetValue:y,memo:G="",asSignable:X=!0,asAminoMessage:Z=!1,sequence:J,accountNumber:Q})=>{let x=await U1({rpcUrl:T,sender:f}),q=y.chain,_=u0({assetValue:y,recipient:L,sender:f}),z=X?await $y(Z?_:Vy(_),q):_;return{accountNumber:Q||x.accountNumber,chainId:zy.ChainToChainId[q],fee:Dy(y.chain),memo:G,msgs:[z],sequence:J||x.sequence}},C1=(T)=>async({sender:f,assetValue:L,memo:y="",asSignable:G=!0,asAminoMessage:X=!1,sequence:Z,accountNumber:J})=>{let Q=await U1({rpcUrl:T,sender:f}),x=L.chain,q=b0({assetValue:L,memo:y,sender:f}),_=G?await $y(X?q:Vy(q),x):q;return{accountNumber:J||Q.accountNumber,chainId:zy.ChainToChainId[x],fee:Dy(L.chain),memo:y,msgs:[_],sequence:Z||Q.sequence}};var R1=P(()=>{zy=require("@swapkit/helpers");IT();S0();J2=Dy(zy.Chain.THORChain).gas,Q2=Dy(zy.Chain.Maya).gas});var O1=()=>{};var I1=P(()=>{O1()});var h0=P(()=>{A0();R1();S0();I1()});async function m0(T,f){try{let y=(await p0.SwapKitApi.getGasRate()).find((G)=>G.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(L){return f}}async function n0({phrase:T,prefix:f,...L}){let y=await import("@cosmjs/proto-signing"),G=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,X=await import("@cosmjs/crypto"),Z=X.stringToPath??X.default?.stringToPath,J="derivationPath"in L?L.derivationPath:`${k.DerivationPath[L.chain]}/${L.index}`;return G.fromMnemonic(T,{hdPaths:[Z(J)],prefix:f})}async function x2({privateKey:T,prefix:f}){let L=await import("@cosmjs/proto-signing");return(L.DirectSecp256k1Wallet??L.default?.DirectSecp256k1Wallet).fromKey(T,f)}function w1(T){return async function({signature:L,message:y,address:G}){let X=await T(G);if(!X?.pubkey)throw new k.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let Z=await import("@cosmjs/crypto"),J=Z.Secp256k1Signature??Z.default?.Secp256k1Signature,Q=Z.Secp256k1??Z.default?.Secp256k1,x=J.fromFixedLength(ly.base64.decode(L));return Q.verifySignature(x,ly.base64.decode(y),X.pubkey.value)}}async function ET({chain:T,...f}){let L=await k.getRPCUrl(T),y=k.CosmosChainPrefixes[T],G="index"in f?f.index||0:0,X=k.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:k.updateDerivationPath(k.NetworkDerivationPath[T],{index:G})),Z=await kT.match(f).with({phrase:kT.P.string},({phrase:_})=>n0({derivationPath:X,phrase:_,prefix:y})).with({signer:kT.P.any},({signer:_})=>_).otherwise(()=>{return});async function J(_){return(await ky(L)).getAccount(_)}async function Q(){let[_]=await Z?.getAccounts()||[];return _?.address}async function x(){let[_]=await Z?.getAccounts()||[];if(!_?.pubkey)throw new k.SwapKitError("toolbox_cosmos_signer_not_defined");return ly.base64.encode(_?.pubkey)}async function q({recipient:_,assetValue:z,memo:M="",feeRate:B,feeOptionKey:N=k.FeeOption.Fast}){let O=await Q();if(!(Z&&O))throw new k.SwapKitError("toolbox_cosmos_signer_not_defined");let l=k.AssetValue.from({chain:T}),S=RT(l),a=B||M2((await k1(T,D1[T]))[N],S),g=await OT(L,Z),yy=[{amount:z.getBaseValue("string"),denom:Py(`u${z.symbol}`).toLowerCase()}],{transactionHash:Xy}=await g.sendTokens(O,_,yy,a,M);return Xy}return{createPrivateKeyFromPhrase:H2(X),createTransaction:l0,fetchFeeRateFromSwapKit:m0,getAccount:J,getAddress:Q,getBalance:async(_,z)=>{let M=await E1(L)(_);return await Promise.all(M.filter(({denom:B})=>B&&!B.includes("IBC/")).map(({denom:B,amount:N})=>{let O=[k.Chain.THORChain,k.Chain.Maya].includes(T)&&(B.includes("/")||B.includes("˜"))?`${T}.${B}`:B;return K0(O,N)}))},getBalanceAsDenoms:E1(L),getFees:()=>k1(T,D1[T]),getPubKey:x,getSignerFromPhrase:async({phrase:_,derivationPath:z})=>n0({derivationPath:k.derivationPathToString(z),index:G,phrase:_,prefix:y}),getSignerFromPrivateKey:async(_)=>{let z=await import("@cosmjs/proto-signing");return(z.DirectSecp256k1Wallet??z.default?.DirectSecp256k1Wallet).fromKey(_,y)},transfer:q,validateAddress:F1(y),verifySignature:w1(J)}}async function v1(T,f){try{let y=(await p0.SwapKitApi.getGasRate()).find((G)=>G.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(L){return f}}function _2({address:T,chain:f,prefix:L}){let y=L||B2(f);if(!(y&&T))throw new k.SwapKitError("toolbox_cosmos_validate_address_prefix_not_found");return F1(y)(T)}function z2({assetValue:{chain:T}}){return k.AssetValue.from({chain:T,value:Y2(T)})}function B2(T){let{isStagenet:f}=k.SKConfig.get("envs"),L=T?[k.Chain.THORChain,k.Chain.Maya].includes(T)&&f:!1,y=T?k.CosmosChainPrefixes[T]:void 0;return L?`s${y}`:y}async function k1(T,f){let L=await m0(k.ChainToChainId[T],f);return{average:k.SwapKitNumber.fromBigInt(BigInt(L),k.BaseDecimal[T]),fast:k.SwapKitNumber.fromBigInt(BigInt(k.applyFeeMultiplier(L,k.FeeOption.Fast,!0)),k.BaseDecimal[T]),fastest:k.SwapKitNumber.fromBigInt(BigInt(k.applyFeeMultiplier(L,k.FeeOption.Fastest,!0)),k.BaseDecimal[T])}}function M2(T,f){return{amount:[{amount:T.getBaseValue("string"),denom:f}],gas:"200000"}}function Y2(T){return{[k.Chain.Cosmos]:0.007,[k.Chain.Kujira]:0.02,[k.Chain.Noble]:0.01,[k.Chain.THORChain]:0.02,[k.Chain.Maya]:0.02}[T]||0}function F1(T){return function(L){if(!L.startsWith(T))return!1;try{let{prefix:y,words:G}=ly.bech32.decode(L);return ly.bech32.encode(y,G)===L.toLocaleLowerCase()}catch(y){return!1}}}function E1(T){return async function(L){return(await(await ky(T)).getAllBalances(L)).map((Z)=>({...Z,denom:Z.denom.includes("/")?Z.denom.toUpperCase():Z.denom}))}}function H2(T){return async function(L){let y=await import("@cosmjs/crypto"),G=y.stringToPath??y.default?.stringToPath,X=y.Slip10Curve??y.default?.Slip10Curve,Z=y.Slip10??y.default?.Slip10,J=y.EnglishMnemonic??y.default?.EnglishMnemonic,Q=y.Bip39??y.default?.Bip39,x=new J(L),q=await Q.mnemonicToSeed(x),{privkey:_}=Z.derivePath(X.Secp256k1,q,G(T));return _}}var ly,k,p0,kT,D1,q2;var aT=P(()=>{ly=require("@scure/base"),k=require("@swapkit/helpers"),p0=require("@swapkit/helpers/api"),kT=require("ts-pattern");IT();D1={[k.Chain.Cosmos]:500,[k.Chain.Kujira]:1000,[k.Chain.Noble]:1000,[k.Chain.THORChain]:5000000,[k.Chain.Maya]:5000000};q2=v1});function W2({prefix:T,derivationPath:f}){return async function(y,G=0){let X=await import("@cosmjs/amino"),Z=X.Secp256k1HdWallet??X.default?.Secp256k1HdWallet,J=await import("@cosmjs/crypto"),Q=J.stringToPath??J.default?.stringToPath;return Z.fromMnemonic(y,{hdPaths:[Q(`${f}/${G}`)],prefix:T})}}function U2(T){return Ky.base64.encode(T)}function N2(T){return async function({wallet:L,tx:y}){let{msgs:G,accountNumber:X,sequence:Z,chainId:J,fee:Q,memo:x}=typeof y==="string"?JSON.parse(y):y,q=(await L.getAccounts())?.[0]?.address||"",_=await Ay(T),z=await ny(),M=await V0(L,{aminoTypes:_,registry:z}),B=[];for(let l of G){let S=await $y(l,T);B.push(S)}let{signatures:[N]}=await M.sign(q,B,Q,x,{accountNumber:X,chainId:J,sequence:Z});return{bodyBytes:await DT({chain:T,memo:x,msgs:G.map(Vy)}),signature:U2(N)}}}function C2({prefix:T,rpcUrl:f}){return async function(y,G,X,Z,J){let{encodeSecp256k1Pubkey:Q,pubkeyToAddress:x}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:q}=(await import("@cosmjs/stargate")).default,{sequence:_,fee:z}=JSON.parse(y),M=await P1(X,Z),B=G.map((l)=>[x(Q(Ky.base64.decode(l.pubKey)),T),Ky.base64.decode(l.signature)]),N=await ky(f),{transactionHash:O}=await N.broadcastTx(q(M,_,z,J,new Map(B)));return O}}async function P1(T,f,L=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:G}=(await import("@cosmjs/amino")).default;return y(T.map((X)=>G(Ky.base64.decode(X))),f,L)}function R2(T){return Ky.base64.decode(T)}async function O2({privateKey:T,message:f}){let{Secp256k1:L}=(await import("@cosmjs/crypto")).default,y=await L.createSignature(Ky.base64.decode(f),T);return Ky.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function o0({chain:T,...f}){let L=m.SKConfig.get("nodeUrls")[T],y=await m.getRPCUrl(T),{isStagenet:G}=m.SKConfig.get("envs"),X=T===m.Chain.THORChain,Z=`${G?"s":""}${m.CosmosChainPrefixes[T]}`,J="index"in f?f.index||0:0,Q="derivationPath"in f&&f.derivationPath?f.derivationPath:m.updateDerivationPath(m.NetworkDerivationPath[T],{index:J}),x=await ET({chain:T,...f}),q=await wT.match(f).with({phrase:wT.P.string},({phrase:B})=>x.getSignerFromPhrase({derivationPath:Q,phrase:B})).with({signer:wT.P.any},({signer:B})=>B).otherwise(()=>{return}),_=Dy(T);async function z(){let B,N=`${L}/${X?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:O}}=await m.RequestClient.get(N);if(!O||Number.isNaN(O)||O<0)throw new m.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:O.toString()});B=new m.SwapKitNumber(O)}catch{B=new m.SwapKitNumber({decimal:m.BaseDecimal[T],value:X?0.02:1})}return{[m.FeeOption.Average]:B,[m.FeeOption.Fast]:B,[m.FeeOption.Fastest]:B}}async function M({assetValue:B,memo:N="",recipient:O}){let{TxRaw:l}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),S=(await q?.getAccounts())?.[0]?.address;if(!(S&&q))throw new m.SwapKitError("toolbox_cosmos_no_signer");let a="signAmino"in q,g=await ny(),yy=await Ay(T),Xy=await OT(y,q,{aminoTypes:yy,registry:g}),I=rT({assetValue:B,memo:N,recipient:O,sender:S});if(a){let E=await $y(I,T),{signatures:R,authInfoBytes:F}=await Xy.sign(S,[E],_,N),o=l.encode({authInfoBytes:F,bodyBytes:await DT({chain:T,memo:N,msgs:[I].map(Vy)}),signatures:R}).finish();return(await Xy.broadcastTx(o)).transactionHash}let b=Vy(I),C=await $y(b,T);return(await Xy.signAndBroadcast(S,[C],_,N)).transactionHash}return{...x,broadcastMultisigTx:C2({prefix:Z,rpcUrl:y}),buildAminoMsg:rT,buildEncodedTxBody:DT,convertToSignable:$y,createDefaultAminoTypes:()=>Ay(T),createDefaultRegistry:ny,createMultisig:P1,createTransaction:j0(y),deposit:M,getFees:z,importSignature:R2,parseAminoMessageForDirectSigning:Vy,pubkeyToAddress:async(B)=>{let{pubkeyToAddress:N}=(await import("@cosmjs/amino")).default;return N(B,Z)},secp256k1HdWalletFromMnemonic:W2({derivationPath:m.derivationPathToString(Q),prefix:Z}),signMultisigTx:N2(T),signWithPrivateKey:O2,transfer:M}}var Ky,m,wT;var c0=P(()=>{Ky=require("@scure/base"),m=require("@swapkit/helpers"),wT=require("ts-pattern");h0();IT();aT()});var Sy,I2=(T,f)=>{switch(T){case Sy.Chain.Cosmos:case Sy.Chain.Kujira:case Sy.Chain.Noble:return ET({chain:T,...f});case Sy.Chain.Maya:case Sy.Chain.THORChain:return o0({chain:T,...f});default:throw new Sy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var A1=P(()=>{Sy=require("@swapkit/helpers");aT();c0();aT();c0()});var sT={};qy(sT,{verifySignature:()=>w1,transferMsgAmino:()=>u0,toBase64:()=>X2,parseAminoMessageForDirectSigning:()=>Vy,getSignerFromPrivateKey:()=>x2,getSignerFromPhrase:()=>n0,getMsgSendDenom:()=>Py,getFeeRateFromThorswap:()=>q2,getFeeRateFromSwapKit:()=>v1,getDenomWithChain:()=>RT,getDefaultChainFee:()=>Dy,getCreateTransaction:()=>j0,getCosmosToolbox:()=>I2,getAssetFromDenom:()=>K0,fromBase64:()=>G2,fetchFeeRateFromSwapKit:()=>m0,estimateTransactionFee:()=>z2,depositMsgAmino:()=>b0,createThorchainToolbox:()=>o0,createStargateClient:()=>ky,createSigningStargateClient:()=>OT,createOfflineStargateClient:()=>V0,createDefaultRegistry:()=>ny,createDefaultAminoTypes:()=>Ay,createCosmosToolbox:()=>ET,cosmosValidateAddress:()=>_2,cosmosCreateTransaction:()=>l0,convertToSignable:()=>$y,buildTransferTx:()=>N1,buildEncodedTxBody:()=>DT,buildDepositTx:()=>C1,buildAminoMsg:()=>rT,bech32ToBase64:()=>NT,base64ToBech32:()=>CT,YUM_KUJIRA_FACTORY_DENOM:()=>_1,USK_KUJIRA_FACTORY_DENOM:()=>$0,THORCHAIN_GAS_VALUE:()=>J2,MAYA_GAS_VALUE:()=>Q2,DEFAULT_NOBLE_FEE_MAINNET:()=>M1,DEFAULT_KUJI_FEE_MAINNET:()=>B1,DEFAULT_COSMOS_FEE_MAINNET:()=>z1});module.exports=Uy(sT);var eT=P(()=>{h0();A1();IT()});function V1(){function T(){let f=Date.now(),L=g0||f;return g0=L,f>g0?f:L+1}return D2+T().toString(36)}function sy(T){return async function(L,y=!0){return(await $1.SwapKitApi.getChainBalance({address:L,chain:T,scamFilter:y})).map(({identifier:X,value:Z,decimal:J})=>{return new y0.AssetValue({decimal:J||y0.BaseDecimal[T],identifier:X,value:Z})})}}var y0,$1,D2,g0=0;var vT=P(()=>{y0=require("@swapkit/helpers"),$1=require("@swapkit/helpers/api"),D2=typeof process<"u"&&process.pid?process.pid.toString(36):""});function FT(T){let f=T0.SKConfig.get("apis")[T];if(f)return T0.warnOnce({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),f;return E2(T)}function k2(T){return T}function E2(T){return{getBalance:sy(T)}}var T0;var f0=P(()=>{T0=require("@swapkit/helpers");vT()});async function py(T,f){let{JsonRpcProvider:L}=await import("ethers");return new L(f||await h.getRPCUrl(T))}function PT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function t0(T){return()=>h.Chain.Ethereum===T?void 0:{...w2({chain:T}),blockExplorerUrls:[h.ChainToExplorerUrl[T]],chainId:h.ChainToHexChainId[T],rpcUrls:[h.SKConfig.get("rpcUrls")[T]]}}function d0(T){return![h.Chain.Arbitrum,h.Chain.BinanceSmartChain].includes(T)}function w2({chain:T}){let f=h.BaseDecimal[T];switch(T){case h.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:h.Chain.Ethereum}};case h.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:h.Chain.Ethereum}};case h.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:T}};case h.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:h.Chain.Ethereum}};case h.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}};case h.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}};case h.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}};case h.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:h.Chain.Ethereum}};case h.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:h.Chain.Polygon}};default:throw new h.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var h;var ey=P(()=>{h=require("@swapkit/helpers")});var l1;var K1=P(()=>{l1=[{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 TT({chain:T=Y.Chain.Ethereum,provider:f,signer:L,isEIP1559Compatible:y=!0}){return{approve:A2({chain:T,isEIP1559Compatible:y,provider:f,signer:L}),approvedAmount:b1({chain:T,provider:f}),broadcastTransaction:f.broadcastTransaction,call:e0({chain:T,isEIP1559Compatible:y,provider:f,signer:L}),createApprovalTx:K2({chain:T,provider:f,signer:L}),createContract:a0({chain:T,provider:f}),createContractTxObject:my({chain:T,provider:f}),createTransaction:i0({chain:T,provider:f,signer:L}),createTransferTx:i0({chain:T,provider:f,signer:L}),EIP1193SendTransaction:XT(f),estimateCall:j1({provider:f,signer:L}),estimateGasLimit:V2({chain:T,provider:f,signer:L}),estimateGasPrices:oy({chain:T,isEIP1559Compatible:y,provider:f}),estimateTransactionFee:S2({chain:T,isEIP1559Compatible:y,provider:f}),getAddress:()=>{return L?L.getAddress():void 0},isApproved:P2({chain:T,provider:f}),sendTransaction:h1({chain:T,isEIP1559Compatible:y,provider:f,signer:L}),signMessage:L?.signMessage,transfer:$2({chain:T,isEIP1559Compatible:y,provider:f,signer:L}),validateAddress:(G)=>r0({address:G})}}function r0({address:T}){try{return Zy.getAddress(T),!0}catch(f){return!1}}function fT(T){return T instanceof Zy.BrowserProvider}function $T(T,f,L){return new Zy.Contract(T,Zy.Interface.from(f),L)}function a0({provider:T}){return function(L,y){return new Zy.Contract(L,Zy.Interface.from(y),T)}}function s0({abi:T,funcName:f}){let L=T.find((y)=>y.name===f);if(!L)throw new Y.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:f});return L.stateMutability&&v2.includes(L.stateMutability)}function S1(T){return Zy.getAddress(T)}function XT(T){return function({value:L,...y}){if(!fT(T))throw new Y.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");let{gasLimit:G,gasPrice:X,maxFeePerGas:Z,maxPriorityFeePerGas:J,...Q}=y;return T.send("eth_sendTransaction",[{...Q,value:PT(BigInt(L||0))}])}}function u1(T,f){let L=GT(T,f);if(L)return Zy.getAddress(L.toLowerCase());throw new Y.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function GT({chain:T,symbol:f,ticker:L},y){try{let G=T===Y.Chain.BinanceSmartChain&&f==="BNB"&&L==="BNB",X=T===y&&f===y&&L===y,Z=[Y.Chain.Arbitrum,Y.Chain.Aurora,Y.Chain.Base,Y.Chain.Optimism].includes(T)&&f==="ETH"&&L==="ETH";if(X||G||Z)return F2[y];return Zy.getAddress(f.slice(L.length+1).replace(/^0X/,""))}catch(G){return null}}function my({provider:T}){return async({contractAddress:f,abi:L,funcName:y,funcParams:G=[],txOverrides:X})=>$T(f,L,T).getFunction(y).populateTransaction(...G.concat(X).filter((Z)=>typeof Z<"u"))}function oy({chain:T,provider:f,isEIP1559Compatible:L=!0}){if(T===Y.Chain.Arbitrum)return async function(){try{let{gasPrice:G}=await f.getFeeData();if(!G)throw new Y.SwapKitError("toolbox_evm_no_fee_data");return{[Y.FeeOption.Average]:{gasPrice:G},[Y.FeeOption.Fast]:{gasPrice:G},[Y.FeeOption.Fastest]:{gasPrice:G}}}catch(G){throw new Y.SwapKitError("toolbox_evm_gas_estimation_error",{error:G.msg??G.toString()})}};return async function(){try{let{maxFeePerGas:G,maxPriorityFeePerGas:X,gasPrice:Z}=await f.getFeeData();if(L){if(G===null||X===null)throw new Y.SwapKitError("toolbox_evm_no_fee_data");return{[Y.FeeOption.Average]:{maxFeePerGas:G,maxPriorityFeePerGas:X},[Y.FeeOption.Fast]:{maxFeePerGas:Y.applyFeeMultiplierToBigInt(G,Y.FeeOption.Fast),maxPriorityFeePerGas:Y.applyFeeMultiplierToBigInt(X,Y.FeeOption.Fast)},[Y.FeeOption.Fastest]:{maxFeePerGas:Y.applyFeeMultiplierToBigInt(G,Y.FeeOption.Fastest),maxPriorityFeePerGas:Y.applyFeeMultiplierToBigInt(X,Y.FeeOption.Fastest)}}}if(!Z)throw new Y.SwapKitError("toolbox_evm_no_gas_price");return{[Y.FeeOption.Average]:{gasPrice:Z},[Y.FeeOption.Fast]:{gasPrice:Y.applyFeeMultiplierToBigInt(Z,Y.FeeOption.Fast)},[Y.FeeOption.Fastest]:{gasPrice:Y.applyFeeMultiplierToBigInt(Z,Y.FeeOption.Fastest)}}}catch(G){throw new Y.SwapKitError("toolbox_evm_gas_estimation_error",{error:G.msg??G.toString()})}}}function e0({provider:T,isEIP1559Compatible:f,signer:L,chain:y}){return async function({callProvider:X,contractAddress:Z,abi:J,funcName:Q,funcParams:x=[],txOverrides:q={},feeOption:_=Y.FeeOption.Fast}){let z=X||T;if(!Z)throw new Y.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let M=s0({abi:J,funcName:Q});if(M&&fT(z)&&L){let O=my({chain:y,provider:z}),l=q?.from||await L?.getAddress(),S=await O({abi:J,contractAddress:Z,funcName:Q,funcParams:x,txOverrides:{...q,from:l}});return XT(z)(S)}let B=$T(Z,J,z);if(M){if(!L)throw new Y.SwapKitError("toolbox_evm_no_signer");let O=q?.from||await L.getAddress();if(!O)throw new Y.SwapKitError("toolbox_evm_no_signer_address");let l=B.connect(L),S=oy({chain:y,isEIP1559Compatible:f,provider:T}),{maxFeePerGas:a,maxPriorityFeePerGas:g,gasPrice:yy}=(await S())[_],Xy=await B.getFunction(Q).estimateGas(...x,q),I=await l[Q](...x,{...q,gasLimit:Xy,gasPrice:yy,maxFeePerGas:a,maxPriorityFeePerGas:g,nonce:q?.nonce||await z.getTransactionCount(O)});return typeof I?.hash==="string"?I?.hash:I}let N=await B[Q]?.(...x);return typeof N?.hash==="string"?N?.hash:N}}function b1({provider:T,chain:f}){return function({assetAddress:y,spenderAddress:G,from:X}){return e0({chain:f,isEIP1559Compatible:!0,provider:T})({abi:yT.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[X,G]})}}function P2({provider:T,chain:f}){return async function({assetAddress:y,spenderAddress:G,from:X,amount:Z=AT}){let J=await b1({chain:f,provider:T})({assetAddress:y,from:X,spenderAddress:G});return Y.SwapKitNumber.fromBigInt(J).gte(Y.SwapKitNumber.fromBigInt(BigInt(Z)))}}function A2({signer:T,isEIP1559Compatible:f=!0,provider:L,chain:y}){return async function({assetAddress:X,spenderAddress:Z,feeOptionKey:J=Y.FeeOption.Fast,amount:Q,gasLimitFallback:x,from:q,nonce:_}){let z=[Z,BigInt(Q||AT)],M=await T?.getAddress()||q,B={abi:yT.erc20ABI,contractAddress:X,funcName:"approve",funcParams:z,signer:T,txOverrides:{from:M}};if(fT(L)){let O=my({chain:y,provider:L}),l=XT(L),S=await O(B);return l(S)}return e0({chain:y,isEIP1559Compatible:f,provider:L,signer:T})({...B,feeOption:J,funcParams:z,txOverrides:{from:M,gasLimit:x?BigInt(x.toString()):void 0,nonce:_}})}}function $2({signer:T,isEIP1559Compatible:f=!0,provider:L}){return async function({assetValue:G,memo:X,recipient:Z,feeOptionKey:J=Y.FeeOption.Fast,sender:Q,...x}){let{hexlify:q,toUtf8Bytes:_}=await import("ethers"),z=G.getBaseValue("bigint"),M=G.chain,B=Q||await T?.getAddress(),N=h1({chain:M,isEIP1559Compatible:f,provider:L,signer:T});if(!B)throw new Y.SwapKitError("toolbox_evm_no_from_address");if(G.isGasAsset){let yy={...x,data:q(_(X||"")),feeOptionKey:J,from:B,to:Z,value:z};return N(yy)}if(!GT(G,M))throw new Y.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:l,maxPriorityFeePerGas:S,gasPrice:a}=(await oy({chain:M,isEIP1559Compatible:f,provider:L})())[J],g=await i0({chain:M,provider:L,signer:T})({assetValue:G,data:q(_(X||"")),gasPrice:a,maxFeePerGas:l,maxPriorityFeePerGas:S,memo:X,recipient:Z,sender:B});return N(g)}}function j1({provider:T,signer:f}){return function({contractAddress:y,abi:G,funcName:X,funcParams:Z=[],txOverrides:J}){if(!y)throw new Y.SwapKitError("toolbox_evm_no_contract_address");let Q=$T(y,G,T);return f?Q.connect(f).getFunction(X).estimateGas(...Z,J):Q.getFunction(X).estimateGas(...Z,J)}}function V2({provider:T,signer:f}){return async function({assetValue:y,recipient:G,memo:X,data:Z,sender:J,funcName:Q,funcParams:x,txOverrides:q}){let _=y.bigIntValue,z=y.isGasAsset?null:GT(y,y.chain);if(z&&Q)return j1({provider:T,signer:f})({abi:yT.erc20ABI,contractAddress:z,funcName:Q,funcParams:x,txOverrides:q});let{hexlify:M,toUtf8Bytes:B}=await import("ethers");return T.estimateGas({data:Z?Z:X?M(B(X)):void 0,from:J,to:G,value:_})}}function h1({provider:T,signer:f,isEIP1559Compatible:L=!0,chain:y}){return async function({feeOptionKey:X=Y.FeeOption.Fast,...Z}){let{from:J,to:Q,data:x,value:q,..._}=Z;if(!f)throw new Y.SwapKitError("toolbox_evm_no_signer");if(!Q)throw new Y.SwapKitError("toolbox_evm_no_to_address");let z={..._,data:x||"0x",from:J,to:Q,value:BigInt(q||0)};if(fT(T))return XT(T)(z);let M=J||await f.getAddress(),B=Z.nonce||await T.getTransactionCount(M),N=(await T.getNetwork()).chainId,O=l2(z)||L,l=oy({chain:y,isEIP1559Compatible:L,provider:T}),S=O&&!(z.maxFeePerGas&&z.maxPriorityFeePerGas)||!z.gasPrice?Object.entries((await l())[X]).reduce((g,[yy,Xy])=>({...g,[yy]:PT(BigInt(Xy))}),{}):{},a;try{a=PT(z.gasLimit||await T.estimateGas(z)*11n/10n)}catch(g){throw new Y.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:g})}try{let g={...z,chainId:N,gasLimit:a,nonce:B,type:O?2:0,...S};try{return(await f.sendTransaction(g)).hash}catch(yy){let Xy=await f.signTransaction({...g,from:M});return(await T.broadcastTransaction(Xy)).hash}}catch(g){throw new Y.SwapKitError("toolbox_evm_error_sending_transaction",{error:g})}}}function i0({provider:T,signer:f}){return async function({assetValue:y,memo:G,recipient:X,data:Z,sender:J,maxFeePerGas:Q,maxPriorityFeePerGas:x,gasPrice:q,..._}){let z=y.getBaseValue("bigint"),M=y.chain,B=J||await f?.getAddress();if(!B)throw new Y.SwapKitError("toolbox_evm_no_from_address");if(Y.isGasAsset(y)){let{hexlify:l,toUtf8Bytes:S}=await import("ethers");return{..._,data:Z||l(S(G||"")),from:B,to:X,value:z}}let N=GT(y,M);if(!N)throw new Y.SwapKitError("toolbox_evm_no_contract_address");return my({chain:y.chain,provider:T})({abi:yT.erc20ABI,contractAddress:N,funcName:"transfer",funcParams:[X,z],txOverrides:{from:B,gasPrice:q,maxFeePerGas:Q,maxPriorityFeePerGas:x}})}}function K2({provider:T,signer:f,chain:L}){return async function({assetAddress:G,spenderAddress:X,amount:Z,from:J}){let Q=await f?.getAddress()||J,x=my({chain:L,provider:T}),q=["bigint","number"].includes(typeof Z)?Z:Z||AT;return await x({abi:yT.erc20ABI,contractAddress:G,funcName:"approve",funcParams:[X,BigInt(q)],txOverrides:{from:Q}})}}function S2({provider:T,isEIP1559Compatible:f=!0}){return async function({feeOption:y=Y.FeeOption.Fast,chain:G,...X}){let J=await oy({chain:G,isEIP1559Compatible:f,provider:T})(),Q=await T.estimateGas(X),x=Y.AssetValue.from({chain:G}),{gasPrice:q,maxFeePerGas:_,maxPriorityFeePerGas:z}=J[y];if(!f&&q)return x.set(Y.SwapKitNumber.fromBigInt(q*Q,x.decimal));if(_&&z){let M=(_+z)*Q;return x.set(Y.SwapKitNumber.fromBigInt(M,x.decimal))}throw new Y.SwapKitError("toolbox_evm_no_gas_price")}}var Y,yT,Zy,AT,v2,F2,l2=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var X0=P(()=>{Y=require("@swapkit/helpers"),yT=require("@swapkit/helpers/contracts"),Zy=require("ethers");ey();AT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");v2=["payable","nonpayable"];F2={[Y.Chain.Arbitrum]:Y.ContractAddress.ARB,[Y.Chain.Aurora]:Y.ContractAddress.AURORA,[Y.Chain.Avalanche]:Y.ContractAddress.AVAX,[Y.Chain.Base]:Y.ContractAddress.BASE,[Y.Chain.Berachain]:Y.ContractAddress.BERA,[Y.Chain.BinanceSmartChain]:Y.ContractAddress.BSC,[Y.Chain.Ethereum]:Y.ContractAddress.ETH,[Y.Chain.Gnosis]:Y.ContractAddress.GNO,[Y.Chain.Optimism]:Y.ContractAddress.OP,[Y.Chain.Polygon]:Y.ContractAddress.MATIC}});async function G0({provider:T,...f}){let L=await Ey(Ly.Chain.Ethereum)({provider:T,...f});async function y(G,X="0x5ba1e12693dc8f9c48aad8770482f4739beed696",Z="aggregate",J=Ly.FeeOption.Fast){let Q=await L.createContractTxObject({abi:l1,contractAddress:X,funcName:Z,funcParams:[G]});return L.sendTransaction({...Q,feeOptionKey:J})}return{...L,multicall:y}}function Ey(T){return async function({provider:L,...y}){let G=await Ly.getRPCUrl(T),X=L||await py(T,G),Z=d0(T),J=VT.match(y).with({phrase:VT.P.string},({phrase:x})=>n1.HDNodeWallet.fromPhrase(x).connect(X)).with({signer:VT.P.any},({signer:x})=>x).otherwise(()=>{return});return{...TT({chain:T,isEIP1559Compatible:Z,provider:X,signer:J}),getBalance:FT(T).getBalance,getNetworkParams:t0(T)}}}var Ly,n1,VT,L0,Z0,J0,Q0,x0,q0,_0,z0;var y5=P(()=>{Ly=require("@swapkit/helpers"),n1=require("ethers"),VT=require("ts-pattern");f0();K1();ey();X0();L0=Ey(Ly.Chain.Arbitrum),Z0=Ey(Ly.Chain.Aurora),J0=Ey(Ly.Chain.Avalanche),Q0=Ey(Ly.Chain.Base),x0=Ey(Ly.Chain.Berachain),q0=Ey(Ly.Chain.BinanceSmartChain),_0=Ey(Ly.Chain.Gnosis),z0=Ey(Ly.Chain.Polygon)});var p1;var m1=P(()=>{p1=[{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 T5(T){return new B0.Contract(u2,p1,T)}function o1(T){return function(){let L=T5(T);if(L&&"l1BaseFee"in L)return L?.l1BaseFee();return}}function c1(T){return async function({from:L,to:y,nonce:G,...X}){let{Transaction:Z}=await import("ethers");if(!y)throw new u.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return Z.from({...X,authorizationList:X.authorizationList,nonce:G?G:L?await T.getTransactionCount(L):0,to:y}).serialized}}function g1(T){return async function(L){let y=T5(T),G=await c1(T)(L);if(y&&"getL1Fee"in y)return y.getL1Fee(G)}}function t1(T){return async function(L){let y=await T.send("eth_gasPrice",[]),G=await T.estimateGas(L);return y.mul(G)}}function b2(T){return async function(L){let y=await g1(T)(L),G=await t1(T)(L);return y.add(G)}}function j2(T){return async function(L){let y=T5(T),G=await c1(T)(L);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(G)}}async function n2(T){try{let{maxFeePerGas:f,maxPriorityFeePerGas:L,gasPrice:y}=await T.getFeeData(),G=o1(T)(),X=y;if(!(f&&L))throw new u.SwapKitError("toolbox_evm_no_fee_data");return{[u.FeeOption.Average]:{gasPrice:X,l1GasPrice:G,maxFeePerGas:f,maxPriorityFeePerGas:L},[u.FeeOption.Fast]:{gasPrice:u.applyFeeMultiplierToBigInt(X,u.FeeOption.Fast),l1GasPrice:u.applyFeeMultiplierToBigInt(G||0n,u.FeeOption.Fast),maxFeePerGas:f,maxPriorityFeePerGas:u.applyFeeMultiplierToBigInt(L,u.FeeOption.Fast)},[u.FeeOption.Fastest]:{gasPrice:u.applyFeeMultiplierToBigInt(X,u.FeeOption.Fastest),l1GasPrice:u.applyFeeMultiplierToBigInt(G||0n,u.FeeOption.Fastest),maxFeePerGas:f,maxPriorityFeePerGas:u.applyFeeMultiplierToBigInt(L,u.FeeOption.Fastest)}}}catch(f){throw new u.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}async function M0({provider:T,...f}){let L=u.Chain.Optimism,y=await u.getRPCUrl(L),G=T||await py(L,y),X=lT.match(f).with({phrase:lT.P.string},({phrase:Q})=>B0.HDNodeWallet.fromPhrase(Q).connect(G)).with({signer:lT.P.any},({signer:Q})=>Q).otherwise(()=>{return}),Z=TT({provider:G,signer:X}),J=o1(G);return{...Z,estimateGasPrices:n2(G),estimateL1Gas:j2(G),estimateL1GasCost:g1(G),estimateL2GasCost:t1(G),estimateTotalGasCost:b2(G),getBalance:FT(u.Chain.Optimism).getBalance,getL1GasPrice:J,getNetworkParams:h2}}var u,B0,lT,u2="0x420000000000000000000000000000000000000f",h2=()=>({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=P(()=>{u=require("@swapkit/helpers"),B0=require("ethers"),lT=require("ts-pattern");f0();m1();ey();X0()});var i1={};qy(i1,{toChecksumAddress:()=>S1,isStateChangingCall:()=>s0,isBrowserProvider:()=>fT,getTokenAddress:()=>GT,getEvmToolbox:()=>d1,getEstimateGasPrices:()=>oy,getEIP1193SendTransaction:()=>XT,getCreateContractTxObject:()=>my,getCreateContract:()=>a0,getChecksumAddressFromAsset:()=>u1,evmValidateAddress:()=>r0,createContract:()=>$T,OPToolbox:()=>M0,MAX_APPROVAL:()=>AT,MATICToolbox:()=>z0,GNOToolbox:()=>_0,ETHToolbox:()=>G0,BaseEVMToolbox:()=>TT,BSCToolbox:()=>q0,BERAToolbox:()=>x0,BASEToolbox:()=>Q0,AVAXToolbox:()=>J0,AURORAToolbox:()=>Z0,ARBToolbox:()=>L0});async function d1(T,f){let L={...f,provider:f?.provider||await py(T)};switch(T){case Jy.Chain.Arbitrum:return L0(L);case Jy.Chain.Aurora:return Z0(L);case Jy.Chain.Avalanche:return J0(L);case Jy.Chain.Base:return Q0(L);case Jy.Chain.Berachain:return x0(L);case Jy.Chain.BinanceSmartChain:return q0(L);case Jy.Chain.Gnosis:return _0(L);case Jy.Chain.Optimism:return M0(L);case Jy.Chain.Polygon:return z0(L);case Jy.Chain.Ethereum:return G0(L);default:throw new Jy.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var Jy;var X5=P(()=>{Jy=require("@swapkit/helpers");ey();y5();f5();X0();y5();f5()});var r1;var a1=P(()=>{((L)=>{L.Test="goerli";L.Main="homestead"})(r1||={})});var s1={};qy(s1,{toHexString:()=>PT,toChecksumAddress:()=>S1,isStateChangingCall:()=>s0,isBrowserProvider:()=>fT,getTokenAddress:()=>GT,getProvider:()=>py,getNetworkParams:()=>t0,getIsEIP1559Compatible:()=>d0,getEvmToolbox:()=>d1,getEvmApi:()=>FT,getEstimateGasPrices:()=>oy,getEIP1193SendTransaction:()=>XT,getCreateContractTxObject:()=>my,getCreateContract:()=>a0,getChecksumAddressFromAsset:()=>u1,evmValidateAddress:()=>r0,createCustomEvmApi:()=>k2,createContract:()=>$T,OPToolbox:()=>M0,MAX_APPROVAL:()=>AT,MATICToolbox:()=>z0,GNOToolbox:()=>_0,EthNetwork:()=>r1,ETHToolbox:()=>G0,BaseEVMToolbox:()=>TT,BSCToolbox:()=>q0,BERAToolbox:()=>x0,BASEToolbox:()=>Q0,AVAXToolbox:()=>J0,AURORAToolbox:()=>Z0,ARBToolbox:()=>L0});module.exports=Uy(s1);var e1=P(()=>{f0();ey();X5();a1()});async function p2(T,f,L){try{let y=await T.query.system?.account?.(L);if(!y)return[f.set(0)];let{data:{free:G}}=y,X=cy.SwapKitNumber.fromBigInt(BigInt(G.toString()),f.decimal).getValue("string");return[f.set(X)]}catch(y){return console.error("Error fetching substrate balance:",y),[f.set(0)]}}async function m2(T,f,L){try{let y=await T.query.flip?.account?.(L);if(!y)return[f.set(0)];let G=y.balance||y.data?.balance;if(!G||G.isEmpty)return[f.set(0)];let X=cy.SwapKitNumber.fromBigInt(BigInt(G.toString()),f.decimal).getValue("string");return[f.set(X)]}catch(y){return console.error("Error fetching chainflip balance:",y),[f.set(0)]}}function yf(T,f){return function(y){let G=cy.AssetValue.from({chain:T});switch(T){case cy.Chain.Chainflip:return m2(f,G,y);default:return p2(f,G,y)}}}var cy;var Tf=P(()=>{cy=require("@swapkit/helpers")});var o2,c2,g2,uy;var G5=P(()=>{o2={decimals:[10],displayName:"Polkadot Relay Chain",network:"polkadot",prefix:0,standardAccount:"*25519",symbols:["DOT"],website:"https://polkadot.network"},c2={decimals:[18],displayName:"Chainflip",network:"chainflip",prefix:2112,standardAccount:"*25519",symbols:["FLIP"],website:"https://chainflip.io/"},g2={decimals:[],displayName:"Substrate",network:"substrate",prefix:42,standardAccount:"*25519",symbols:[],website:"https://substrate.io/"},uy={DOT:o2,FLIP:c2,GENERIC:g2}});function t2(T,f){switch(T){case d.Chain.Chainflip:return Xf(f);case d.Chain.Polkadot:return ff(f);default:throw new d.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function LT(T){return"address"in T}async function Z5(T,f){let{Keyring:L}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new L({ss58Format:f,type:"sr25519"}).addFromUri(T)}function yX(T,f){let L=JT.decodeAddress(T);return JT.encodeAddress(L,f)}function Gf(T,f){return ZT.isHex(T)?ZT.hexToU8a(T):JT.decodeAddress(T,void 0,f)}function Lf(T,f="ss58",L){if(f==="hex")return ZT.u8aToHex(T);return JT.encodeAddress(T,L)}async function x5({generic:T,chain:f,...L}){let{ApiPromise:y,WsProvider:G}=await import("@polkadot/api"),X=await d.getRPCUrl(f),Z=new G(X),J=await y.create({provider:Z}),Q=d.AssetValue.from({chain:f}),x=T?uy.GENERIC:uy[f],q=await KT.match(L).with({phrase:KT.P.string},({phrase:_})=>Z5(_,uy[f].prefix)).with({signer:KT.P.any},({signer:_})=>_).otherwise(()=>{return});return Zf({api:J,chain:f,gasAsset:Q,network:x,signer:q})}var ZT,JT,d,KT,ff=({generic:T=!1,...f}={})=>{return x5({chain:d.Chain.Polkadot,generic:T,...f})},Xf=async({generic:T=!1,...f}={})=>{return{...await x5({chain:d.Chain.Chainflip,generic:T,...f})}},J5=(T,f)=>T.rpc.system.accountNextIndex(f),L5=(T,f)=>{try{let L=Gf(T,f);return Lf(L,"ss58",f),!0}catch(L){return!1}},Q5=(T,{recipient:f,assetValue:L})=>T.tx.balances?.transferAllowDeath?.(f,L.getBaseValue("number")),d2=async(T,f,{recipient:L,assetValue:y,sender:G})=>{let X=Q5(T,{assetValue:y,recipient:L});if(!X)throw new d.SwapKitError("toolbox_substrate_transfer_error");let Z=LT(f),J=Z?f.address:G;if(!J)throw new d.SwapKitError("core_transaction_invalid_sender_address");let Q=await J5(T,J);return(await X.signAndSend(Z?f:J,{nonce:Q,signer:Z?void 0:f})).toString()},i2=async(T,f,L,{recipient:y,assetValue:G,sender:X})=>{let Z=Q5(T,{assetValue:G,recipient:y}),J=LT(f)?f.address:X;if(!J)return;let Q=await Z?.paymentInfo(J,{nonce:await J5(T,J)})||{partialFee:0};return L.set(d.SwapKitNumber.fromBigInt(BigInt(Q.partialFee.toString()),L.decimal).getValue("string"))},r2=async(T,f)=>{if(f)return T.send(f);return(await T.send()).toString()},a2=async(T,f)=>{return await f.signAsync(T)},s2=(T,f,L)=>{if(L)return f.signAndSend(T,L);return f.signAndSend(T).toString()},e2=async({signer:T,address:f,tx:L,callback:y,api:G})=>{let X=await J5(G,f);if(y)L.signAndSend(f,{nonce:X,signer:T},y);return L.signAndSend(f,{nonce:X,signer:T}).toString()},Zf=({api:T,network:f,gasAsset:L,signer:y,chain:G})=>({api:T,broadcast:r2,convertAddress:yX,createKeyring:(X)=>Z5(X,f.prefix),createTransaction:(X)=>Q5(T,X),decodeAddress:Gf,encodeAddress:Lf,estimateTransactionFee:(X)=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");return i2(T,y,L,X)},gasAsset:L,getAddress:(X)=>{let Z=X||y;if(!Z)throw new d.SwapKitError("core_wallet_not_keypair_wallet");return LT(Z)?Z.address:void 0},getBalance:yf(G||d.Chain.Polkadot,T),network:f,sign:(X)=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");if(LT(y))return a2(y,X);throw new d.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:X,callback:Z,address:J})=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");if(LT(y))return s2(y,X,Z);if(J)return e2({address:J,api:T,callback:Z,signer:y,tx:X});throw new d.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(X)=>{if(!y)throw new d.SwapKitError("core_wallet_not_keypair_wallet");return d2(T,y,X)},validateAddress:(X)=>L5(X,f.prefix)}),TX=({address:T,chain:f})=>{let{prefix:L}=f===d.Chain.Polkadot?uy.DOT:uy.FLIP;return L5(T,L)||L5(T,uy.GENERIC.prefix)};var Jf=P(()=>{ZT=require("@polkadot/util"),JT=require("@polkadot/util-crypto"),d=require("@swapkit/helpers"),KT=require("ts-pattern");Tf();G5()});var q5={};qy(q5,{substrateValidateAddress:()=>TX,isKeyringPair:()=>LT,getSubstrateToolbox:()=>t2,createSubstrateToolbox:()=>x5,createKeyring:()=>Z5,SubstrateNetwork:()=>uy,PolkadotToolbox:()=>ff,ChainflipToolbox:()=>Xf,BaseSubstrateToolbox:()=>Zf});module.exports=Uy(q5);var _5=P(()=>{Jf();G5()});async function fX({chain:T,txHash:f}){let L=`${Y0(T)}/push/transaction`,y=JSON.stringify({data:f});try{let G=await K.RequestClient.post(L,{body:y,headers:{"Content-Type":"application/json"}});if(G.context.code!==200)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:G.context.error||"Transaction broadcast failed"});return G.data?.transaction_hash||f}catch(G){let X=await K.getRPCUrl(T);if(X){let Z=JSON.stringify({id:V1(),jsonrpc:"2.0",method:"sendrawtransaction",params:[f]}),J=await K.RequestClient.post(X,{body:Z,headers:{"Content-Type":"application/json"}});if(J.error)throw new K.SwapKitError("toolbox_utxo_broadcast_failed",{error:J.error?.message});if(J.result.includes('"code":-26'))throw new K.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return J.result}throw G}}function Y0(T){return`https://api.blockchair.com/${XX(T)}`}function Qf(T){switch(T){case K.Chain.Bitcoin:return 5;case K.Chain.Dogecoin:return 1e4;case K.Chain.Litecoin:return 1;case K.Chain.Zcash:return 1;default:return 2}}function XX(T){switch(T){case K.Chain.BitcoinCash:return"bitcoin-cash";case K.Chain.Litecoin:return"litecoin";case K.Chain.Dash:return"dash";case K.Chain.Dogecoin:return"dogecoin";case K.Chain.Zcash:return"zcash";case K.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function GX(T){try{let{feePerKb:f}=await K.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),L=f/1000;return Math.max(L,Qf(T))}catch(f){return Qf(T)}}async function z5(T,f){let L=await K.RequestClient.get(`${T}${f?`${T.includes("?")?"&":"?"}key=${f}`:""}`);if(!L||L.context.code!==200)throw new K.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return L.data}async function zf({address:T,chain:f,apiKey:L}){if(!T)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await z5(`${Y0(f)}/dashboards/address/${T}?transaction_details=true`,L))[T]}catch(y){return{address:{balance:0,transaction_count:0},utxo:[]}}}async function LX({address:T,chain:f,apiKey:L}){return(await zf({address:T,apiKey:L,chain:f}))?.address.balance||0}async function Bf({chain:T,apiKey:f,txHash:L}){if(!L)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await z5(`${Y0(T)}/raw/transaction/${L}`,f))?.[L]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function ZX({chain:T,address:f,apiKey:L,offset:y=0,limit:G=30}){return(await z5(`${Y0(T)}/outputs?q=recipient(${f}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${G}&offset=${y}`,L)).map(({is_spent:Q,script_hex:x,block_id:q,transaction_hash:_,index:z,value:M,spending_signature_hex:B})=>({hash:_,index:z,is_confirmed:q!==-1,is_spent:Q,script_hex:x,txHex:B,value:M}))}function JX(T){return T.reduce((f,L)=>f+L.value,0)}function xf(T,f){let L=[...T].sort((y,G)=>G.value-y.value);if(f){let y=[],G=0;for(let X of L)if(y.push(X),G+=X.value,G>=f)break;return y}return L}async function Mf({chain:T,address:f,apiKey:L,targetValue:y,accumulativeValue:G=0,offset:X=0,limit:Z=30}){if(!f)throw new K.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let J=await ZX({address:f,apiKey:L,chain:T,limit:Z,offset:X,targetValue:y}),x=J.length<Z,q=J.filter(({is_spent:O})=>!O),_=JX(q),z=G+_,M=y&&z>=y;if(x||M)return xf(q,y);let B=await Mf({accumulativeValue:z,address:f,apiKey:L,chain:T,limit:Z,offset:X+Z,targetValue:y}),N=[...q,...B];return xf(N,y)}catch(J){return console.error("Failed to fetch unspent UTXOs:",J),[]}}async function QX({address:T,chain:f,apiKey:L,fetchTxHex:y=!0,targetValue:G}){let X=await Mf({address:T,apiKey:L,chain:f,targetValue:G}),Z=[];for(let{hash:J,index:Q,script_hex:x,value:q}of X){let _;if(y)_=await Bf({apiKey:L,chain:f,txHash:J});Z.push({address:T,hash:J,index:Q,txHex:_,value:q,witnessUtxo:{script:Buffer.from(x,"hex"),value:q}})}return Z}function xX(T){let f=K.SKConfig.get("apiKeys").blockchair||"";return K.warnOnce({condition:!f,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(L)=>fX({chain:T,txHash:L}),getAddressData:(L)=>zf({address:L,apiKey:f,chain:T}),getBalance:(L)=>LX({address:L,apiKey:f,chain:T}),getRawTx:(L)=>Bf({apiKey:f,chain:T,txHash:L}),getSuggestedTxFee:()=>GX(T),getUtxos:(L)=>QX({...L,apiKey:f,chain:T})}}function qX(T){return T}function Qy(T){let f=K.SKConfig.get("apis")[T];if(f)return K.warnOnce({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),f;return xX(T)}function Ny(){return function(f){switch(f){case K.Chain.Bitcoin:return _f.networks.bitcoin;case K.Chain.BitcoinCash:return QT.default.bitcoincash.main.toBitcoinJS();case K.Chain.Dash:return QT.default.dash.main.toBitcoinJS();case K.Chain.Litecoin:return QT.default.litecoin.main.toBitcoinJS();case K.Chain.Dogecoin:{let L={private:70615956,public:70617039},y=QT.default.dogecoin.test;return y.versions.bip32=L,QT.default.dogecoin.main.toBitcoinJS()}case K.Chain.Zcash:return qf.networks.zcash;default:throw new K.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}}var qf,K,_f,QT;var Yf=P(()=>{qf=require("@bitgo/utxo-lib"),K=require("@swapkit/helpers"),_f=require("bitcoinjs-lib"),QT=H(require("coininfo"));vT()});function W5(T){try{return H0(T),!0}catch(f){return!1}}function U5(T){return H0(T)?.network}function xT(T){let f=H0(T);if(f?.format==="legacy")return T;return BX(f)}function ST(T){let f=H0(T);return MX(f)}function H0(T){try{let f=_X(T);if(f)return f}catch(f){}try{let f=zX(T);if(f)return f}catch(f){}throw new B5.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function _X(T){try{let f=M5.default.decode(T);if(f.length!==21)throw new B5.SwapKitError("toolbox_utxo_invalid_address",{address:T});let L=f[0],y=Array.prototype.slice.call(f,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(f){return}}function zX(T){if(T.indexOf(":")!==-1)try{return Hf(T)}catch(f){}else{let f=["bitcoincash","bchtest","bchreg"];for(let L of f)try{return Hf(`${L}:${T}`)}catch(y){}}return}function Hf(T){try{let{hash:f,prefix:L,type:y}=Y5.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(f,0),network:L==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch(f){return}}function BX(T){let f=c.legacy[T.network][T.type],L=Buffer.alloc(1+T.hash.length);return L[0]=f,L.set(T.hash,1),M5.default.encode(L)}function MX(T){let f=T.network==="mainnet"?"bitcoincash":"bchtest",L=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return Y5.default.encode(f,L,y)}var B5,M5,Y5,H5,c;var Wf=P(()=>{B5=require("@swapkit/helpers"),M5=H(require("bs58check")),Y5=H(require("cashaddrjs"));((L)=>{L.Mainnet="mainnet";L.Testnet="testnet"})(H5||={});c={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Cy(T){let f=Buffer.from(T,"utf8");return U0.script.compile([U0.opcodes.OP_RETURN,f])}var Uf,U0,YX=1000,N0=10,Nf=10,HX=41,WX=107,C0,W0,uT,bT=(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 Uf.SwapKitError("toolbox_utxo_invalid_address",{address:T})},qT=({inputs:T,outputs:f,feeRate:L})=>{let y=T[0]&&"address"in T[0]&&T[0].address?bT(T[0].address):"P2PKH",G=T.filter((Z)=>Z.value>=W0["type"in Z?Z.type:"P2PKH"]*Math.ceil(L)).reduce((Z,J)=>Z+by(J),0),X=f?.reduce((Z,J)=>Z+jT(J),0)||uT[y];return N0+G+X},by=(T)=>{if("type"in T)return W0[T.type];if("address"in T&&T.address)return W0[bT(T.address)];return HX+WX},jT=(T,f)=>{if(T?.script)return Nf+T.script.length+(T.script.length>=74?2:1);if(f)return uT[f];return uT.P2PKH};var N5=P(()=>{Uf=require("@swapkit/helpers"),U0=require("bitcoinjs-lib");((L)=>{L.P2PKH="P2PKH";L.P2WPKH="P2WPKH"})(C0||={});W0={["P2PKH"]:148,["P2WPKH"]:68},uT={["P2PKH"]:34,["P2WPKH"]:31}});function R0(T){switch(T){case Ry.Chain.Bitcoin:case Ry.Chain.BitcoinCash:return 550;case Ry.Chain.Dash:case Ry.Chain.Litecoin:return 5500;case Ry.Chain.Dogecoin:return 1e5;case Ry.Chain.Zcash:return 546;default:throw new Ry.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function Oy({inputs:T,outputs:f,feeRate:L=1,chain:y=Ry.Chain.Bitcoin,changeAddress:G=""}){let X=Math.ceil(L),Z=T[0]&&"address"in T[0]&&T[0].address?bT(T[0].address):"P2PKH",J=T.filter((M)=>by(M)*X<=M.value),Q=N0+f.reduce((M,B)=>M+jT(B,Z),0),x=f.reduce((M,B)=>M+B.value,0),q=Q*X,_=0,z=[];for(let M of J){let B=by(M),N=X*B;q+=N,_+=M.value,z.push(M);let O=q+x;if(_<O)continue;let l=_-O,S=X*jT({address:"",value:0},Z);if(l>S){let a=S+q,g=_-(x+a);if(g>Math.max(by({})*X,R0(y)))return{fee:a,inputs:z,outputs:f.concat({address:G,value:g})}}return{fee:q,inputs:z,outputs:f}}return{fee:X*qT({feeRate:X,inputs:T,outputs:f})}}var Ry;var Cf=P(()=>{Ry=require("@swapkit/helpers");N5()});var _T=P(()=>{Yf();Wf();Cf();N5()});function gy(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function jy(T){let f=gy(T);return W5(f)&&U5(f)==="mainnet"}function zT(T){try{if(T.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let f=O0.networks.zcash;try{return O0.address.toOutputScript(T,f),!0}catch{let L=Rf.default.decode(T);if(L.length<21)return!1;let y=L[0];return y===f.pubKeyHash||y===f.scriptHash}}catch{return!1}}var O0,Rf;var hT=P(()=>{O0=require("@bitgo/utxo-lib"),Rf=H(require("bs58check"));_T()});function Df({inputs:T,outputs:f,chain:L,psbt:y,sender:G,compiledMemo:X}){for(let Z of T){let J=!!Z.witnessUtxo&&!nT.includes(L)&&{witnessUtxo:Z.witnessUtxo},Q=nT.includes(L)&&{nonWitnessUtxo:Z.txHex?Buffer.from(Z.txHex,"hex"):void 0};y.addInput({hash:Z.hash,index:Z.index,...J,...Q})}for(let Z of f){let J="address"in Z&&Z.address?Z.address:G,Q=Z.script;if(Q&&!X)continue;let x=Q?{script:X,value:0}:{address:J,value:Z.value};Iy.initEccLib(I0.default),y.addOutput(x)}return{inputs:T,psbt:y}}async function kf({assetValue:T,recipient:f,memo:L,feeRate:y,sender:G,fetchTxHex:X=!1}){let Z=T.chain,J=L?await Cy(L):null,Q=await vf({assetValue:T,fetchTxHex:X,memo:L,recipient:f,sender:G}),{inputs:x,outputs:q}=Oy({...Q,chain:Z,feeRate:y});if(!(x&&q))throw new A.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:G});let _=await Ny(),z=new Iy.Psbt({network:_(Z)});if(Z===A.Chain.Dogecoin)z.setMaximumFeeRate(650000000);let{psbt:M,inputs:B}=await Df({chain:Z,compiledMemo:J,inputs:x,outputs:q,psbt:z,sender:G});return{inputs:B,psbt:M,utxos:Q.inputs}}async function Ef(){let T=await Ny();return function({address:L,chain:y}){if(y===A.Chain.BitcoinCash)return jy(L);if(y===A.Chain.Zcash)return zT(L);try{return Iy.initEccLib(I0.default),Iy.address.toOutputScript(L,T(y)),!0}catch(G){return!1}}}async function UX({chain:T,phrase:f,derivationPath:L}){let y=(await pT(T))({derivationPath:L,phrase:f});async function G(Z){return await Z.signAllInputs(y),Z}async function X(){return(await R5(T))(y)}return{getAddress:X,signTransaction:G}}async function ty({chain:T,...f}){let L="phrase"in f?f.phrase:void 0,y="index"in f?f.index||0:0,G=A.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:A.updateDerivationPath(A.NetworkDerivationPath[T],{index:y})),X=L?await UX({chain:T,derivationPath:G,phrase:L}):("signer"in f)?f.signer:void 0;function Z(){return Promise.resolve(X?.getAddress())}let J=await R5(T),Q=await Ef(),x=await pT(T);return{accumulative:Oy,broadcastTx:(q)=>Qy(T).broadcastTx(q),calculateTxSize:qT,createKeysForPath:x,createTransaction:kf,estimateMaxSendableAmount:NX(T),estimateTransactionFee:CX(T),getAddress:Z,getAddressFromKeys:J,getBalance:sy(T),getFeeRates:()=>mT(T),getInputsOutputsFee:wf,getPrivateKeyFromMnemonic:(q)=>{return x(q).toWIF()},transfer:RX(X),validateAddress:(q)=>Q({address:q,chain:T})}}async function wf({assetValue:T,feeOptionKey:f=A.FeeOption.Fast,feeRate:L,memo:y,sender:G,recipient:X}){let Z=T.chain,J=await vf({assetValue:T,memo:y,recipient:X,sender:G}),Q=L?Math.floor(L):(await mT(Z))[f];return Oy({...J,chain:Z,feeRate:Q})}function NX(T){return async function({from:L,memo:y,feeRate:G,feeOptionKey:X=A.FeeOption.Fast,recipients:Z=1}){let J=await Qy(T).getAddressData(L),Q=G?Math.ceil(G):(await mT(T))[X],x=J?.utxo.map((B)=>({...B,hash:"",type:"P2PKH"})).filter((B)=>B.value>Math.max(R0(T),by(B)*Q));if(!x?.length)return A.AssetValue.from({chain:T});let q=A.AssetValue.from({chain:T,value:x.reduce((B,N)=>B+N.value,0)}),_=typeof Z==="number"?Array.from({length:Z},()=>({address:L,value:0})):Z;if(y){let B=await Cy(y);_.push({address:L,script:B,value:0})}let M=qT({feeRate:Q,inputs:x,outputs:_})*Q;return q.sub(M)}}function CX(T){return async(f)=>{let L=await wf(f);return A.AssetValue.from({chain:T,value:A.SwapKitNumber.fromBigInt(BigInt(L.fee),8).getValue("string")})}}async function pT(T){let f=await Ny();switch(T){case A.Chain.BitcoinCash:return function({phrase:y,derivationPath:G=`${A.DerivationPath.BCH}/0`,wif:X}){let Z=f(T);if(X)return D0.ECPair.fromWIF(X,Z);if(!y)throw new A.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return D0.HDNode.fromSeedBuffer(Buffer.from(C5.mnemonicToSeedSync(y)),Z).derivePath(G).keyPair};case A.Chain.Bitcoin:case A.Chain.Dogecoin:case A.Chain.Litecoin:case A.Chain.Zcash:case A.Chain.Dash:return function({phrase:y,wif:G,derivationPath:X}){if(!(G||y))throw new A.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let Z=If.ECPairFactory(I0.default),J=f(T);if(G)return Z.fromWIF(G,J);let Q=C5.mnemonicToSeedSync(y),x=Of.HDKey.fromMasterSeed(Q,J).derive(X);if(!x.privateKey)throw new A.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return Z.fromPrivateKey(Buffer.from(x.privateKey),{network:J})};default:throw new A.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}async function R5(T){let f=await Ny();return function(y){if(!y)throw new A.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let G=nT.includes(T)?Iy.payments.p2pkh:Iy.payments.p2wpkh,{address:X}=G({network:f(T),pubkey:y.publicKey});if(!X)throw new A.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return X}}function RX(T){return async function({memo:L,recipient:y,feeOptionKey:G,feeRate:X,assetValue:Z}){let J=await T?.getAddress(),Q=Z.chain;if(!(T&&J))throw new A.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new A.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let x=X||(await mT(Q))[G||A.FeeOption.Fast],{psbt:q}=await kf({assetValue:Z,feeRate:x,memo:L,recipient:y,sender:J}),_=await T.signTransaction(q);return _.finalizeAllInputs(),Qy(Q).broadcastTx(_.extractTransaction().toHex())}}async function mT(T){let f=await Qy(T).getSuggestedTxFee();return{[A.FeeOption.Average]:f,[A.FeeOption.Fast]:A.applyFeeMultiplier(f,A.FeeOption.Fast),[A.FeeOption.Fastest]:A.applyFeeMultiplier(f,A.FeeOption.Fastest)}}async function vf({assetValue:T,recipient:f,memo:L,sender:y,fetchTxHex:G=!1}){let X=T.chain,Z=(await mT(X))[A.FeeOption.Fastest],J=G||nT.includes(X),Q=T.getBaseValue("number"),x=Math.ceil(Q+Z*5000);return{inputs:await Qy(X).getUtxos({address:y,fetchTxHex:J,targetValue:x}),outputs:[{address:f,value:Q},...L?[{address:"",script:await Cy(L),value:0}]:[]]}}var I0,D0,Of,C5,A,Iy,If,nT;var oT=P(()=>{I0=H(require("@bitcoinerlab/secp256k1")),D0=require("@psf/bitcoincashjs-lib"),Of=require("@scure/bip32"),C5=require("@scure/bip39"),A=require("@swapkit/helpers"),Iy=require("bitcoinjs-lib"),If=require("ecpair");vT();_T();hT();nT=[A.Chain.Dash,A.Chain.Dogecoin,A.Chain.Zcash,A.Chain.BitcoinCash]});function dy(T){return gy(ST(T))}function OX(T){function f({builder:y,utxos:G}){return G.forEach((X,Z)=>{y.sign(Z,T,void 0,65,X.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(dy(y))},signTransaction:f}}async function O5(T){let f="phrase"in T?T.phrase:void 0,L="index"in T?T.index||0:0,y=fy.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:fy.updateDerivationPath(fy.NetworkDerivationPath[My],{index:L})),G=f?(await pT(My))({derivationPath:y,phrase:f}):void 0,X=G?OX(G):("signer"in T)?T.signer:void 0;function Z(){return Promise.resolve(X?.getAddress())}let{getBalance:J,getFeeRates:Q,broadcastTx:x,...q}=await ty({chain:My});function _(z,M=!0){return J(gy(ST(z)))}return{...q,broadcastTx:x,buildTx:DX,createTransaction:Pf,getAddress:Z,getAddressFromKeys:kX,getBalance:_,getFeeRates:Q,stripPrefix:gy,stripToCashAddress:dy,transfer:IX({broadcastTx:x,getFeeRates:Q,signer:X}),validateAddress:jy}}async function Pf({assetValue:T,recipient:f,memo:L,feeRate:y,sender:G}){if(!jy(f))throw new fy.SwapKitError("toolbox_utxo_invalid_address",{address:f});let X=Math.ceil(T.getBaseValue("number")+y*7500),Z=await Qy(My).getUtxos({address:dy(G),fetchTxHex:!0,targetValue:X}),J=L?await Cy(L):null,Q=[];Q.push({address:f,value:T.getBaseValue("number")});let{inputs:x,outputs:q}=Oy({chain:My,feeRate:y,inputs:Z,outputs:Q});if(!(x&&q))throw new fy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:G});let _=await Ny(),z=new BT.TransactionBuilder(_(My));await Promise.all(x.map(async(M)=>{let B=await Qy(My).getRawTx(M.hash);z.addInput(BT.Transaction.fromBuffer(Buffer.from(B,"hex")),M.index)}));for(let M of q){let B="address"in M&&M.address?M.address:xT(G),N=await Ny(),O=BT.address.toOutputScript(xT(B),N(My));z.addOutput(O,M.value)}if(J)z.addOutput(J,0);return{builder:z,utxos:x}}function IX({broadcastTx:T,getFeeRates:f,signer:L}){return async function({recipient:G,assetValue:X,feeOptionKey:Z=fy.FeeOption.Fast,...J}){let Q=await L?.getAddress();if(!(L&&Q))throw new fy.SwapKitError("toolbox_utxo_no_signer");if(!G)throw new fy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let x=J.feeRate||(await f())[Z],{builder:q,utxos:_}=await Pf({...J,assetValue:X,feeRate:x,recipient:G,sender:Q}),M=(await L.signTransaction({builder:q,utxos:_})).toHex();return T(M)}}async function DX({assetValue:T,recipient:f,memo:L,feeRate:y,sender:G,setSigHashType:X}){let Z=ST(f);if(!jy(Z))throw new fy.SwapKitError("toolbox_utxo_invalid_address",{address:Z});let J=Math.ceil(T.getBaseValue("number")+y*7500),Q=await Qy(My).getUtxos({address:dy(G),fetchTxHex:!1,targetValue:J}),x=Number(y.toFixed(0)),q=L?await Cy(L):null,_=[];if(_.push({address:xT(f),value:T.getBaseValue("number")}),q)_.push({script:q,value:0});let{inputs:z,outputs:M}=Oy({chain:My,feeRate:x,inputs:Q,outputs:_});if(!(z&&M))throw new fy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:G});let B=await Ny(),N=new Ff.Psbt({network:B(My)});for(let{hash:O,index:l,witnessUtxo:S}of z)N.addInput({hash:O,index:l,sighashType:X?65:void 0,witnessUtxo:S});for(let O of M){let l="address"in O&&O.address?O.address:xT(G),S=O.script?q?{script:q,value:0}:void 0:{address:l,value:O.value};if(S)N.addOutput(S)}return{inputs:z,psbt:N,utxos:Q}}function kX(T){let f=T.getAddress(0);return dy(f)}var BT,fy,Ff,My;var k0=P(()=>{BT=require("@psf/bitcoincashjs-lib"),fy=require("@swapkit/helpers"),Ff=require("bitcoinjs-lib");_T();oT();hT();My=fy.Chain.BitcoinCash});function Vf(){return Yy.networks.zcash}function lf(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
|
|
2
|
+
`,pubKeyHash:28,scriptHash:28,wif:128}}function EX({phrase:T,derivationPath:f}){let L=D5.mnemonicToSeedSync(T),G=I5.HDKey.fromMasterSeed(L).derive(f);if(!G.privateKey)throw new s.SwapKitError("toolbox_utxo_invalid_params");let X=lf(),Z=Yy.ECPair.fromPrivateKey(Buffer.from(G.privateKey),{network:X}),J=Yy.crypto.hash160(Z.publicKey),{isStagenet:Q}=s.SKConfig.get("envs"),x=Q?Buffer.from([29,37]):Buffer.from([28,184]),q=Buffer.concat([x,J]),_=$f.default.encode(q);return{getAddress:()=>Promise.resolve(_),signTransaction:(z)=>{let M=z.signAllInputs(Z);return Promise.resolve(M)}}}function wX({inputs:T,outputs:f,psbt:L,sender:y,compiledMemo:G}){for(let X of T){let Z=!!X.witnessUtxo&&{witnessUtxo:{...X.witnessUtxo,value:BigInt(X.value)}},J=!X.witnessUtxo&&{nonWitnessUtxo:X.txHex?Buffer.from(X.txHex,"hex"):void 0};L.addInput({hash:X.hash,index:X.index,...Z,...J})}for(let X of f){let Z="address"in X&&X.address?X.address:y,J=X.script;if(J&&!G)continue;let Q=J?{script:G,value:0n}:{script:Yy.address.toOutputScript(Z,Vf()),value:BigInt(X.value)};L.addOutput(Q)}return{inputs:T,psbt:L}}async function Af(T){let{assetValue:f,recipient:L,memo:y,feeRate:G,sender:X,fetchTxHex:Z}=T,J=y?Cy(y):null,Q=await Qy(s.Chain.Zcash).getUtxos({address:X,fetchTxHex:Z!==!1}),x=[{address:L,value:Number(f.getBaseValue("string"))},...J?[{script:J,value:0}]:[]],{inputs:q,outputs:_}=Oy({chain:s.Chain.Zcash,changeAddress:X,feeRate:G,inputs:Q,outputs:x});if(!(q&&_))throw new s.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:f,sender:X});let z=Yy.bitgo.createPsbtForNetwork({network:Vf()},{version:455}),B=3268858036,N=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),O=Buffer.allocUnsafe(4);O.writeUInt32LE(B>>>0,0),z.addUnknownKeyValToGlobal({key:N,value:O});let{psbt:l,inputs:S}=await wX({compiledMemo:J,inputs:q,outputs:_,psbt:z,sender:X});return{inputs:S,outputs:_,psbt:l}}async function k5(T){let f=await MT.match(T).with({signer:MT.P.not(MT.P.nullish)},({signer:Z})=>Promise.resolve(Z)).with({phrase:MT.P.string},({phrase:Z,derivationPath:J,index:Q=0})=>{let x=J||s.NetworkDerivationPath[s.Chain.Zcash]||[44,133,0,0,0],q=s.updateDerivationPath(x,{index:Q}),_=s.derivationPathToString(q);return EX({derivationPath:_,phrase:Z})}).otherwise(()=>Promise.resolve(void 0)),L=await ty({chain:s.Chain.Zcash,signer:f});async function y({recipient:Z,assetValue:J,feeOptionKey:Q=s.FeeOption.Fast,...x}){let q=await f?.getAddress();if(!(f&&q))throw new s.SwapKitError("toolbox_utxo_no_signer");let _=x.feeRate||(await L.getFeeRates())[Q],{psbt:z}=await Af({...x,assetValue:J,feeRate:_,recipient:Z,sender:q}),M=await f.signTransaction(z);return M.finalizeAllInputs(),L.broadcastTx(M.extractTransaction().toHex())}function G({phrase:Z,derivationPath:J="m/44'/133'/0'/0/0"}){let Q=D5.mnemonicToSeedSync(Z),q=I5.HDKey.fromMasterSeed(Q).derive(J);if(!q.privateKey)throw new s.SwapKitError("toolbox_utxo_invalid_params");let _=lf();return Yy.ECPair.fromPrivateKey(Buffer.from(q.privateKey),{network:_})}function X({phrase:Z,derivationPath:J="m/44'/133'/0'/0/0"}){return G({derivationPath:J,phrase:Z}).toWIF()}return{...L,createKeysForPath:G,createTransaction:Af,getPrivateKeyFromMnemonic:X,transfer:y,validateAddress:zT}}var Yy,I5,D5,s,$f,MT;var E5=P(()=>{Yy=require("@bitgo/utxo-lib"),I5=require("@scure/bip32"),D5=require("@scure/bip39"),s=require("@swapkit/helpers"),$f=H(require("bs58check")),MT=require("ts-pattern");_T();oT();hT()});async function vX(T,f){switch(T){case wy.Chain.BitcoinCash:return await O5(f||{});case wy.Chain.Zcash:return await k5(f);case wy.Chain.Bitcoin:case wy.Chain.Dogecoin:case wy.Chain.Litecoin:case wy.Chain.Dash:return await ty({chain:T,...f});default:throw new wy.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var wy;var Kf=P(()=>{wy=require("@swapkit/helpers");k0();oT();E5();k0();hT()});var w5={};qy(w5,{validateZcashAddress:()=>zT,toLegacyAddress:()=>xT,toCashAddress:()=>ST,stripToCashAddress:()=>dy,stripPrefix:()=>gy,nonSegwitChains:()=>nT,isValidAddress:()=>W5,getUtxoToolbox:()=>vX,getUtxoNetwork:()=>Ny,getUtxoApi:()=>Qy,getUTXOAddressValidator:()=>Ef,getScriptTypeForAddress:()=>bT,getOutputSize:()=>jT,getInputSize:()=>by,getDustThreshold:()=>R0,getCreateKeysForPath:()=>pT,detectAddressNetwork:()=>U5,createZcashToolbox:()=>k5,createUTXOToolbox:()=>ty,createCustomUtxoApi:()=>qX,createBCHToolbox:()=>O5,compileMemo:()=>Cy,calculateTxSize:()=>qT,bchValidateAddress:()=>jy,addressFromKeysGetter:()=>R5,addInputsAndOutputs:()=>Df,accumulative:()=>Oy,UtxoNetwork:()=>H5,UTXOScriptType:()=>C0,TX_OVERHEAD:()=>N0,OutputSizes:()=>uT,OP_RETURN_OVERHEAD:()=>Nf,MIN_TX_FEE:()=>YX,InputSizes:()=>W0});module.exports=Uy(w5);var v5=P(()=>{_T();Kf();k0();oT();E5()});async function FX(T){try{let f=await fetch(`https://lite-api.jup.ag/tokens/v1/token/${T}`);if(!f.ok)return null;return await f.json()}catch{return null}}async function PX(T){let f=await iy(),{PublicKey:L}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),G=new L(T),X=[],Z=await f.getBalance(G);if(Z>0)X.push(j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:j.BaseDecimal[j.Chain.Solana],value:Z}));let J=await f.getParsedTokenAccountsByOwner(G,{programId:y});for(let{account:Q}of J.value){let x=Q.data.parsed.info,q=x.mint,_=x.tokenAmount.amount;if(Number(_)===0)continue;let z=await FX(q),M=z?.symbol||"UNKNOWN",B=z?.decimals||x.tokenAmount.decimals;X.push(j.AssetValue.from({asset:`${j.Chain.Solana}.${M}-${q}`,fromBaseDecimal:B,value:_}))}return X}async function A5(){let{PublicKey:T}=await import("@solana/web3.js");return(f)=>{try{let L=new T(f);return T.isOnCurve(L.toBytes())}catch(L){return!1}}}async function AX(T){let f=T&&"index"in T?T.index||0:0,L=j.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:j.updateDerivationPath(j.NetworkDerivationPath[j.Chain.Solana],{index:f})),y=await cT.match(T).with({phrase:cT.P.string},({phrase:X})=>P5({derivationPath:L,phrase:X})).with({signer:cT.P.any},({signer:X})=>X).otherwise(()=>{return});function G(){return y?.publicKey?Sf(y.publicKey):""}return{broadcastTransaction:F5(iy),createKeysForPath:P5,createTransaction:$5(iy),createTransactionFromInstructions:KX,estimateTransactionFee:$X(iy),getAddress:G,getAddressFromPubKey:Sf,getAddressValidator:A5,getBalance:(X)=>{let Z=X||G();if(!Z)throw new j.SwapKitError("core_wallet_connection_not_found");return PX(Z)},getConnection:iy,getPubkeyFromAddress:V5,signTransaction:uX(iy,y),transfer:SX(iy,y)}}function $X(T){return async({recipient:f,assetValue:L,memo:y,isProgramDerivedAddress:G,sender:X})=>{let Z=await T(),Q=(await $5(T)({assetValue:L,isProgramDerivedAddress:G,memo:y,recipient:f,sender:X})).compileMessage(),x=await Z.getFeeForMessage(Q);if(x.value===null)throw new j.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");return j.AssetValue.from({chain:j.Chain.Solana,fromBaseDecimal:j.BaseDecimal[j.Chain.Solana],value:x.value})}}async function iy(){let{Connection:T}=await import("@solana/web3.js"),f=await j.getRPCUrl(j.Chain.Solana);return new T(f,"confirmed")}function VX(T){return async({assetValue:f,recipient:L,sender:y,isProgramDerivedAddress:G})=>{let X=await T(),Z=await V5(y);if(f.isGasAsset){let{Transaction:J,SystemProgram:Q,PublicKey:x}=await import("@solana/web3.js");return new J().add(Q.transfer({fromPubkey:Z,lamports:f.getBaseValue("number"),toPubkey:new x(L)}))}if(f.address)return lX({amount:f.getBaseValue("number"),connection:X,decimals:f.decimal,from:Z,isProgramDerivedAddress:G,recipient:L,tokenAddress:f.address});return}}async function lX({tokenAddress:T,recipient:f,from:L,connection:y,amount:G,decimals:X,isProgramDerivedAddress:Z}){let{getAssociatedTokenAddress:J,getAccount:Q,createAssociatedTokenAccountInstruction:x,createTransferCheckedInstruction:q}=await import("@solana/spl-token"),{Transaction:_,PublicKey:z}=await import("@solana/web3.js"),M=new _,B=new z(T),N=await J(B,L),O=new z(f),l=await J(B,O,Z),S=!1;try{await Q(y,l),S=!0}catch(a){}if(!S)M.add(x(L,l,O,B));return M.add(q(N,B,l,L,G,X)),M}function $5(T){return async({recipient:f,assetValue:L,memo:y,isProgramDerivedAddress:G,sender:X})=>{let{createMemoInstruction:Z}=await import("@solana/spl-memo"),J=await V5(X),Q=await A5();if(!(G||Q(f)))throw new j.SwapKitError("core_transaction_invalid_recipient_address");let x=await T(),q=await VX(T)({assetValue:L,isProgramDerivedAddress:G,recipient:f,sender:X});if(!q)throw new j.SwapKitError("core_transaction_invalid_sender_address");if(y)q.add(Z(y));let _=await x.getLatestBlockhash();return q.recentBlockhash=_.blockhash,q.feePayer=J,q}}async function KX({instructions:T}){let{Transaction:f}=await import("@solana/web3.js"),L=new f().add(...T);if(!L)throw new j.SwapKitError("core_transaction_invalid_sender_address");return L}function SX(T,f){return async({recipient:L,assetValue:y,memo:G,isProgramDerivedAddress:X})=>{if(!f)throw new j.SwapKitError("core_transaction_invalid_sender_address");let Z=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),J=await $5(T)({assetValue:y,isProgramDerivedAddress:X,memo:G,recipient:L,sender:Z});if("signTransaction"in f){let Q=await f.signTransaction(J);return F5(T)(Q)}return J.sign(f),F5(T)(J)}}function F5(T){return async(f)=>{return(await T()).sendRawTransaction(f.serialize())}}function uX(T,f){return async(L)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!f)throw new j.SwapKitError("toolbox_solana_no_signer");if(!(L instanceof y)){let X=await(await T()).getLatestBlockhash();L.recentBlockhash=X.blockhash,L.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(L);return await L.sign([f]),L}}async function P5({phrase:T,derivationPath:f=j.DerivationPath.SOL}){let{HDKey:L}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:G}=await import("@solana/web3.js"),X=y(T),Z=L.fromMasterSeed(X);return G.fromSeed(Z.derive(f,!0).privateKey)}function Sf(T){return T.toString()}async function V5(T){let{PublicKey:f}=await import("@solana/web3.js");return new f(T)}var j,cT;var uf=P(()=>{j=require("@swapkit/helpers"),cT=require("ts-pattern")});var l5={};qy(l5,{getSolanaToolbox:()=>AX,getSolanaAddressValidator:()=>A5,createKeysForPath:()=>P5});module.exports=Uy(l5);var K5=P(()=>{uf()});async function gT(){let{validateAccountId:T}=await import("near-sdk-js");return(f)=>{try{return T(f)}catch{let L=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return f.length>=2&&f.length<=64&&L.test(f)}}}async function w0(T){let{parseSeedPhrase:f}=await import("near-seed-phrase"),{KeyPair:L}=await import("near-api-js"),y=T.index||0,G=T.derivationPath?E0.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:X}=f(T.phrase,G),Z=L.fromString(X);return hf(Z)}async function S5(T){let{KeyPair:f}=await import("near-api-js/lib/utils"),L=f.fromString(T);return hf(L)}function hf(T){return new jf(T)}async function v0(T,f){let y=(await T.query({account_id:f,finality:"final",request_type:"view_access_key_list"})).keys.find((J)=>J.access_key.permission==="FullAccess");if(!y)throw new E0.SwapKitError("toolbox_near_invalid_address");let{utils:G}=await import("near-api-js"),X=G.PublicKey.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:X}}var E0,bf,jf;var u5=P(()=>{E0=require("@swapkit/helpers"),bf=require("near-api-js");jf=class jf extends bf.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),f=Buffer.from(T.data).toString("hex");return Promise.resolve(f)}}});function b5(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function j5(T){return"contractId"in T&&"methodName"in T}function h5(T){return"actions"in T}function n5(T){return"newAccountId"in T}function p5(T){return"contractCode"in T}function m5(T){return"customEstimator"in T}function o5(T){let f=0;for(let L of T)switch(L.enum){case"transfer":f+=Number(Gy.SIMPLE_TRANSFER);break;case"functionCall":f+=Number(Gy.CONTRACT_CALL);break;case"createAccount":f+=Number(Gy.ACCOUNT_CREATION);break;case"deployContract":f+=Number(Gy.CONTRACT_DEPLOYMENT);break;case"addKey":f+=Number(Gy.ACCESS_KEY_ADDITION);break;case"deleteKey":f+=Number(Gy.ACCESS_KEY_DELETION);break;case"stake":f+=Number(Gy.STAKE);break;default:f+=Number(Gy.CONTRACT_CALL)}return f.toString()}function c5(T){if(T==="ft_transfer"||T==="ft_transfer_call")return Gy.TOKEN_TRANSFER;if(T==="storage_deposit")return Gy.STORAGE_DEPOSIT;return Gy.CONTRACT_CALL}function bX(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function jX(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Gy;var g5=P(()=>{Gy={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"150",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"150",TOKEN_TRANSFER:"150"}});async function F0({account:T,contractId:f,viewMethods:L,changeMethods:y}){let{Contract:G}=await import("near-api-js");return new G(T,f,{changeMethods:y,useLocalViewExecution:!0,viewMethods:L})}async function t5({contractId:T,account:f}){let L=(await import("bn.js")).default,y=await F0({account:f,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"]}),G=async(X)=>{if(!await y.storage_balance_of({account_id:X})){let Q=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:X},new L("100000000000000"),new L(Q))}};return{balanceOf:(X)=>y.ft_balance_of({account_id:X}),contract:y,ensureStorage:G,metadata:()=>y.ft_metadata(),storageBalanceOf:(X)=>y.storage_balance_of({account_id:X}),storageDeposit:(X,Z)=>y.storage_deposit({account_id:X},new L("100000000000000"),new L(Z||"1250000000000000000000")),totalSupply:()=>y.ft_total_supply(),transfer:async(X,Z,J)=>{return await G(X),y.ft_transfer({amount:Z,memo:J,receiver_id:X},new L("100000000000000"),new L("1"))},transferCall:async(X,Z,J,Q)=>{return await G(X),y.ft_transfer_call({amount:Z,memo:Q,msg:J,receiver_id:X},new L("100000000000000"),new L("1"))}}}async function hX(T){let{P:f,match:L}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),G=await L(T).with({phrase:f.string},async(I)=>{return await w0(I)}).with({signer:f.any},({signer:I})=>I).otherwise(()=>{return}),X=await n.getRPCUrl(n.Chain.Near),Z=new y.JsonRpcProvider({url:X});async function J(I){let{Account:b}=await import("near-api-js"),C=I||await Q();return new b(C,Z,G)}async function Q(){if(!G)throw new n.SwapKitError("toolbox_near_no_signer");return await G.getAddress()}async function x(I){if(!G)throw new n.SwapKitError("toolbox_near_no_signer");let{recipient:b,assetValue:C}=I;if(!(await gT())(b))throw new n.SwapKitError("toolbox_near_invalid_address");let E=await J();if(C.isGasAsset===!1){let R=C.address;if(!R)throw new n.SwapKitError("toolbox_near_missing_contract_address");let F=C.getBaseValue("string");return l({args:{amount:F,memo:I.memo,receiver_id:b},contractId:R,methodName:"ft_transfer"})}try{let R=C.getBaseValue("string");return(await E.transfer({amount:R,receiverId:b})).transaction_outcome.id}catch(R){throw new n.SwapKitError("toolbox_near_transfer_failed",{error:R})}}async function q(I){let{recipient:b,assetValue:C,memo:v,feeRate:E,attachedDeposit:R,sender:F}=I,o=await gT();if(!o(b))throw new n.SwapKitError("toolbox_near_invalid_address",{address:b});if(!o(F))throw new n.SwapKitError("toolbox_near_invalid_address",{address:F});if(!C.isGasAsset){let WT=C.address;if(!WT)throw new n.SwapKitError("toolbox_near_missing_contract_address");return _({args:{amount:C.getBaseValue("string"),memo:v||null,receiver_id:b},attachedDeposit:"1",contractId:WT,gas:E.toString()||"100000000000000",methodName:"ft_transfer",sender:F})}let{publicKey:i,nonce:t}=await v0(Z,F),r=C.getBaseValue("bigint"),{SCHEMA:xy}=await import("near-api-js/lib/transaction"),{transactions:Ty,utils:Hy}=await import("near-api-js"),Wy=[Ty.transfer(r)];if(v&&R)Wy.push(Ty.functionCall("memo",{memo:v},BigInt(E),BigInt(R)));let ry=await Z.block({finality:"final"}),HT=Hy.serialize.base_decode(ry.header.hash),P0=Ty.createTransaction(F,i,b,t,Wy,HT),ay=Hy.serialize.serialize(xy.Transaction,P0),dT=Buffer.from(ay).toString("base64");return{details:{blockHash:Hy.serialize.base_encode(HT),nonce:t,signerId:F},publicKey:i.toString(),serialized:dT}}async function _(I){let{sender:b}=I,{publicKey:C,nonce:v}=await v0(Z,b),{SCHEMA:E}=await import("near-api-js/lib/transaction"),{transactions:R,utils:F}=await import("near-api-js"),o=await Z.block({finality:"final"}),i=F.serialize.base_decode(o.header.hash),t=[R.functionCall(I.methodName,Buffer.from(JSON.stringify(I.args)),BigInt(I.gas),BigInt(I.attachedDeposit))],r=R.createTransaction(b,C,I.contractId,v,t,i),xy=F.serialize.serialize(E.Transaction,r),Ty=Buffer.from(xy).toString("base64");return{details:{blockHash:F.serialize.base_encode(i),methodName:I.methodName,nonce:v,receiverId:I.contractId,signerId:b},publicKey:C.toString(),serialized:Ty}}async function z(I){if(!G)throw new n.SwapKitError("toolbox_near_no_signer");let[b,C]=await G.signTransaction(I);return C}async function M(I){return(await Z.sendTransaction(I)).transaction.hash}async function B(I){if("assetValue"in I){let E=BigInt("115123062500")+BigInt("108059500000"),R=await N(),F=E*BigInt(R.toString());return n.AssetValue.from({chain:n.Chain.Near,fromBaseDecimal:n.BaseDecimal[n.Chain.Near],value:F.toString()})}let b=G?await J():void 0;return yy(I,b)}async function N(){try{return await Z.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function O(I,b,C){if(!G)throw new n.SwapKitError("toolbox_near_no_signer");let v=await J(),{utils:E}=await import("near-api-js"),R=E.format.parseNearAmount(C)||"0";return(await v.createAccount(I,E.PublicKey.fromString(b),BigInt(R))).transaction.hash}async function l(I){try{if(!G)throw new n.SwapKitError("toolbox_near_no_signer");let{transactions:b}=await import("near-api-js"),{contractId:C,methodName:v,args:E,deposit:R}=I,F=await J(),o=await yy({args:E||{},contractId:C,methodName:v}),i=b.functionCall(v,E||{},o.getBaseValue("bigint"),BigInt(R||"1"));return(await F.signAndSendTransaction({actions:[i],receiverId:C})).transaction_outcome.id}catch(b){throw new n.SwapKitError("toolbox_near_transfer_failed",{error:b})}}async function S(I){let b=await J();return F0({account:b,changeMethods:I.changeMethods,contractId:I.contractId,viewMethods:I.viewMethods})}async function a(I){if(!G)throw new n.SwapKitError("toolbox_near_no_signer");if(I.actions.length===0)throw new n.SwapKitError("toolbox_near_empty_batch");return(await(await J()).signAndSendTransaction({actions:I.actions,receiverId:I.receiverId})).transaction.hash}async function g(I){let b=await J();return t5({account:b,contractId:I})}async function yy(I,b){let C=await L(I).when(b5,()=>Gy.SIMPLE_TRANSFER).when(j5,(R)=>c5(R.methodName)).when(h5,(R)=>o5(R.actions)).when(n5,()=>Gy.ACCOUNT_CREATION).when(p5,()=>Gy.CONTRACT_DEPLOYMENT).when(m5,(R)=>{if(!b)throw new n.SwapKitError("toolbox_near_no_account");return R.customEstimator(b)}).otherwise(()=>{throw new n.SwapKitError("toolbox_near_invalid_gas_params")}),E=BigInt(C)*BigInt(1000000000000);return n.AssetValue.from({chain:n.Chain.Near,fromBaseDecimal:n.BaseDecimal[n.Chain.Near],value:E})}async function Xy(){try{return(await Z.gasPrice(null)).gas_price||"100000000"}catch(I){return"100000000"}}return{broadcastTransaction:M,callFunction:l,createContract:S,createContractFunctionCall:_,createSubAccount:O,createTransaction:q,estimateGas:yy,estimateTransactionFee:B,executeBatchTransaction:a,getAddress:Q,getBalance:sy(n.Chain.Near),getGasPrice:Xy,getPublicKey:async()=>G?(await G.getPublicKey()).toString():"",getSignerFromPhrase:(I)=>w0(I),getSignerFromPrivateKey:S5,nep141:g,provider:Z,signTransaction:z,transfer:x,validateAddress:await gT()}}var n;var d5=P(()=>{n=require("@swapkit/helpers");vT();u5();g5()});var nf=P(()=>{d5()});var i5={};qy(i5,{tgasToGas:()=>bX,isSimpleTransfer:()=>b5,isCustomEstimator:()=>m5,isContractDeployment:()=>p5,isContractCall:()=>j5,isBatchTransaction:()=>h5,isAccountCreation:()=>n5,getValidateNearAddress:()=>gT,getNearToolbox:()=>hX,getNearSignerFromPrivateKey:()=>S5,getNearSignerFromPhrase:()=>w0,getFullAccessPublicKey:()=>v0,getContractMethodGas:()=>c5,gasToTGas:()=>jX,estimateBatchGas:()=>o5,createNearContract:()=>F0,createNEP141Token:()=>t5,GAS_COSTS:()=>Gy});module.exports=Uy(i5);var r5=P(()=>{u5();g5();d5();nf()});var s5={};qy(s5,{rippleValidateAddress:()=>a5,hashes:()=>mf.hashes,getRippleToolbox:()=>pX});module.exports=Uy(s5);function pf(T){let f=hy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(f.address),signTransaction:(L)=>Promise.resolve(f.sign(L))}}function a5(T){return hy.isValidAddress(T)}var p,hy,mf,nX,pX=async(T={})=>{let f="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?pf(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 G=()=>{if(!f)throw new p.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.getAddress()},X=async(z)=>{let M=z||await G();try{let N=(await y.request({account:M,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===nX.ACCOUNT_NOT_FOUND)return[p.AssetValue.from({chain:p.Chain.Ripple,value:0})];throw new p.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:M,error:B}})}},Z=async()=>{let M=(await y.request({command:"fee"})).result.drops.open_ledger_fee;return p.AssetValue.from({chain:p.Chain.Ripple,value:p.SwapKitNumber.fromBigInt(BigInt(M),p.BaseDecimal[p.Chain.Ripple])})},J=async({assetValue:z,recipient:M,memo:B,sender:N})=>{if(!a5(M))throw new p.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let O=N||await G();if(!z.isGasAsset||z.chain!==p.Chain.Ripple)throw new p.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:z.toString()}});let l={Account:O,Amount:hy.xrpToDrops(z.getValue("string")),Destination:M,TransactionType:"Payment"};if(B)l.Memos=[{Memo:{MemoData:Buffer.from(B).toString("hex")}}];return await y.autofill(l)},Q=(z)=>{if(!f)throw new p.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.signTransaction(z)},x=async(z)=>{let B=(await y.submitAndWait(z)).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:pf,createTransaction:J,disconnect:()=>y.disconnect(),estimateTransactionFee:Z,getAddress:G,getBalance:X,signer:f,signTransaction:Q,transfer:async(z)=>{if(!f)throw new p.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let M=await f.getAddress(),B=await J({...z,sender:M}),N=await Q(B);return x(N.tx_blob)},validateAddress:a5}};var e5=P(()=>{p=require("@swapkit/helpers"),hy=require("xrpl"),mf=require("xrpl"),nX={ACCOUNT_NOT_FOUND:19}});var y1={};qy(y1,{radixValidateAddress:()=>of,RadixToolbox:()=>tX});module.exports=Uy(y1);function of(T){return T.startsWith("account_rdx1")&&T.length===66}function mX({networkApi:T}){return async function(L){let y=await oX({address:L,networkApi:T});return cX({networkApi:T,resources:y})}}async function oX({address:T,networkApi:f}){let L=!0,y,G=[],X=await gX(f);while(L){let Z={address:T,at_ledger_state:{state_version:X},cursor:y,limit_per_page:100},J=await f.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:Z});if(G=G.concat(J.items),J.next_cursor)y=J.next_cursor;else L=!1}return G}async function cX({resources:T,networkApi:f}){let L=[],y=50,G=[];for(let X=0;X<T.length;X+=50)G.push(T.slice(X,X+50));for(let X of G){let Z=X.map((x)=>x.resource_address),J=await f.state.getEntityDetailsVaultAggregated(Z),Q=new Map;for(let x of J)if(x.details!==void 0){let q=x.metadata?.items.find((z)=>z.key==="symbol"),_=q?.value.typed.type==="String"?q.value.typed.value:"?";if(x.details.type==="FungibleResource")Q.set(x.address,{decimals:x.details.divisibility,symbol:_})}for(let x of X)if(x.aggregation_level==="Global"){let q=Q.get(x.resource_address)||{decimals:0,symbol:"?"},_=vy.AssetValue.from({asset:q.symbol!==vy.Chain.Radix?`${vy.Chain.Radix}.${q.symbol}-${x.resource_address}`:"XRD.XRD",value:x.amount});L.push(_)}}return L}function gX(T){return T.status.getCurrent().then((f)=>f.ledger_state.state_version)}var vy,tX=async({dappConfig:T}={})=>{let{RadixDappToolkit:f}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:L}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||vy.SKConfig.get("integrations").radix,G=f({...y,networkId:y.network?.networkId||1}),X=L.initialize(G.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:mX({networkApi:X}),networkApi:X,signAndBroadcast:()=>{throw new vy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:of}};var T1=P(()=>{vy=require("@swapkit/helpers")});var YT;var f1=P(()=>{YT=[{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 gf(T){let f=await import("tronweb"),L=f.TronWeb??f.default?.TronWeb;try{let y=await fetch(`${dX}/v1/accounts/${T}`);if(!y.ok)throw Error(`TronGrid API error: ${y.status} ${y.statusText}`);let G=await y.json();if(!(G.success&&G.data)||G.data.length===0)throw Error("Invalid response from TronGrid API");let X;try{X=L.address.toHex(T).toLowerCase()}catch{X=T.toLowerCase()}let Z=G.data.find((J)=>{return J.address.toLowerCase()===X});if(!Z)return;return{balance:Z.balance,trc20:Z.trc20||[]}}catch(y){throw new cf.SwapKitError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var cf,dX="https://api.trongrid.io";var tf=P(()=>{cf=require("@swapkit/helpers")});async function X1(){let T=await import("tronweb"),f=T.TronWeb??T.default?.TronWeb;return(L)=>{return f.isAddress(L)}}async function rf({phrase:T,derivationPath:f,index:L}){let y=f||$.derivationPathToString($.updateDerivationPath($.NetworkDerivationPath[$.Chain.Tron],{index:L||0})),{HDKey:G}=await import("@scure/bip32"),{mnemonicToSeedSync:X}=await import("@scure/bip39"),Z=X(T),Q=G.fromMasterSeed(Z).derive(y);if(!Q.privateKey)throw new $.SwapKitError("toolbox_tron_no_signer");return Buffer.from(Q.privateKey).toString("hex")}async function eX({phrase:T,derivationPath:f,tronWeb:L}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:G}=await import("@scure/bip39"),X=G(T),J=y.fromMasterSeed(X).derive(f);if(!J.privateKey)throw new $.SwapKitError("toolbox_tron_no_signer");let Q=Buffer.from(J.privateKey).toString("hex");L.setPrivateKey(Q);let x=L?.address.fromPrivateKey(Q);return{getAddress:()=>Promise.resolve(typeof x==="string"?x:""),signTransaction:async(q)=>{return await L.trx.sign(q,Q)}}}var $,tT,iX=268,rX=13000,aX=345,df="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",sX="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",af=async(T={})=>{let f=await import("tronweb"),L=f.TronWeb??f.default?.TronWeb,y=await $.getRPCUrl($.Chain.Tron),G=void 0,X=new L({fullHost:y,headers:void 0}),Z="index"in T?T.index||0:0,J=$.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:$.updateDerivationPath($.NetworkDerivationPath[$.Chain.Tron],{index:Z})),Q=await tT.match(T).with({phrase:tT.P.string},async({phrase:C})=>eX({derivationPath:J,phrase:C,tronWeb:X})).with({signer:tT.P.any},({signer:C})=>Promise.resolve(C)).otherwise(()=>Promise.resolve(void 0)),x=async()=>{if(!Q)throw new $.SwapKitError("toolbox_tron_no_signer");return await Q.getAddress()},q=()=>{return 1e8},_=async()=>{try{let C=await X.trx.getChainParameters(),v={};for(let E of C)v[E.key]=E.value;return{bandwidthFee:v.getTransactionFee||1000,createAccountFee:v.getCreateAccountFee||1e5,energyFee:v.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},z=async(C)=>{try{let v=await X.trx.getAccount(C);return v&&Object.keys(v).length>0}catch{return!1}},M=async(C)=>{try{let v=await X.trx.getAccountResources(C);return{bandwidth:{free:v.freeNetLimit-v.freeNetUsed,total:v.NetLimit||0,used:v.NetUsed||0},energy:{total:v.EnergyLimit||0,used:v.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},B=async(C,v)=>{try{let E=X.contract(YT,v);if(!E.methods?.balanceOf)return 0n;let[R]=await E.methods.balanceOf(C).call();return R?typeof R==="bigint"?R:BigInt(R):0n}catch(E){return console.warn(`balanceOf() failed for ${v}:`,E),0n}},N=async(C,v)=>{try{X.setAddress(v);let E=X.contract(YT,C),[R,F]=await Promise.all([E.symbol().call().catch(()=>"UNKNOWN"),E.decimals().call().catch(()=>"18")]);return{decimals:Number(F??18),symbol:R??"UNKNOWN"}}catch(E){return $.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${C}: ${E instanceof Error?E.message:E}`}),null}},O=async(C,v=!0)=>{let E=[$.AssetValue.from({chain:$.Chain.Tron})];try{let R=await gf(C);if(R){let F=[];F.push($.AssetValue.from({chain:$.Chain.Tron,fromBaseDecimal:6,value:R.balance}));for(let o of R.trc20){let[i,t]=Object.entries(o)[0]||[];if(!(i&&t))continue;let r=await N(i,C);if(!r)continue;F.push($.AssetValue.from({asset:`TRON.${r.symbol}-${i}`,fromBaseDecimal:r.decimals,value:BigInt(t||0)}))}return F}return E}catch(R){$.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${R instanceof Error?R.message:R}`});let F=[],o=await X.trx.getBalance(C);if(o&&Number(o)>0)F.push($.AssetValue.from({chain:$.Chain.Tron,fromBaseDecimal:6,value:o}));let i=await B(C,df);if(i)F.push($.AssetValue.from({asset:`TRON.USDT-${df}`,fromBaseDecimal:6,value:i}));return F}},l=async({recipient:C,assetValue:v,memo:E})=>{if(!Q)throw new $.SwapKitError("toolbox_tron_no_signer");let R=await x();if(X.setAddress(R),v.isGasAsset){let r=await X.transactionBuilder.sendTrx(C,v.getBaseValue("number"),R);if(E){let Hy=await X.transactionBuilder.addUpdateData(r,E,"utf8"),Wy=await Q.signTransaction(Hy),{txid:ry}=await X.trx.sendRawTransaction(Wy);return ry}let xy=await Q.signTransaction(r),{txid:Ty}=await X.trx.sendRawTransaction(xy);return Ty}let o=await a({assetValue:v,memo:E,recipient:C,sender:R}),i=await Q.signTransaction(o),{txid:t}=await X.trx.sendRawTransaction(i);if(!t)throw new $.SwapKitError("toolbox_tron_token_transfer_failed");return t},S=async({assetValue:C,recipient:v,sender:E})=>{let R=C.isGasAsset;try{let F=E?E:Q?await x():void 0;if(!F)return R?$.AssetValue.from({chain:$.Chain.Tron,fromBaseDecimal:0,value:0.1}):$.AssetValue.from({chain:$.Chain.Tron,fromBaseDecimal:0,value:15});let o=await _(),t=await z(v)?0:o.createAccountFee,r=await M(F);if(R){let ay=iX,dT=r.bandwidth.free+(r.bandwidth.total-r.bandwidth.used),WT=0;if(ay>dT)WT=(ay-dT)*o.bandwidthFee;let ef=t+WT;return $.AssetValue.from({chain:$.Chain.Tron,fromBaseDecimal:6,value:ef})}let xy=aX,Ty=rX,Hy=r.bandwidth.free+(r.bandwidth.total-r.bandwidth.used),Wy=r.energy.total-r.energy.used,ry=0;if(xy>Hy)ry=(xy-Hy)*o.bandwidthFee;let HT=0;if(Ty>Wy)HT=(Ty-Wy)*o.energyFee;let P0=t+ry+HT;return $.AssetValue.from({chain:$.Chain.Tron,fromBaseDecimal:6,value:P0})}catch(F){throw $.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${F instanceof Error?F.message:F}`}),new $.SwapKitError("toolbox_tron_fee_estimation_failed",{error:F})}},a=async(C)=>{let{recipient:v,assetValue:E,memo:R,sender:F}=C;if(E.isGasAsset){let t=await X.transactionBuilder.sendTrx(v,E.getBaseValue("number"),F);if(R)return X.transactionBuilder.addUpdateData(t,R,"utf8");return t}X.setAddress(F);let i=E.address;if(!i)throw new $.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:E.toString()});try{let r=[{type:"address",value:v},{type:"uint256",value:E.getBaseValue("string")}],xy={callValue:0,feeLimit:q()},Ty=await X.transactionBuilder.triggerSmartContract(i,"transfer(address,uint256)",xy,r,F);if(R)return X.transactionBuilder.addUpdateData(Ty.transaction,R,"utf8");return Ty.transaction}catch(t){throw new $.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:t instanceof Error?t.message:String(t)})}},g=async(C)=>{if(!Q)throw new $.SwapKitError("toolbox_tron_no_signer");return await Q.signTransaction(C)},yy=async(C)=>{let{txid:v}=await X.trx.sendRawTransaction(C);return v},Xy=async({assetAddress:C,spenderAddress:v,from:E})=>{try{let R=X.contract(YT,C);if(!R.methods?.allowance)throw new $.SwapKitError("toolbox_tron_invalid_token_contract");let[F]=await R.methods.allowance(E,v).call();return F?typeof F==="bigint"?F:BigInt(F):0n}catch(R){throw new $.SwapKitError("toolbox_tron_allowance_check_failed",{error:R})}};return{approve:async({assetAddress:C,spenderAddress:v,amount:E,from:R})=>{if(!Q)throw new $.SwapKitError("toolbox_tron_no_signer");let F=R||await x(),o=E!==void 0?BigInt(E).toString():sX,i="approve(address,uint256)",t=[{type:"address",value:v},{type:"uint256",value:o}],xy={callValue:0,feeLimit:q()};try{let{transaction:Ty}=await X.transactionBuilder.triggerSmartContract(C,i,xy,t,F),Hy=await Q.signTransaction(Ty),{txid:Wy}=await X.trx.sendRawTransaction(Hy);if(!Wy)throw new $.SwapKitError("toolbox_tron_approve_failed");return Wy}catch(Ty){throw new $.SwapKitError("toolbox_tron_approve_failed",{error:Ty})}},broadcastTransaction:yy,createTransaction:a,estimateTransactionFee:S,getAddress:x,getApprovedAmount:Xy,getBalance:O,isApproved:async({assetAddress:C,spenderAddress:v,from:E,amount:R})=>{let F=await Xy({assetAddress:C,from:E,spenderAddress:v});if(!R)return F>0n;let o=BigInt(R);return F>=o},signTransaction:g,transfer:l,tronWeb:X,validateAddress:await X1()}};var sf=P(()=>{$=require("@swapkit/helpers"),tT=require("ts-pattern");f1();tf()});var G1={};qy(G1,{trc20ABI:()=>YT,getTronPrivateKeyFromMnemonic:()=>rf,getTronAddressValidator:()=>X1,createTronToolbox:()=>af});module.exports=Uy(G1);var L1=P(()=>{f1();sf()});var f8={};qy(f8,{getToolbox:()=>Z1,getFeeEstimator:()=>T8,getAddressValidator:()=>y8});module.exports=Uy(f8);var W=require("@swapkit/helpers");async function y8(){let{match:T}=await import("ts-pattern"),{cosmosValidateAddress:f}=await Promise.resolve().then(() => (eT(),sT)),{evmValidateAddress:L}=await Promise.resolve().then(() => (e1(),s1)),{substrateValidateAddress:y}=await Promise.resolve().then(() => (_5(),q5)),{getUTXOAddressValidator:G}=await Promise.resolve().then(() => (v5(),w5)),{getSolanaAddressValidator:X}=await Promise.resolve().then(() => (K5(),l5)),{getValidateNearAddress:Z}=await Promise.resolve().then(() => (r5(),i5)),{rippleValidateAddress:J}=await Promise.resolve().then(() => (e5(),s5)),{radixValidateAddress:Q}=await Promise.resolve().then(() => (T1(),y1)),{getTronAddressValidator:x}=await Promise.resolve().then(() => (L1(),G1)),q=await X(),_=await G(),z=await x(),M=await Z();return function({address:N,chain:O}){return T(O).with(...W.EVMChains,()=>L({address:N})).with(...W.UTXOChains,()=>_({address:N,chain:O})).with(W.Chain.Cosmos,W.Chain.Kujira,W.Chain.Noble,W.Chain.Maya,W.Chain.THORChain,()=>f({address:N,chain:O})).with(W.Chain.Chainflip,W.Chain.Polkadot,()=>y({address:N,chain:O})).with(W.Chain.Radix,()=>Q(N)).with(W.Chain.Near,()=>M(N)).with(W.Chain.Ripple,()=>J(N)).with(W.Chain.Solana,()=>q(N)).with(W.Chain.Tron,()=>z(N)).otherwise(()=>!1)}}function T8(T){return async function(L){let{match:y}=await import("ts-pattern");return y(T).returnType().with(W.Chain.Arbitrum,W.Chain.Aurora,W.Chain.Avalanche,W.Chain.Base,W.Chain.Berachain,W.Chain.BinanceSmartChain,W.Chain.Ethereum,W.Chain.Gnosis,W.Chain.Optimism,W.Chain.Polygon,async(G)=>{let X=await Z1(G),Z=await X.createTransaction(L);return X.estimateTransactionFee({...Z,chain:G,feeOption:L.feeOptionKey||W.FeeOption.Fast})}).with(W.Chain.Bitcoin,W.Chain.BitcoinCash,W.Chain.Dogecoin,W.Chain.Dash,W.Chain.Litecoin,W.Chain.Polkadot,W.Chain.Solana,W.Chain.Ripple,W.Chain.Tron,W.Chain.Near,async(G)=>{return(await Z1(G)).estimateTransactionFee(L)}).with(W.Chain.THORChain,W.Chain.Maya,W.Chain.Kujira,W.Chain.Noble,W.Chain.Cosmos,async()=>{let{estimateTransactionFee:G}=await Promise.resolve().then(() => (eT(),sT));return G(L)}).otherwise(async()=>W.AssetValue.from({chain:T}))}}async function Z1(T,f){let{match:L}=await import("ts-pattern");return L(T).returnType().with(W.Chain.Arbitrum,W.Chain.Aurora,W.Chain.Avalanche,W.Chain.Base,W.Chain.Berachain,W.Chain.BinanceSmartChain,W.Chain.Ethereum,W.Chain.Gnosis,W.Chain.Optimism,W.Chain.Polygon,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (X5(),i1));return await y(T,f)}).with(W.Chain.Litecoin,W.Chain.Dash,W.Chain.Dogecoin,W.Chain.BitcoinCash,W.Chain.Bitcoin,W.Chain.Zcash,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (v5(),w5));return await y(T,f)}).with(W.Chain.Cosmos,W.Chain.Kujira,W.Chain.Noble,W.Chain.Maya,W.Chain.THORChain,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (eT(),sT));return await y(T,f)}).with(W.Chain.Chainflip,W.Chain.Polkadot,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (_5(),q5));return await y(T,f)}).with(W.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (T1(),y1));return await y(f)}).with(W.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (e5(),s5));return await y(f)}).with(W.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (K5(),l5));return await y(f)}).with(W.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (L1(),G1));return await y(f)}).with(W.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (r5(),i5));return await y(f)}).otherwise(()=>{throw new W.SwapKitError("toolbox_not_supported",{chain:T})})}
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=42BDB13FB2A647DD64756E2164756E21
|
|
5
5
|
//# sourceMappingURL=index.cjs.map
|