@swapkit/toolboxes 4.0.0 → 4.0.1

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.
Files changed (122) hide show
  1. package/dist/src/cosmos/index.cjs +2 -2
  2. package/dist/src/cosmos/index.cjs.map +8 -8
  3. package/dist/src/cosmos/index.js +2 -2
  4. package/dist/src/cosmos/index.js.map +8 -8
  5. package/dist/src/evm/index.cjs +2 -2
  6. package/dist/src/evm/index.cjs.map +12 -12
  7. package/dist/src/evm/index.js +2 -2
  8. package/dist/src/evm/index.js.map +12 -12
  9. package/dist/src/index.cjs +3 -3
  10. package/dist/src/index.cjs.map +45 -44
  11. package/dist/src/index.js +3 -3
  12. package/dist/src/index.js.map +45 -44
  13. package/dist/src/near/index.cjs +2 -2
  14. package/dist/src/near/index.cjs.map +8 -8
  15. package/dist/src/near/index.js +2 -2
  16. package/dist/src/near/index.js.map +8 -8
  17. package/dist/src/radix/index.cjs +2 -2
  18. package/dist/src/radix/index.cjs.map +3 -3
  19. package/dist/src/radix/index.js +2 -2
  20. package/dist/src/radix/index.js.map +3 -3
  21. package/dist/src/ripple/index.cjs +2 -2
  22. package/dist/src/ripple/index.cjs.map +3 -3
  23. package/dist/src/ripple/index.js +2 -2
  24. package/dist/src/ripple/index.js.map +3 -3
  25. package/dist/src/solana/index.cjs +2 -2
  26. package/dist/src/solana/index.cjs.map +4 -4
  27. package/dist/src/solana/index.js +2 -2
  28. package/dist/src/solana/index.js.map +4 -4
  29. package/dist/src/substrate/index.cjs +2 -2
  30. package/dist/src/substrate/index.cjs.map +5 -5
  31. package/dist/src/substrate/index.js +2 -2
  32. package/dist/src/substrate/index.js.map +5 -5
  33. package/dist/src/tron/index.cjs +2 -2
  34. package/dist/src/tron/index.cjs.map +5 -5
  35. package/dist/src/tron/index.js +2 -2
  36. package/dist/src/tron/index.js.map +5 -5
  37. package/dist/src/utxo/index.cjs +3 -3
  38. package/dist/src/utxo/index.cjs.map +14 -13
  39. package/dist/src/utxo/index.js +3 -3
  40. package/dist/src/utxo/index.js.map +14 -13
  41. package/dist/types/cosmos/thorchainUtils/addressFormat.d.ts.map +1 -1
  42. package/dist/types/cosmos/thorchainUtils/messages.d.ts +58 -58
  43. package/dist/types/cosmos/thorchainUtils/messages.d.ts.map +1 -1
  44. package/dist/types/cosmos/thorchainUtils/registry.d.ts.map +1 -1
  45. package/dist/types/cosmos/thorchainUtils/types/client-types.d.ts +2 -5
  46. package/dist/types/cosmos/thorchainUtils/types/client-types.d.ts.map +1 -1
  47. package/dist/types/cosmos/toolbox/cosmos.d.ts +19 -41
  48. package/dist/types/cosmos/toolbox/cosmos.d.ts.map +1 -1
  49. package/dist/types/cosmos/toolbox/thorchain.d.ts +45 -46
  50. package/dist/types/cosmos/toolbox/thorchain.d.ts.map +1 -1
  51. package/dist/types/cosmos/types.d.ts +5 -1
  52. package/dist/types/cosmos/types.d.ts.map +1 -1
  53. package/dist/types/cosmos/util.d.ts +10 -10
  54. package/dist/types/cosmos/util.d.ts.map +1 -1
  55. package/dist/types/evm/contracts/op/gasOracle.d.ts.map +1 -1
  56. package/dist/types/evm/helpers.d.ts +1 -15
  57. package/dist/types/evm/helpers.d.ts.map +1 -1
  58. package/dist/types/evm/index.d.ts +1 -1
  59. package/dist/types/evm/index.d.ts.map +1 -1
  60. package/dist/types/evm/toolbox/baseEVMToolbox.d.ts +14 -14
  61. package/dist/types/evm/toolbox/baseEVMToolbox.d.ts.map +1 -1
  62. package/dist/types/evm/toolbox/evm.d.ts +108 -108
  63. package/dist/types/evm/toolbox/evm.d.ts.map +1 -1
  64. package/dist/types/evm/toolbox/index.d.ts +97 -29
  65. package/dist/types/evm/toolbox/index.d.ts.map +1 -1
  66. package/dist/types/evm/toolbox/op.d.ts +36 -24
  67. package/dist/types/evm/toolbox/op.d.ts.map +1 -1
  68. package/dist/types/evm/types.d.ts +1 -1
  69. package/dist/types/evm/types.d.ts.map +1 -1
  70. package/dist/types/index.d.ts +1 -1
  71. package/dist/types/index.d.ts.map +1 -1
  72. package/dist/types/near/helpers/core.d.ts +1 -1
  73. package/dist/types/near/helpers/core.d.ts.map +1 -1
  74. package/dist/types/near/helpers/gasEstimation.d.ts +5 -5
  75. package/dist/types/near/helpers/gasEstimation.d.ts.map +1 -1
  76. package/dist/types/near/helpers/nep141.d.ts.map +1 -1
  77. package/dist/types/near/index.d.ts +4 -4
  78. package/dist/types/near/index.d.ts.map +1 -1
  79. package/dist/types/near/toolbox.d.ts.map +1 -1
  80. package/dist/types/near/types/contract.d.ts.map +1 -1
  81. package/dist/types/near/types/nep141.d.ts.map +1 -1
  82. package/dist/types/near/types/toolbox.d.ts.map +1 -1
  83. package/dist/types/near/types.d.ts +2 -2
  84. package/dist/types/near/types.d.ts.map +1 -1
  85. package/dist/types/radix/index.d.ts +2 -2
  86. package/dist/types/radix/index.d.ts.map +1 -1
  87. package/dist/types/ripple/index.d.ts +14 -11
  88. package/dist/types/ripple/index.d.ts.map +1 -1
  89. package/dist/types/solana/index.d.ts.map +1 -1
  90. package/dist/types/solana/toolbox.d.ts +10 -10
  91. package/dist/types/solana/toolbox.d.ts.map +1 -1
  92. package/dist/types/substrate/balance.d.ts.map +1 -1
  93. package/dist/types/substrate/substrate.d.ts +45 -45
  94. package/dist/types/substrate/substrate.d.ts.map +1 -1
  95. package/dist/types/substrate/types.d.ts +12 -12
  96. package/dist/types/substrate/types.d.ts.map +1 -1
  97. package/dist/types/tron/helpers/trongrid.d.ts.map +1 -1
  98. package/dist/types/tron/index.d.ts +2 -2
  99. package/dist/types/tron/index.d.ts.map +1 -1
  100. package/dist/types/tron/toolbox.d.ts +1 -1
  101. package/dist/types/tron/toolbox.d.ts.map +1 -1
  102. package/dist/types/tron/types.d.ts.map +1 -1
  103. package/dist/types/utxo/helpers/api.d.ts +15 -15
  104. package/dist/types/utxo/helpers/api.d.ts.map +1 -1
  105. package/dist/types/utxo/helpers/bchaddrjs.d.ts.map +1 -1
  106. package/dist/types/utxo/helpers/coinselect.d.ts +4 -4
  107. package/dist/types/utxo/helpers/coinselect.d.ts.map +1 -1
  108. package/dist/types/utxo/helpers/txSize.d.ts.map +1 -1
  109. package/dist/types/utxo/index.d.ts +1 -1
  110. package/dist/types/utxo/index.d.ts.map +1 -1
  111. package/dist/types/utxo/toolbox/bitcoinCash.d.ts +26 -38
  112. package/dist/types/utxo/toolbox/bitcoinCash.d.ts.map +1 -1
  113. package/dist/types/utxo/toolbox/index.d.ts +3 -3
  114. package/dist/types/utxo/toolbox/index.d.ts.map +1 -1
  115. package/dist/types/utxo/toolbox/utxo.d.ts +27 -38
  116. package/dist/types/utxo/toolbox/utxo.d.ts.map +1 -1
  117. package/dist/types/utxo/toolbox/validators.d.ts +4 -0
  118. package/dist/types/utxo/toolbox/validators.d.ts.map +1 -0
  119. package/dist/types/utxo/toolbox/zcash.d.ts +26 -37
  120. package/dist/types/utxo/toolbox/zcash.d.ts.map +1 -1
  121. package/dist/types/utxo/types.d.ts.map +1 -1
  122. package/package.json +15 -22
@@ -1,5 +1,5 @@
1
- var T2=Object.create;var{getPrototypeOf:f2,defineProperty:BT,getOwnPropertyNames:B1,getOwnPropertyDescriptor:X2}=Object,W1=Object.prototype.hasOwnProperty;var U=(T,f,Z)=>{Z=T!=null?T2(f2(T)):{};let y=f||!T||!T.__esModule?BT(Z,"default",{value:T,enumerable:!0}):Z;for(let L of B1(T))if(!W1.call(y,L))BT(y,L,{get:()=>T[L],enumerable:!0});return y},G1=new WeakMap,_y=(T)=>{var f=G1.get(T),Z;if(f)return f;if(f=BT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")B1(T).map((y)=>!W1.call(f,y)&&BT(f,y,{get:()=>T[y],enumerable:!(Z=X2(T,y))||Z.enumerable}));return G1.set(T,f),f};var zy=(T,f)=>{for(var Z in f)BT(T,Z,{get:f[Z],enumerable:!0,configurable:!0,set:(y)=>f[Z]=()=>y})};var l=(T,f)=>()=>(T&&(f=T(T=0)),f);function WT(T){return Py.base64.encode(Uint8Array.from(Py.bech32.fromWords(Py.bech32.decode(T).words)))}function HT(T,f="thor"){return Py.bech32.encode(f,Py.bech32.toWords(Py.base64.decode(T)))}function L2(T){return iT.fromByteArray(T)}function Z2(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new H1.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return iT.toByteArray(T)}var Py,H1,iT;var V5=l(()=>{Py=require("@scure/base"),H1=require("@swapkit/helpers"),iT=require("base64-js")});function ky(T){switch(T){case w.Chain.Maya:return{amount:[],gas:"10000000000"};case w.Chain.THORChain:return{amount:[],gas:"500000000"};case w.Chain.Kujira:return _1;case w.Chain.Noble:return R1;default:return U1}}async function Oy(T){let f=await import("@cosmjs/stargate"),Z=f.StargateClient??f.default?.StargateClient,y=typeof window!=="undefined"?{}:{referrer:"https://sdk.swapkit.dev",referer:"https://sdk.swapkit.dev"};return Z.connect({url:T,headers:y})}async function UT(T,f,Z={}){let y=await import("@cosmjs/stargate"),L=y.SigningStargateClient??y.default?.SigningStargateClient,X=y.GasPrice??y.default?.GasPrice,J=typeof Z==="string"?Z:"0.0003uatom",x=typeof Z==="string"?{}:Z;return L.connectWithSigner(T,f,{gasPrice:X.fromString(J),...x})}async function F5(T,f){let Z=await import("@cosmjs/stargate");return(Z.SigningStargateClient??Z.default?.SigningStargateClient).offline(T,f)}var w,$5="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Y1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",U1,_1,R1,ly=(T,f=!1)=>{if(f)return T.toLowerCase();switch(T){case"uUSK":case"USK":return $5;case"uYUM":case"YUM":return Y1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},YT=({symbol:T,chain:f})=>{if(f===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 ly(T,!1)},J2=(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})}},K5=async({sender:T,recipient:f,assetValue:Z,memo:y="",feeRate:L,sequence:X,accountNumber:J})=>{let{chain:x,chainId:Q}=Z,q=await w.getRPCUrl(x),M=await(await Oy(q)).getAccount(T);if(!M)throw new w.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let G=w.AssetValue.from({chain:x}),B=ly(G.symbol),W=ky(x),R=B&&L?{amount:[{denom:B,amount:L.toString()}],gas:W.gas}:W,I={fromAddress:T,toAddress:f,amount:[{amount:Z.getBaseValue("string"),denom:ly(Z.symbol)}]};return{accountNumber:J??M.accountNumber,chainId:Q,fee:R,memo:y,sequence:X??M.sequence,msgs:[{typeUrl:J2(x),value:I}]}},x2,A5=(T,f)=>{let Z=x2[T.toLowerCase()];if(!Z)return w.AssetValue.from({asset:T,value:f,fromBaseDecimal:8});let{chain:y,asset:L,decimals:X}=Z,J=y?{chain:y}:{asset:L};return w.AssetValue.from({...J,value:f,fromBaseDecimal:X})};var _T=l(()=>{w=require("@swapkit/helpers"),U1={amount:[{denom:"uatom",amount:"500"}],gas:"200000"},_1={amount:[{denom:"ukuji",amount:"1000"}],gas:"200000"},R1={amount:[{denom:"uusdc",amount:"1000"}],gas:"200000"};x2={rune:{chain:w.Chain.THORChain,decimals:w.BaseDecimal[w.Chain.THORChain]},tcy:{asset:"THOR.TCY",decimals:w.BaseDecimal[w.Chain.THORChain]},"x/kuji":{asset:"THOR.KUJI",decimals:w.BaseDecimal[w.Chain.THORChain]},uatom:{chain:w.Chain.Cosmos,decimals:w.BaseDecimal[w.Chain.Cosmos]},atom:{chain:w.Chain.Cosmos,decimals:w.BaseDecimal[w.Chain.Cosmos]},cacao:{chain:w.Chain.Maya,decimals:10},maya:{asset:`${w.Chain.Maya}.${w.Chain.Maya}`,decimals:4},ukuji:{chain:w.Chain.Kujira,decimals:w.BaseDecimal[w.Chain.Kujira]},kuji:{chain:w.Chain.Kujira,decimals:w.BaseDecimal[w.Chain.Kujira]},uusdc:{chain:w.Chain.Noble,decimals:w.BaseDecimal[w.Chain.Noble]},usdc:{chain:w.Chain.Noble,decimals:w.BaseDecimal[w.Chain.Noble]},[$5.toLowerCase()]:{asset:`${w.Chain.Kujira}.USK`,decimals:w.BaseDecimal[w.Chain.Kujira]}}});var N1={};zy(N1,{$root:()=>N});var s,F,My,C,N;var D1=l(()=>{s=U(require("protobufjs/minimal.js")),F=s.default.Reader,My=s.default.Writer,C=s.default.util,N=s.default.roots.default||(s.default.roots.default={});N.common=(()=>{let T={};return T.Asset=(()=>{function f(Z){if(Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.chain="",f.prototype.symbol="",f.prototype.ticker="",f.prototype.synth=!1,f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=My.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))L.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))L.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))L.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))L.uint32(32).bool(y.synth);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof F))y=F.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.Asset;while(y.pos<X){let x=y.uint32();switch(x>>>3){case 1:J.chain=y.string();break;case 2:J.symbol=y.string();break;case 3:J.ticker=y.string();break;case 4:J.synth=y.bool();break;default:y.skipType(x&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!C.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!C.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!C.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},f.fromObject=function Z(y){if(y instanceof N.common.Asset)return y;let L=new N.common.Asset;if(y.chain!=null)L.chain=String(y.chain);if(y.symbol!=null)L.symbol=String(y.symbol);if(y.ticker!=null)L.ticker=String(y.ticker);if(y.synth!=null)L.synth=Boolean(y.synth);return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.defaults)X.chain="",X.symbol="",X.ticker="",X.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))X.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))X.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))X.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))X.synth=y.synth;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.Coin=(()=>{function f(Z){if(Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.asset=null,f.prototype.amount="",f.prototype.decimals=C.Long?C.Long.fromBits(0,0,!1):0,f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=My.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))N.common.Asset.encode(y.asset,L.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))L.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))L.uint32(24).int64(y.decimals);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof F))y=F.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.Coin;while(y.pos<X){let x=y.uint32();switch(x>>>3){case 1:J.asset=N.common.Asset.decode(y,y.uint32());break;case 2:J.amount=y.string();break;case 3:J.decimals=y.int64();break;default:y.skipType(x&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let L=N.common.Asset.verify(y.asset);if(L)return"asset."+L}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!C.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!C.isInteger(y.decimals)&&!(y.decimals&&C.isInteger(y.decimals.low)&&C.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},f.fromObject=function Z(y){if(y instanceof N.common.Coin)return y;let L=new N.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");L.asset=N.common.Asset.fromObject(y.asset)}if(y.amount!=null)L.amount=String(y.amount);if(y.decimals!=null){if(C.Long)(L.decimals=C.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")L.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")L.decimals=y.decimals;else if(typeof y.decimals==="object")L.decimals=new C.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.defaults)if(X.asset=null,X.amount="",C.Long){let J=new C.Long(0,0,!1);X.decimals=L.longs===String?J.toString():L.longs===Number?J.toNumber():J}else X.decimals=L.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))X.asset=N.common.Asset.toObject(y.asset,L);if(y.amount!=null&&y.hasOwnProperty("amount"))X.amount=y.amount;if(y.decimals!=null&&y.hasOwnProperty("decimals"))if(typeof y.decimals==="number")X.decimals=L.longs===String?String(y.decimals):y.decimals;else X.decimals=L.longs===String?C.Long.prototype.toString.call(y.decimals):L.longs===Number?new C.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.PubKeySet=(()=>{function f(Z){if(Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.secp256k1="",f.prototype.ed25519="",f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=My.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))L.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))L.uint32(18).string(y.ed25519);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof F))y=F.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.PubKeySet;while(y.pos<X){let x=y.uint32();switch(x>>>3){case 1:J.secp256k1=y.string();break;case 2:J.ed25519=y.string();break;default:y.skipType(x&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!C.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!C.isString(y.ed25519))return"ed25519: string expected"}return null},f.fromObject=function Z(y){if(y instanceof N.common.PubKeySet)return y;let L=new N.common.PubKeySet;if(y.secp256k1!=null)L.secp256k1=String(y.secp256k1);if(y.ed25519!=null)L.ed25519=String(y.ed25519);return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.defaults)X.secp256k1="",X.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))X.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))X.ed25519=y.ed25519;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.Tx=(()=>{function f(Z){if(this.coins=[],this.gas=[],Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.id="",f.prototype.chain="",f.prototype.fromAddress="",f.prototype.toAddress="",f.prototype.coins=C.emptyArray,f.prototype.gas=C.emptyArray,f.prototype.memo="",f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=My.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))L.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))L.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))L.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))L.uint32(34).string(y.toAddress);if(y.coins?.length)for(let X=0;X<y.coins.length;++X)N.common.Coin.encode(y.coins[X],L.uint32(42).fork()).ldelim();if(y.gas?.length)for(let X=0;X<y.gas.length;++X)N.common.Coin.encode(y.gas[X],L.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))L.uint32(58).string(y.memo);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof F))y=F.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.Tx;while(y.pos<X){let x=y.uint32();switch(x>>>3){case 1:J.id=y.string();break;case 2:J.chain=y.string();break;case 3:J.fromAddress=y.string();break;case 4:J.toAddress=y.string();break;case 5:if(!J.coins?.length)J.coins=[];J.coins.push(N.common.Coin.decode(y,y.uint32()));break;case 6:if(!J.gas?.length)J.gas=[];J.gas.push(N.common.Coin.decode(y,y.uint32()));break;case 7:J.memo=y.string();break;default:y.skipType(x&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!C.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!C.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!C.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!C.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let L=0;L<y.coins.length;++L){let X=N.common.Coin.verify(y.coins[L]);if(X)return"coins."+X}}if(y.gas!=null&&y.hasOwnProperty("gas")){if(!Array.isArray(y.gas))return"gas: array expected";for(let L=0;L<y.gas.length;++L){let X=N.common.Coin.verify(y.gas[L]);if(X)return"gas."+X}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!C.isString(y.memo))return"memo: string expected"}return null},f.fromObject=function Z(y){if(y instanceof N.common.Tx)return y;let L=new N.common.Tx;if(y.id!=null)L.id=String(y.id);if(y.chain!=null)L.chain=String(y.chain);if(y.fromAddress!=null)L.fromAddress=String(y.fromAddress);if(y.toAddress!=null)L.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");L.coins=[];for(let X=0;X<y.coins.length;++X){if(typeof y.coins[X]!=="object")throw TypeError(".common.Tx.coins: object expected");L.coins[X]=N.common.Coin.fromObject(y.coins[X])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");L.gas=[];for(let X=0;X<y.gas.length;++X){if(typeof y.gas[X]!=="object")throw TypeError(".common.Tx.gas: object expected");L.gas[X]=N.common.Coin.fromObject(y.gas[X])}}if(y.memo!=null)L.memo=String(y.memo);return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.arrays||L.defaults)X.coins=[],X.gas=[];if(L.defaults)X.id="",X.chain="",X.fromAddress="",X.toAddress="",X.memo="";if(y.id!=null&&y.hasOwnProperty("id"))X.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))X.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))X.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))X.toAddress=y.toAddress;if(y.coins?.length){X.coins=[];for(let J=0;J<y.coins.length;++J)X.coins[J]=N.common.Coin.toObject(y.coins[J],L)}if(y.gas?.length){X.gas=[];for(let J=0;J<y.gas.length;++J)X.gas[J]=N.common.Coin.toObject(y.gas[J],L)}if(y.memo!=null&&y.hasOwnProperty("memo"))X.memo=y.memo;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.Fee=(()=>{function f(Z){if(this.coins=[],Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.coins=C.emptyArray,f.prototype.poolDeduct="",f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=My.create();if(y.coins?.length)for(let X=0;X<y.coins.length;++X)N.common.Coin.encode(y.coins[X],L.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))L.uint32(18).string(y.poolDeduct);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof F))y=F.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.Fee;while(y.pos<X){let x=y.uint32();switch(x>>>3){case 1:if(!J.coins?.length)J.coins=[];J.coins.push(N.common.Coin.decode(y,y.uint32()));break;case 2:J.poolDeduct=y.string();break;default:y.skipType(x&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let L=0;L<y.coins.length;++L){let X=N.common.Coin.verify(y.coins[L]);if(X)return"coins."+X}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!C.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},f.fromObject=function Z(y){if(y instanceof N.common.Fee)return y;let L=new N.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");L.coins=[];for(let X=0;X<y.coins.length;++X){if(typeof y.coins[X]!=="object")throw TypeError(".common.Fee.coins: object expected");L.coins[X]=N.common.Coin.fromObject(y.coins[X])}}if(y.poolDeduct!=null)L.poolDeduct=String(y.poolDeduct);return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.arrays||L.defaults)X.coins=[];if(L.defaults)X.poolDeduct="";if(y.coins?.length){X.coins=[];for(let J=0;J<y.coins.length;++J)X.coins[J]=N.common.Coin.toObject(y.coins[J],L)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))X.poolDeduct=y.poolDeduct;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.ProtoUint=(()=>{function f(Z){if(Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.value="",f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=My.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))L.uint32(10).string(y.value);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof F))y=F.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.common.ProtoUint;while(y.pos<X){let x=y.uint32();switch(x>>>3){case 1:J.value=y.string();break;default:y.skipType(x&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!C.isString(y.value))return"value: string expected"}return null},f.fromObject=function Z(y){if(y instanceof N.common.ProtoUint)return y;let L=new N.common.ProtoUint;if(y.value!=null)L.value=String(y.value);return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.defaults)X.value="";if(y.value!=null&&y.hasOwnProperty("value"))X.value=y.value;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T})();N.types=(()=>{let T={};return T.MsgDeposit=(()=>{function f(Z){if(this.coins=[],Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.coins=C.emptyArray,f.prototype.memo="",f.prototype.signer=C.newBuffer([]),f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=My.create();if(y.coins?.length)for(let X=0;X<y.coins.length;++X)N.common.Coin.encode(y.coins[X],L.uint32(10).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))L.uint32(18).string(y.memo);if(y.signer!=null&&Object.hasOwnProperty.call(y,"signer"))L.uint32(26).bytes(y.signer);return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof F))y=F.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.types.MsgDeposit;while(y.pos<X){let x=y.uint32();switch(x>>>3){case 1:if(!J.coins?.length)J.coins=[];J.coins.push(N.common.Coin.decode(y,y.uint32()));break;case 2:J.memo=y.string();break;case 3:J.signer=y.bytes();break;default:y.skipType(x&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let L=0;L<y.coins.length;++L){let X=N.common.Coin.verify(y.coins[L]);if(X)return"coins."+X}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!C.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||C.isString(y.signer)))return"signer: buffer expected"}return null},f.fromObject=function Z(y){if(y instanceof N.types.MsgDeposit)return y;let L=new N.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");L.coins=[];for(let X=0;X<y.coins.length;++X){if(typeof y.coins[X]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");L.coins[X]=N.common.Coin.fromObject(y.coins[X])}}if(y.memo!=null)L.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")C.base64.decode(y.signer,L.signer=C.newBuffer(C.base64.length(y.signer)),0);else if(y.signer.length)L.signer=y.signer}return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.arrays||L.defaults)X.coins=[];if(L.defaults){if(X.memo="",L.bytes===String)X.signer="";else if(X.signer=[],L.bytes!==Array)X.signer=C.newBuffer(X.signer)}if(y.coins?.length){X.coins=[];for(let J=0;J<y.coins.length;++J)X.coins[J]=N.common.Coin.toObject(y.coins[J],L)}if(y.memo!=null&&y.hasOwnProperty("memo"))X.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))X.signer=L.bytes===String?C.base64.encode(y.signer,0,y.signer.length):L.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T.MsgSend=(()=>{function f(Z){if(this.amount=[],Z){for(let y=Object.keys(Z),L=0;L<y.length;++L)if(Z[y[L]]!=null)this[y[L]]=Z[y[L]]}}return f.prototype.fromAddress=C.newBuffer([]),f.prototype.toAddress=C.newBuffer([]),f.prototype.amount=C.emptyArray,f.create=function Z(y){return new f(y)},f.encode=function Z(y,L){if(!L)L=My.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))L.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))L.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let X=0;X<y.amount.length;++X)N.cosmos.base.v1beta1.Coin.encode(y.amount[X],L.uint32(26).fork()).ldelim();return L},f.encodeDelimited=function Z(y,L){return this.encode(y,L).ldelim()},f.decode=function Z(y,L){if(!(y instanceof F))y=F.create(y);let X=L===void 0?y.len:y.pos+L,J=new N.types.MsgSend;while(y.pos<X){let x=y.uint32();switch(x>>>3){case 1:J.fromAddress=y.bytes();break;case 2:J.toAddress=y.bytes();break;case 3:if(!J.amount?.length)J.amount=[];J.amount.push(N.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(x&7);break}}return J},f.decodeDelimited=function Z(y){if(!(y instanceof F))y=new F(y);return this.decode(y,y.uint32())},f.verify=function Z(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||C.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||C.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let L=0;L<y.amount.length;++L){let X=N.cosmos.base.v1beta1.Coin.verify(y.amount[L]);if(X)return"amount."+X}}return null},f.fromObject=function Z(y){if(y instanceof N.types.MsgSend)return y;let L=new N.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")C.base64.decode(y.fromAddress,L.fromAddress=C.newBuffer(C.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)L.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")C.base64.decode(y.toAddress,L.toAddress=C.newBuffer(C.base64.length(y.toAddress)),0);else if(y.toAddress.length)L.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");L.amount=[];for(let X=0;X<y.amount.length;++X){if(typeof y.amount[X]!=="object")throw TypeError(".types.MsgSend.amount: object expected");L.amount[X]=N.cosmos.base.v1beta1.Coin.fromObject(y.amount[X])}}return L},f.toObject=function Z(y,L){if(!L)L={};let X={};if(L.arrays||L.defaults)X.amount=[];if(L.defaults){if(L.bytes===String)X.fromAddress="";else if(X.fromAddress=[],L.bytes!==Array)X.fromAddress=C.newBuffer(X.fromAddress);if(L.bytes===String)X.toAddress="";else if(X.toAddress=[],L.bytes!==Array)X.toAddress=C.newBuffer(X.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))X.fromAddress=L.bytes===String?C.base64.encode(y.fromAddress,0,y.fromAddress.length):L.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))X.toAddress=L.bytes===String?C.base64.encode(y.toAddress,0,y.toAddress.length):L.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){X.amount=[];for(let J=0;J<y.amount.length;++J)X.amount[J]=N.cosmos.base.v1beta1.Coin.toObject(y.amount[J],L)}return X},f.prototype.toJSON=function Z(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},f})(),T})();N.cosmos=(()=>{let T={};return T.base=(()=>{let f={};return f.v1beta1=(()=>{let Z={};return Z.Coin=(()=>{function y(L){if(L){for(let X=Object.keys(L),J=0;J<X.length;++J)if(L[X[J]]!=null)this[X[J]]=L[X[J]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function L(X){return new y(X)},y.encode=function L(X,J){if(!J)J=My.create();if(X.denom!=null&&Object.hasOwnProperty.call(X,"denom"))J.uint32(10).string(X.denom);if(X.amount!=null&&Object.hasOwnProperty.call(X,"amount"))J.uint32(18).string(X.amount);return J},y.encodeDelimited=function L(X,J){return this.encode(X,J).ldelim()},y.decode=function L(X,J){if(!(X instanceof F))X=F.create(X);let x=J===void 0?X.len:X.pos+J,Q=new N.cosmos.base.v1beta1.Coin;while(X.pos<x){let q=X.uint32();switch(q>>>3){case 1:Q.denom=X.string();break;case 2:Q.amount=X.string();break;default:X.skipType(q&7);break}}return Q},y.decodeDelimited=function L(X){if(!(X instanceof F))X=new F(X);return this.decode(X,X.uint32())},y.verify=function L(X){if(typeof X!=="object"||X===null)return"object expected";if(X.denom!=null&&X.hasOwnProperty("denom")){if(!C.isString(X.denom))return"denom: string expected"}if(X.amount!=null&&X.hasOwnProperty("amount")){if(!C.isString(X.amount))return"amount: string expected"}return null},y.fromObject=function L(X){if(X instanceof N.cosmos.base.v1beta1.Coin)return X;let J=new N.cosmos.base.v1beta1.Coin;if(X.denom!=null)J.denom=String(X.denom);if(X.amount!=null)J.amount=String(X.amount);return J},y.toObject=function L(X,J){if(!J)J={};let x={};if(J.defaults)x.denom="",x.amount="";if(X.denom!=null&&X.hasOwnProperty("denom"))x.denom=X.denom;if(X.amount!=null&&X.hasOwnProperty("amount"))x.amount=X.amount;return x},y.prototype.toJSON=function L(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},y})(),Z.DecCoin=(()=>{function y(L){if(L){for(let X=Object.keys(L),J=0;J<X.length;++J)if(L[X[J]]!=null)this[X[J]]=L[X[J]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function L(X){return new y(X)},y.encode=function L(X,J){if(!J)J=My.create();if(X.denom!=null&&Object.hasOwnProperty.call(X,"denom"))J.uint32(10).string(X.denom);if(X.amount!=null&&Object.hasOwnProperty.call(X,"amount"))J.uint32(18).string(X.amount);return J},y.encodeDelimited=function L(X,J){return this.encode(X,J).ldelim()},y.decode=function L(X,J){if(!(X instanceof F))X=F.create(X);let x=J===void 0?X.len:X.pos+J,Q=new N.cosmos.base.v1beta1.DecCoin;while(X.pos<x){let q=X.uint32();switch(q>>>3){case 1:Q.denom=X.string();break;case 2:Q.amount=X.string();break;default:X.skipType(q&7);break}}return Q},y.decodeDelimited=function L(X){if(!(X instanceof F))X=new F(X);return this.decode(X,X.uint32())},y.verify=function L(X){if(typeof X!=="object"||X===null)return"object expected";if(X.denom!=null&&X.hasOwnProperty("denom")){if(!C.isString(X.denom))return"denom: string expected"}if(X.amount!=null&&X.hasOwnProperty("amount")){if(!C.isString(X.amount))return"amount: string expected"}return null},y.fromObject=function L(X){if(X instanceof N.cosmos.base.v1beta1.DecCoin)return X;let J=new N.cosmos.base.v1beta1.DecCoin;if(X.denom!=null)J.denom=String(X.denom);if(X.amount!=null)J.amount=String(X.amount);return J},y.toObject=function L(X,J){if(!J)J={};let x={};if(J.defaults)x.denom="",x.amount="";if(X.denom!=null&&X.hasOwnProperty("denom"))x.denom=X.denom;if(X.amount!=null&&X.hasOwnProperty("amount"))x.amount=X.amount;return x},y.prototype.toJSON=function L(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},y})(),Z.IntProto=(()=>{function y(L){if(L){for(let X=Object.keys(L),J=0;J<X.length;++J)if(L[X[J]]!=null)this[X[J]]=L[X[J]]}}return y.prototype.int="",y.create=function L(X){return new y(X)},y.encode=function L(X,J){if(!J)J=My.create();if(X.int!=null&&Object.hasOwnProperty.call(X,"int"))J.uint32(10).string(X.int);return J},y.encodeDelimited=function L(X,J){return this.encode(X,J).ldelim()},y.decode=function L(X,J){if(!(X instanceof F))X=F.create(X);let x=J===void 0?X.len:X.pos+J,Q=new N.cosmos.base.v1beta1.IntProto;while(X.pos<x){let q=X.uint32();switch(q>>>3){case 1:Q.int=X.string();break;default:X.skipType(q&7);break}}return Q},y.decodeDelimited=function L(X){if(!(X instanceof F))X=new F(X);return this.decode(X,X.uint32())},y.verify=function L(X){if(typeof X!=="object"||X===null)return"object expected";if(X.int!=null&&X.hasOwnProperty("int")){if(!C.isString(X.int))return"int: string expected"}return null},y.fromObject=function L(X){if(X instanceof N.cosmos.base.v1beta1.IntProto)return X;let J=new N.cosmos.base.v1beta1.IntProto;if(X.int!=null)J.int=String(X.int);return J},y.toObject=function L(X,J){if(!J)J={};let x={};if(J.defaults)x.int="";if(X.int!=null&&X.hasOwnProperty("int"))x.int=X.int;return x},y.prototype.toJSON=function L(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},y})(),Z.DecProto=(()=>{function y(L){if(L){for(let X=Object.keys(L),J=0;J<X.length;++J)if(L[X[J]]!=null)this[X[J]]=L[X[J]]}}return y.prototype.dec="",y.create=function L(X){return new y(X)},y.encode=function L(X,J){if(!J)J=My.create();if(X.dec!=null&&Object.hasOwnProperty.call(X,"dec"))J.uint32(10).string(X.dec);return J},y.encodeDelimited=function L(X,J){return this.encode(X,J).ldelim()},y.decode=function L(X,J){if(!(X instanceof F))X=F.create(X);let x=J===void 0?X.len:X.pos+J,Q=new N.cosmos.base.v1beta1.DecProto;while(X.pos<x){let q=X.uint32();switch(q>>>3){case 1:Q.dec=X.string();break;default:X.skipType(q&7);break}}return Q},y.decodeDelimited=function L(X){if(!(X instanceof F))X=new F(X);return this.decode(X,X.uint32())},y.verify=function L(X){if(typeof X!=="object"||X===null)return"object expected";if(X.dec!=null&&X.hasOwnProperty("dec")){if(!C.isString(X.dec))return"dec: string expected"}return null},y.fromObject=function L(X){if(X instanceof N.cosmos.base.v1beta1.DecProto)return X;let J=new N.cosmos.base.v1beta1.DecProto;if(X.dec!=null)J.dec=String(X.dec);return J},y.toObject=function L(X,J){if(!J)J={};let x={};if(J.defaults)x.dec="";if(X.dec!=null&&X.hasOwnProperty("dec"))x.dec=X.dec;return x},y.prototype.toJSON=function L(){return this.constructor.toObject(this,s.default.util.toJSONOptions)},y})(),Z})(),f})(),T})()});async function py(){let{$root:T}=await Promise.resolve().then(() => (D1(),N1)),f=await import("@cosmjs/proto-signing"),Z=f.Registry??f.default?.Registry,y=await import("@cosmjs/stargate"),L=y.defaultRegistryTypes??y.default?.defaultRegistryTypes;return new Z([...L,["/types.MsgSend",T.types.MsgSend],["/types.MsgDeposit",T.types.MsgDeposit]])}async function Vy(T){let f=await import("@cosmjs/stargate"),Z=f.AminoTypes??f.default?.AminoTypes,y=T===I1.Chain.THORChain?"thorchain":"mayachain";return new Z({"/types.MsgSend":{aminoType:`${y}/MsgSend`,toAmino:({fromAddress:L,toAddress:X,...J})=>({...J,from_address:HT(L),to_address:HT(X)}),fromAmino:({from_address:L,to_address:X,...J})=>({...J,fromAddress:WT(L),toAddress:WT(X)})},"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,toAmino:({signer:L,...X})=>({...X,signer:HT(L)}),fromAmino:({signer:L,...X})=>({...X,signer:WT(L)})}})}var I1;var S5=l(()=>{I1=require("@swapkit/helpers");V5()});function j5(T){return function f(Z){let{assetValue:y,recipient:L,memo:X,sender:J,asSignable:x,asAminoMessage:Q}=Z;if(L)return k1(T)({sender:J,recipient:L,assetValue:y,memo:X,asSignable:x,asAminoMessage:Q});return O1(T)({sender:J,assetValue:y,memo:X,asSignable:x,asAminoMessage:Q})}}function Fy(T){if(T.type==="thorchain/MsgSend"||T.type==="mayachain/MsgSend")return T;return{...T,value:{...T.value,coins:T.value.coins.map((f)=>{let Z=Gy.AssetValue.from({asset:f.asset}),y=(Z.isSynthetic?Z.symbol.split("/")?.[1]:Z.symbol)?.toUpperCase(),L=(Z.isSynthetic?Z.symbol.split("/")?.[0]:Z.chain)?.toUpperCase();return{...f,asset:{chain:L,symbol:y,ticker:Z.ticker,synth:Z.isSynthetic}}})}}}async function RT({chain:T,memo:f,msgs:Z}){let y=await py(),L=await Vy(T),X={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:f,messages:Z.map((J)=>L.fromAmino(J))}};return y.encode(X)}var Gy,Q2,q2,b5=({sender:T,recipient:f,assetValue:Z})=>{return{type:`${Z.chain===Gy.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{from_address:T,to_address:f,amount:[{amount:Z.getBaseValue("string"),denom:ly(Z.symbol,!0)}]}}},u5=({sender:T,assetValue:f,memo:Z=""})=>{return{type:`${f.chain===Gy.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:f.getBaseValue("string"),asset:YT(f)}],signer:T,memo:Z}}},rT=({sender:T,recipient:f,assetValue:Z,memo:y})=>{return!f?u5({sender:T,assetValue:Z,memo:y}):b5({sender:T,recipient:f,assetValue:Z})},$y=async(T,f)=>{return(await Vy(f)).fromAmino(T)},C1=async({rpcUrl:T,sender:f})=>{let y=await(await Oy(T)).getAccount(f);if(!y)throw new Gy.SwapKitError("toolbox_cosmos_account_not_found",{sender:f});return y},k1=(T)=>async({sender:f,recipient:Z,assetValue:y,memo:L="",asSignable:X=!0,asAminoMessage:J=!1,sequence:x,accountNumber:Q})=>{let q=await C1({rpcUrl:T,sender:f}),z=y.chain,M=b5({sender:f,recipient:Z,assetValue:y}),G=X?await $y(J?M:Fy(M),z):M;return{chainId:Gy.ChainToChainId[z],accountNumber:Q||q.accountNumber,sequence:x||q.sequence,msgs:[G],fee:ky(y.chain),memo:L}},O1=(T)=>async({sender:f,assetValue:Z,memo:y="",asSignable:L=!0,asAminoMessage:X=!1,sequence:J,accountNumber:x})=>{let Q=await C1({rpcUrl:T,sender:f}),q=Z.chain,z=u5({sender:f,assetValue:Z,memo:y}),M=L?await $y(X?z:Fy(z),q):z;return{chainId:Gy.ChainToChainId[q],accountNumber:x||Q.accountNumber,sequence:J||Q.sequence,msgs:[M],fee:ky(Z.chain),memo:y}};var w1=l(()=>{Gy=require("@swapkit/helpers");_T();S5();Q2=ky(Gy.Chain.THORChain).gas,q2=ky(Gy.Chain.Maya).gas});var E1=()=>{};var v1=l(()=>{E1()});var n5=l(()=>{V5();w1();S5();v1()});async function m5(T,f){try{let y=(await p5.SwapKitApi.getGasRate()).find((L)=>L.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(Z){return f}}async function h5({phrase:T,prefix:f,...Z}){let y=await import("@cosmjs/proto-signing"),L=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,X=await import("@cosmjs/crypto"),J=X.stringToPath??X.default?.stringToPath,x="derivationPath"in Z?Z.derivationPath:`${O.DerivationPath[Z.chain]}/${Z.index}`;return L.fromMnemonic(T,{prefix:f,hdPaths:[J(x)]})}async function z2({privateKey:T,prefix:f}){let Z=await import("@cosmjs/proto-signing");return(Z.DirectSecp256k1Wallet??Z.default?.DirectSecp256k1Wallet).fromKey(T,f)}function $1(T){return async function f({signature:Z,message:y,address:L}){let X=await T(L);if(!X?.pubkey)throw new O.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let J=await import("@cosmjs/crypto"),x=J.Secp256k1Signature??J.default?.Secp256k1Signature,Q=J.Secp256k1??J.default?.Secp256k1,q=x.fromFixedLength(Ky.base64.decode(Z));return Q.verifySignature(q,Ky.base64.decode(y),X.pubkey.value)}}async function DT({chain:T,...f}){let Z=await O.getRPCUrl(T),y=O.CosmosChainPrefixes[T],L="index"in f?f.index||0:0,X=O.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:O.updateDerivationPath(O.NetworkDerivationPath[T],{index:L})),J=await NT.match(f).with({phrase:NT.P.string},({phrase:M})=>h5({phrase:M,prefix:y,derivationPath:X})).with({signer:NT.P.any},({signer:M})=>M).otherwise(()=>{return});async function x(M){return(await Oy(Z)).getAccount(M)}async function Q(){let[M]=await J?.getAccounts()||[];return M?.address}async function q(){let[M]=await J?.getAccounts()||[];if(!M?.pubkey)throw new O.SwapKitError("toolbox_cosmos_signer_not_defined");return Ky.base64.encode(M?.pubkey)}async function z({recipient:M,assetValue:G,memo:B="",feeRate:W,feeOptionKey:R=O.FeeOption.Fast}){let I=await Q();if(!(J&&I))throw new O.SwapKitError("toolbox_cosmos_signer_not_defined");let S=O.AssetValue.from({chain:T}),j=YT(S),d=W||H2((await l1(T,P1[T]))[R],j),m=await UT(Z,J),yy=[{denom:ly(`u${G.symbol}`).toLowerCase(),amount:G.getBaseValue("string")}],{transactionHash:a}=await m.sendTokens(I,M,yy,d,B);return a}return{transfer:z,getAddress:Q,getAccount:x,getBalance:async(M,G)=>{let B=await V1(Z)(M);return await Promise.all(B.filter(({denom:W})=>W&&!W.includes("IBC/")).map(({denom:W,amount:R})=>{let I=[O.Chain.THORChain,O.Chain.Maya].includes(T)&&(W.includes("/")||W.includes("˜"))?`${T}.${W}`:W;return A5(I,R)}))},getSignerFromPhrase:async({phrase:M,derivationPath:G})=>h5({phrase:M,prefix:y,derivationPath:O.derivationPathToString(G),index:L}),getSignerFromPrivateKey:async(M)=>{let G=await import("@cosmjs/proto-signing");return(G.DirectSecp256k1Wallet??G.default?.DirectSecp256k1Wallet).fromKey(M,y)},createPrivateKeyFromPhrase:U2(X),validateAddress:K1(y),getPubKey:q,getFees:()=>l1(T,P1[T]),fetchFeeRateFromSwapKit:m5,getBalanceAsDenoms:V1(Z),createTransaction:K5,verifySignature:$1(x)}}async function F1(T,f){try{let y=(await p5.SwapKitApi.getGasRate()).find((L)=>L.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(Z){return f}}function G2({address:T,chain:f,prefix:Z}){let y=Z||W2(f);if(!(y&&T))throw new O.SwapKitError("toolbox_cosmos_validate_address_prefix_not_found");return K1(y)(T)}function B2({assetValue:{chain:T}}){return O.AssetValue.from({chain:T,value:Y2(T)})}function W2(T){let{isStagenet:f}=O.SKConfig.get("envs"),Z=T?[O.Chain.THORChain,O.Chain.Maya].includes(T)&&f:!1,y=T?O.CosmosChainPrefixes[T]:void 0;return Z?`s${y}`:y}async function l1(T,f){let Z=await m5(O.ChainToChainId[T],f);return{average:O.SwapKitNumber.fromBigInt(BigInt(Z),O.BaseDecimal[T]),fast:O.SwapKitNumber.fromBigInt(BigInt(O.applyFeeMultiplier(Z,O.FeeOption.Fast,!0)),O.BaseDecimal[T]),fastest:O.SwapKitNumber.fromBigInt(BigInt(O.applyFeeMultiplier(Z,O.FeeOption.Fastest,!0)),O.BaseDecimal[T])}}function H2(T,f){return{amount:[{denom:f,amount:T.getBaseValue("string")}],gas:"200000"}}function Y2(T){return{[O.Chain.Cosmos]:0.007,[O.Chain.Kujira]:0.02,[O.Chain.Noble]:0.01,[O.Chain.THORChain]:0.02,[O.Chain.Maya]:0.02}[T]||0}function K1(T){return function f(Z){if(!Z.startsWith(T))return!1;try{let{prefix:y,words:L}=Ky.bech32.decode(Z);return Ky.bech32.encode(y,L)===Z.toLocaleLowerCase()}catch(y){return!1}}}function V1(T){return async function f(Z){return(await(await Oy(T)).getAllBalances(Z)).map((J)=>({...J,denom:J.denom.includes("/")?J.denom.toUpperCase():J.denom}))}}function U2(T){return async function f(Z){let y=await import("@cosmjs/crypto"),L=y.stringToPath??y.default?.stringToPath,X=y.Slip10Curve??y.default?.Slip10Curve,J=y.Slip10??y.default?.Slip10,x=y.EnglishMnemonic??y.default?.EnglishMnemonic,Q=y.Bip39??y.default?.Bip39,q=new x(Z),z=await Q.mnemonicToSeed(q),{privkey:M}=J.derivePath(X.Secp256k1,z,L(T));return M}}var Ky,O,p5,NT,P1,M2;var aT=l(()=>{Ky=require("@scure/base"),O=require("@swapkit/helpers"),p5=require("@swapkit/helpers/api"),NT=require("ts-pattern");_T();P1={[O.Chain.Cosmos]:500,[O.Chain.Kujira]:1000,[O.Chain.Noble]:1000,[O.Chain.THORChain]:5000000,[O.Chain.Maya]:5000000};M2=F1});function _2({prefix:T,derivationPath:f}){return async function Z(y,L=0){let X=await import("@cosmjs/amino"),J=X.Secp256k1HdWallet??X.default?.Secp256k1HdWallet,x=await import("@cosmjs/crypto"),Q=x.stringToPath??x.default?.stringToPath;return J.fromMnemonic(y,{hdPaths:[Q(`${f}/${L}`)],prefix:T})}}function R2(T){return Ay.base64.encode(T)}function N2(T){return async function f({wallet:Z,tx:y}){let{msgs:L,accountNumber:X,sequence:J,chainId:x,fee:Q,memo:q}=typeof y==="string"?JSON.parse(y):y,z=(await Z.getAccounts())?.[0]?.address||"",M=await Vy(T),G=await py(),B=await F5(Z,{registry:G,aminoTypes:M}),W=[];for(let S of L){let j=await $y(S,T);W.push(j)}let{signatures:[R]}=await B.sign(z,W,Q,q,{accountNumber:X,sequence:J,chainId:x}),I=await RT({chain:T,memo:q,msgs:L.map(Fy)});return{signature:R2(R),bodyBytes:I}}}function D2({prefix:T,rpcUrl:f}){return async function Z(y,L,X,J,x){let{encodeSecp256k1Pubkey:Q,pubkeyToAddress:q}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:z}=(await import("@cosmjs/stargate")).default,{sequence:M,fee:G}=JSON.parse(y),B=await A1(X,J),W=L.map((S)=>[q(Q(Ay.base64.decode(S.pubKey)),T),Ay.base64.decode(S.signature)]),R=await Oy(f),{transactionHash:I}=await R.broadcastTx(z(B,M,G,x,new Map(W)));return I}}async function A1(T,f,Z=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:L}=(await import("@cosmjs/amino")).default;return y(T.map((X)=>L(Ay.base64.decode(X))),f,Z)}function I2(T){return Ay.base64.decode(T)}async function C2({privateKey:T,message:f}){let{Secp256k1:Z}=(await import("@cosmjs/crypto")).default,y=await Z.createSignature(Ay.base64.decode(f),T);return Ay.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function o5({chain:T,...f}){let Z=p.SKConfig.get("nodeUrls")[T],y=await p.getRPCUrl(T),{isStagenet:L}=p.SKConfig.get("envs"),X=T===p.Chain.THORChain,J=`${L?"s":""}${p.CosmosChainPrefixes[T]}`,x="index"in f?f.index||0:0,Q="derivationPath"in f&&f.derivationPath?f.derivationPath:p.updateDerivationPath(p.NetworkDerivationPath[T],{index:x}),q=await DT({chain:T,...f}),z=await IT.match(f).with({phrase:IT.P.string},({phrase:W})=>q.getSignerFromPhrase({phrase:W,derivationPath:Q})).with({signer:IT.P.any},({signer:W})=>W).otherwise(()=>{return}),M=ky(T);async function G(){let W,R=`${Z}/${X?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:I}}=await p.RequestClient.get(R);if(!I||Number.isNaN(I)||I<0)throw new p.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:I.toString()});W=new p.SwapKitNumber(I)}catch{W=new p.SwapKitNumber({value:X?0.02:1,decimal:p.BaseDecimal[T]})}return{[p.FeeOption.Average]:W,[p.FeeOption.Fast]:W,[p.FeeOption.Fastest]:W}}async function B({assetValue:W,memo:R="",recipient:I}){let{TxRaw:S}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),j=(await z?.getAccounts())?.[0]?.address;if(!(j&&z))throw new p.SwapKitError("toolbox_cosmos_no_signer");let d="signAmino"in z,m=await py(),yy=await Vy(T),a=await UT(y,z,{registry:m,aminoTypes:yy}),Ly=rT({assetValue:W,sender:j,recipient:I,memo:R});if(d){let k=await $y(Ly,T),{signatures:V,authInfoBytes:v}=await a.sign(j,[k],M,R),A=S.encode({signatures:V,authInfoBytes:v,bodyBytes:await RT({chain:T,msgs:[Ly].map(Fy),memo:R})}).finish();return(await a.broadcastTx(A)).transactionHash}let E=Fy(Ly),Y=await $y(E,T);return(await a.signAndBroadcast(j,[Y],M,R)).transactionHash}return{...q,broadcastMultisigTx:D2({prefix:J,rpcUrl:y}),buildAminoMsg:rT,buildEncodedTxBody:RT,convertToSignable:$y,createDefaultAminoTypes:()=>Vy(T),createDefaultRegistry:py,createMultisig:A1,createTransaction:j5(y),deposit:B,getFees:G,importSignature:I2,parseAminoMessageForDirectSigning:Fy,secp256k1HdWalletFromMnemonic:_2({derivationPath:p.derivationPathToString(Q),prefix:J}),signMultisigTx:N2(T),signWithPrivateKey:C2,transfer:B,pubkeyToAddress:async(W)=>{let{pubkeyToAddress:R}=(await import("@cosmjs/amino")).default;return R(W,J)}}}var Ay,p,IT;var c5=l(()=>{Ay=require("@scure/base"),p=require("@swapkit/helpers"),IT=require("ts-pattern");n5();_T();aT()});var Sy,k2=(T,f)=>{switch(T){case Sy.Chain.Cosmos:case Sy.Chain.Kujira:case Sy.Chain.Noble:return DT({chain:T,...f});case Sy.Chain.Maya:case Sy.Chain.THORChain:return o5({chain:T,...f});default:throw new Sy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var S1=l(()=>{Sy=require("@swapkit/helpers");aT();c5();aT();c5()});var sT={};zy(sT,{verifySignature:()=>$1,transferMsgAmino:()=>b5,toBase64:()=>L2,parseAminoMessageForDirectSigning:()=>Fy,getSignerFromPrivateKey:()=>z2,getSignerFromPhrase:()=>h5,getMsgSendDenom:()=>ly,getFeeRateFromThorswap:()=>M2,getFeeRateFromSwapKit:()=>F1,getDenomWithChain:()=>YT,getDefaultChainFee:()=>ky,getCreateTransaction:()=>j5,getCosmosToolbox:()=>k2,getAssetFromDenom:()=>A5,fromBase64:()=>Z2,fetchFeeRateFromSwapKit:()=>m5,estimateTransactionFee:()=>B2,depositMsgAmino:()=>u5,createThorchainToolbox:()=>o5,createStargateClient:()=>Oy,createSigningStargateClient:()=>UT,createOfflineStargateClient:()=>F5,createDefaultRegistry:()=>py,createDefaultAminoTypes:()=>Vy,createCosmosToolbox:()=>DT,cosmosValidateAddress:()=>G2,cosmosCreateTransaction:()=>K5,convertToSignable:()=>$y,buildTransferTx:()=>k1,buildEncodedTxBody:()=>RT,buildDepositTx:()=>O1,buildAminoMsg:()=>rT,bech32ToBase64:()=>WT,base64ToBech32:()=>HT,YUM_KUJIRA_FACTORY_DENOM:()=>Y1,USK_KUJIRA_FACTORY_DENOM:()=>$5,THORCHAIN_GAS_VALUE:()=>Q2,MAYA_GAS_VALUE:()=>q2,DEFAULT_NOBLE_FEE_MAINNET:()=>R1,DEFAULT_KUJI_FEE_MAINNET:()=>_1,DEFAULT_COSMOS_FEE_MAINNET:()=>U1});module.exports=_y(sT);var eT=l(()=>{n5();S1();_T()});function u1(){function T(){let f=Date.now(),Z=g5||f;return g5=Z,f>g5?f:Z+1}return O2+T().toString(36)}function T5(T){return async function f(Z,y=!0){return(await b1.SwapKitApi.getChainBalance({chain:T,address:Z,scamFilter:y})).map(({identifier:X,value:J,decimal:x})=>{return new y5.AssetValue({decimal:x||y5.BaseDecimal[T],value:J,identifier:X})})}}var y5,b1,O2,g5=0;var f5=l(()=>{y5=require("@swapkit/helpers"),b1=require("@swapkit/helpers/api"),O2=typeof process!=="undefined"&&process.pid?process.pid.toString(36):""});function CT(T){let f=X5.SKConfig.get("apis")[T];if(f)return X5.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 w2(T){return T}function E2(T){return{getBalance:T5(T)}}var X5;var L5=l(()=>{X5=require("@swapkit/helpers");f5()});function sy({chain:T=H.Chain.Ethereum,provider:f,signer:Z,isEIP1559Compatible:y=!0}){return{getAddress:()=>{return Z?Z.getAddress():void 0},estimateTransactionFee:s5({provider:f,isEIP1559Compatible:y,chain:T}),call:a5({provider:f,signer:Z,isEIP1559Compatible:y,chain:T}),estimateCall:p1({provider:f,signer:Z}),EIP1193SendTransaction:yT(f),approve:V2({provider:f,signer:Z,isEIP1559Compatible:y,chain:T}),approvedAmount:h1({provider:f,chain:T}),broadcastTransaction:f.broadcastTransaction,createApprovalTx:A2({provider:f,signer:Z,chain:T}),createContract:i5({provider:f,chain:T}),createContractTxObject:my({provider:f,chain:T}),createTransferTx:t5({provider:f,signer:Z,chain:T}),createTransaction:t5({provider:f,signer:Z,chain:T}),estimateGasLimit:F2({provider:f,signer:Z,chain:T}),estimateGasPrices:by({chain:T,provider:f,isEIP1559Compatible:y}),isApproved:l2({provider:f,chain:T}),sendTransaction:m1({provider:f,signer:Z,isEIP1559Compatible:y,chain:T}),signMessage:Z?.signMessage,transfer:$2({provider:f,signer:Z,isEIP1559Compatible:y,chain:T}),validateAddress:(L)=>d5({address:L})}}function d5({address:T}){try{return Jy.getAddress(T),!0}catch(f){return!1}}function ey(T){return T instanceof Jy.BrowserProvider}function wT(T,f,Z){return new Jy.Contract(T,Jy.Interface.from(f),Z)}function i5({provider:T}){return function f(Z,y){return new Jy.Contract(Z,Jy.Interface.from(y),T)}}function r5({abi:T,funcName:f}){let Z=T.find((y)=>y.name===f);if(!Z)throw new H.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:f});return Z.stateMutability&&v2.includes(Z.stateMutability)}function j1(T){return Jy.getAddress(T)}function yT(T){return function f({value:Z,...y}){if(!ey(T))throw new H.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");return T.send("eth_sendTransaction",[{value:kT(BigInt(Z||0)),...y}])}}function n1(T,f){let Z=TT(T,f);if(Z)return Jy.getAddress(Z.toLowerCase());throw new H.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function TT({chain:T,symbol:f,ticker:Z},y){try{let L=T===H.Chain.BinanceSmartChain&&f==="BNB"&&Z==="BNB",X=T===y&&f===y&&Z===y,J=[H.Chain.Arbitrum,H.Chain.Aurora,H.Chain.Base,H.Chain.Optimism].includes(T)&&f==="ETH"&&Z==="ETH";if(X||L||J)return P2[y];return Jy.getAddress(f.slice(Z.length+1).replace(/^0X/,""))}catch(L){return null}}function my({provider:T}){return async({contractAddress:f,abi:Z,funcName:y,funcParams:L=[],txOverrides:X})=>wT(f,Z,T).getFunction(y).populateTransaction(...L.concat(X).filter((J)=>typeof J!=="undefined"))}function by({chain:T,provider:f,isEIP1559Compatible:Z=!0}){if(T===H.Chain.Arbitrum)return async function y(){try{let{gasPrice:L}=await f.getFeeData();if(!L)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{gasPrice:L},[H.FeeOption.Fast]:{gasPrice:L},[H.FeeOption.Fastest]:{gasPrice:L}}}catch(L){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:L.msg??L.toString()})}};if(T===H.Chain.Optimism)return async function y(){try{let{maxFeePerGas:L,maxPriorityFeePerGas:X,gasPrice:J}=await f.getFeeData(),x=vT(f)(),Q=J;if(!(L&&X))throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{l1GasPrice:x,gasPrice:Q,maxFeePerGas:L,maxPriorityFeePerGas:X},[H.FeeOption.Fast]:{l1GasPrice:H.applyFeeMultiplierToBigInt(x||0n,H.FeeOption.Fast),gasPrice:H.applyFeeMultiplierToBigInt(Q,H.FeeOption.Fast),maxFeePerGas:L,maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(X,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{l1GasPrice:H.applyFeeMultiplierToBigInt(x||0n,H.FeeOption.Fastest),gasPrice:H.applyFeeMultiplierToBigInt(Q,H.FeeOption.Fastest),maxFeePerGas:L,maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(X,H.FeeOption.Fastest)}}}catch(L){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:L.msg??L.toString()})}};return async function y(){try{let{maxFeePerGas:L,maxPriorityFeePerGas:X,gasPrice:J}=await f.getFeeData();if(Z){if(L===null||X===null)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:L,maxPriorityFeePerGas:X},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(X,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(L,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(X,H.FeeOption.Fastest)}}}if(!J)throw new H.SwapKitError("toolbox_evm_no_gas_price");return{[H.FeeOption.Average]:{gasPrice:J},[H.FeeOption.Fast]:{gasPrice:H.applyFeeMultiplierToBigInt(J,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{gasPrice:H.applyFeeMultiplierToBigInt(J,H.FeeOption.Fastest)}}}catch(L){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:L.msg??L.toString()})}}}function a5({provider:T,isEIP1559Compatible:f,signer:Z,chain:y}){return async function L({callProvider:X,contractAddress:J,abi:x,funcName:Q,funcParams:q=[],txOverrides:z={},feeOption:M=H.FeeOption.Fast}){let G=X||T;if(!J)throw new H.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let B=r5({abi:x,funcName:Q});if(B&&ey(G)&&Z){let I=my({provider:G,chain:y}),S=z?.from||await Z?.getAddress(),j=await I({contractAddress:J,abi:x,funcName:Q,funcParams:q,txOverrides:{...z,from:S}});return yT(G)(j)}let W=wT(J,x,G);if(B){if(!Z)throw new H.SwapKitError("toolbox_evm_no_signer");let I=z?.from||await Z.getAddress();if(!I)throw new H.SwapKitError("toolbox_evm_no_signer_address");let S=W.connect(Z),j=by({provider:T,isEIP1559Compatible:f,chain:y}),{maxFeePerGas:d,maxPriorityFeePerGas:m,gasPrice:yy}=(await j())[M],a=await W.getFunction(Q).estimateGas(...q,z),Ly=await S[Q](...q,{...z,gasLimit:a,maxFeePerGas:d,maxPriorityFeePerGas:m,gasPrice:yy,nonce:z?.nonce||await G.getTransactionCount(I)});return typeof Ly?.hash==="string"?Ly?.hash:Ly}let R=await W[Q]?.(...q);return typeof R?.hash==="string"?R?.hash:R}}function h1({provider:T,chain:f}){return function Z({assetAddress:y,spenderAddress:L,from:X}){return a5({provider:T,isEIP1559Compatible:!0,chain:f})({contractAddress:y,abi:ay.erc20ABI,funcName:"allowance",funcParams:[X,L]})}}function l2({provider:T,chain:f}){return async function Z({assetAddress:y,spenderAddress:L,from:X,amount:J=OT}){let x=await h1({provider:T,chain:f})({assetAddress:y,spenderAddress:L,from:X});return H.SwapKitNumber.fromBigInt(x).gte(H.SwapKitNumber.fromBigInt(BigInt(J)))}}function V2({signer:T,isEIP1559Compatible:f=!0,provider:Z,chain:y}){return async function L({assetAddress:X,spenderAddress:J,feeOptionKey:x=H.FeeOption.Fast,amount:Q,gasLimitFallback:q,from:z,nonce:M}){let G=[J,BigInt(Q||OT)],B=await T?.getAddress()||z,W={contractAddress:X,abi:ay.erc20ABI,funcName:"approve",funcParams:G,signer:T,txOverrides:{from:B}};if(ey(Z)){let I=my({provider:Z,chain:y}),S=yT(Z),j=await I(W);return S(j)}return a5({provider:Z,isEIP1559Compatible:f,signer:T,chain:y})({...W,funcParams:G,txOverrides:{from:B,nonce:M,gasLimit:q?BigInt(q.toString()):void 0},feeOption:x})}}function $2({signer:T,isEIP1559Compatible:f=!0,provider:Z}){return async function y({assetValue:L,memo:X,recipient:J,feeOptionKey:x=H.FeeOption.Fast,sender:Q,...q}){let{hexlify:z,toUtf8Bytes:M}=await import("ethers"),G=L.getBaseValue("bigint"),B=L.chain,W=Q||await T?.getAddress(),R=m1({provider:Z,signer:T,isEIP1559Compatible:f,chain:B});if(!W)throw new H.SwapKitError("toolbox_evm_no_from_address");if(L.isGasAsset){let yy={...q,from:W,to:J,value:G,data:z(M(X||"")),feeOptionKey:x};return R(yy)}if(!TT(L,B))throw new H.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:S,maxPriorityFeePerGas:j,gasPrice:d}=(await by({provider:Z,isEIP1559Compatible:f,chain:B})())[x],m=await t5({provider:Z,signer:T,chain:B})({assetValue:L,memo:X,recipient:J,data:z(M(X||"")),sender:W,maxFeePerGas:S,maxPriorityFeePerGas:j,gasPrice:d});return R(m)}}function p1({provider:T,signer:f}){return function Z({contractAddress:y,abi:L,funcName:X,funcParams:J=[],txOverrides:x}){if(!y)throw new H.SwapKitError("toolbox_evm_no_contract_address");let Q=wT(y,L,T);return f?Q.connect(f).getFunction(X).estimateGas(...J,x):Q.getFunction(X).estimateGas(...J,x)}}function F2({provider:T,signer:f}){return async function Z({assetValue:y,recipient:L,memo:X,data:J,sender:x,funcName:Q,funcParams:q,txOverrides:z}){let M=y.bigIntValue,G=y.isGasAsset?null:TT(y,y.chain);if(G&&Q)return p1({provider:T,signer:f})({contractAddress:G,abi:ay.erc20ABI,funcName:Q,funcParams:q,txOverrides:z});let{hexlify:B,toUtf8Bytes:W}=await import("ethers");return T.estimateGas({from:x,to:L,value:M,data:J?J:X?B(W(X)):void 0})}}function m1({provider:T,signer:f,isEIP1559Compatible:Z=!0,chain:y}){return async function L({feeOptionKey:X=H.FeeOption.Fast,...J}){let{from:x,to:Q,data:q,value:z,...M}=J;if(!f)throw new H.SwapKitError("toolbox_evm_no_signer");if(!Q)throw new H.SwapKitError("toolbox_evm_no_to_address");let G={...M,data:q||"0x",to:Q,from:x,value:BigInt(z||0)};if(ey(T))return yT(T)(G);let B=x||await f.getAddress(),W=J.nonce||await T.getTransactionCount(B),R=(await T.getNetwork()).chainId,I=K2(G)||Z,S=by({provider:T,isEIP1559Compatible:Z,chain:y}),j=I&&!(G.maxFeePerGas&&G.maxPriorityFeePerGas)||!G.gasPrice?Object.entries((await S())[X]).reduce((m,[yy,a])=>({...m,[yy]:kT(BigInt(a))}),{}):{},d;try{d=kT(G.gasLimit||await T.estimateGas(G)*11n/10n)}catch(m){throw new H.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:m})}try{let m={...G,chainId:R,type:I?2:0,gasLimit:d,nonce:W,...j};try{return(await f.sendTransaction(m)).hash}catch(yy){let a=await f.signTransaction({...m,from:B});return(await T.broadcastTransaction(a)).hash}}catch(m){throw new H.SwapKitError("toolbox_evm_error_sending_transaction",{error:m})}}}function t5({provider:T,signer:f}){return async function Z({assetValue:y,memo:L,recipient:X,data:J,sender:x,maxFeePerGas:Q,maxPriorityFeePerGas:q,gasPrice:z,...M}){let G=y.getBaseValue("bigint"),B=y.chain,W=x||await f?.getAddress();if(!W)throw new H.SwapKitError("toolbox_evm_no_from_address");if(H.isGasAsset(y)){let{hexlify:S,toUtf8Bytes:j}=await import("ethers");return{...M,from:W,to:X,value:G,data:J||S(j(L||""))}}let R=TT(y,B);if(!R)throw new H.SwapKitError("toolbox_evm_no_contract_address");return my({provider:T,chain:y.chain})({contractAddress:R,abi:ay.erc20ABI,funcName:"transfer",funcParams:[X,G],txOverrides:{from:W,maxFeePerGas:Q,maxPriorityFeePerGas:q,gasPrice:z}})}}function A2({provider:T,signer:f,chain:Z}){return async function y({assetAddress:L,spenderAddress:X,amount:J,from:x}){let Q=await f?.getAddress()||x,q=my({provider:T,chain:Z}),z=["bigint","number"].includes(typeof J)?J:J||OT;return await q({contractAddress:L,abi:ay.erc20ABI,funcName:"approve",funcParams:[X,BigInt(z)],txOverrides:{from:Q}})}}var H,ay,Jy,OT,v2,P2,K2=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var ET=l(()=>{H=require("@swapkit/helpers"),ay=require("@swapkit/helpers/contracts"),Jy=require("ethers");e5();OT=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");v2=["payable","nonpayable"];P2={[H.Chain.Arbitrum]:H.ContractAddress.ARB,[H.Chain.Aurora]:H.ContractAddress.AURORA,[H.Chain.Avalanche]:H.ContractAddress.AVAX,[H.Chain.Base]:H.ContractAddress.BASE,[H.Chain.Berachain]:H.ContractAddress.BERA,[H.Chain.BinanceSmartChain]:H.ContractAddress.BSC,[H.Chain.Ethereum]:H.ContractAddress.ETH,[H.Chain.Gnosis]:H.ContractAddress.GNO,[H.Chain.Optimism]:H.ContractAddress.OP,[H.Chain.Polygon]:H.ContractAddress.MATIC}});var o1;var c1=l(()=>{o1=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});async function Z5({provider:T,...f}){let Z=await wy(Xy.Chain.Ethereum)({provider:T,...f});async function y(L,X="0x5ba1e12693dc8f9c48aad8770482f4739beed696",J="aggregate",x=Xy.FeeOption.Fast){let Q=await Z.createContractTxObject({contractAddress:X,abi:o1,funcName:J,funcParams:[L]});return Z.sendTransaction({...Q,feeOptionKey:x})}return{...Z,multicall:y}}function wy(T){return async function f({provider:Z,...y}){let L=await Xy.getRPCUrl(T),X=Z||await oy(T,L),J=f0(T),x=PT.match(y).with({phrase:PT.P.string},({phrase:q})=>g1.HDNodeWallet.fromPhrase(q).connect(X)).with({signer:PT.P.any},({signer:q})=>q).otherwise(()=>{return});return{...sy({provider:X,signer:x,isEIP1559Compatible:J,chain:T}),getNetworkParams:T0(T),getBalance:CT(T).getBalance}}}var Xy,g1,PT,J5,x5,Q5,q5,z5,M5,G5,B5;var y0=l(()=>{Xy=require("@swapkit/helpers"),g1=require("ethers"),PT=require("ts-pattern");L5();c1();lT();ET();J5=wy(Xy.Chain.Arbitrum),x5=wy(Xy.Chain.Aurora),Q5=wy(Xy.Chain.Avalanche),q5=wy(Xy.Chain.Base),z5=wy(Xy.Chain.Berachain),M5=wy(Xy.Chain.BinanceSmartChain),G5=wy(Xy.Chain.Gnosis),B5=wy(Xy.Chain.Polygon)});var t1;var d1=l(()=>{t1=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}]});function L0(T){return new W5.Contract(S2,t1,T)}function vT(T){return function f(){let Z=L0(T);if(Z&&"l1BaseFee"in Z)return Z?.l1BaseFee();return}}function r1(T){return async function f({from:Z,to:y,nonce:L,...X}){let{Transaction:J}=await import("ethers");if(!y)throw new e.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return J.from({...X,authorizationList:X.authorizationList,to:y,nonce:L?L:Z?await T.getTransactionCount(Z):0}).serialized}}function a1(T){return async function f(Z){let y=L0(T),L=await r1(T)(Z);if(y&&"getL1Fee"in y)return y.getL1Fee(L)}}function s1(T){return async function f(Z){let y=await T.send("eth_gasPrice",[]),L=await T.estimateGas(Z);return y.mul(L)}}function b2(T){return async function f(Z){let y=await a1(T)(Z),L=await s1(T)(Z);return y.add(L)}}function Z0(T){return async function f(Z){let y=L0(T),L=await r1(T)(Z);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(L)}}async function H5({provider:T,...f}){let Z=e.Chain.Optimism,y=await e.getRPCUrl(Z),L=T||await oy(Z,y),X=i1.match(f).with({phrase:X0.P.string},({phrase:Q})=>W5.HDNodeWallet.fromPhrase(Q).connect(L)).with({signer:X0.P.any},({signer:Q})=>Q).otherwise(()=>{return}),J=sy({provider:L,signer:X}),x=vT(L);return{...J,estimateL1Gas:Z0(L),estimateL1GasCost:a1(L),estimateL2GasCost:s1(L),estimateTotalGasCost:b2(L),getBalance:CT(e.Chain.Optimism).getBalance,getL1GasPrice:x,getNetworkParams:u2}}var e,W5,X0,i1,S2="0x420000000000000000000000000000000000000f",u2=()=>({chainId:e.ChainId.OptimismHex,chainName:"Optimism",nativeCurrency:{name:"Ethereum",symbol:e.Chain.Ethereum,decimals:e.BaseDecimal.ETH},rpcUrls:[e.SKConfig.get("rpcUrls")[e.Chain.Optimism]],blockExplorerUrls:[e.ChainToExplorerUrl[e.Chain.Optimism]]});var J0=l(()=>{e=require("@swapkit/helpers"),W5=require("ethers"),X0=require("ts-pattern"),i1=require("ts-pattern");L5();d1();lT();ET()});var x0={};zy(x0,{toChecksumAddress:()=>j1,isStateChangingCall:()=>r5,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getL1GasPriceFetcher:()=>vT,getEvmToolbox:()=>e1,getEstimateGasPrices:()=>by,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>my,getCreateContract:()=>i5,getChecksumAddressFromAsset:()=>n1,evmValidateAddress:()=>d5,estimateL1Gas:()=>Z0,createContract:()=>wT,OPToolbox:()=>H5,MAX_APPROVAL:()=>OT,MATICToolbox:()=>B5,GNOToolbox:()=>G5,ETHToolbox:()=>Z5,BaseEVMToolbox:()=>sy,BSCToolbox:()=>M5,BERAToolbox:()=>z5,BASEToolbox:()=>q5,AVAXToolbox:()=>Q5,AURORAToolbox:()=>x5,ARBToolbox:()=>J5});async function e1(T,f){let Z={...f,provider:f?.provider||await oy(T)};switch(T){case xy.Chain.Arbitrum:return J5(Z);case xy.Chain.Aurora:return x5(Z);case xy.Chain.Avalanche:return Q5(Z);case xy.Chain.Base:return q5(Z);case xy.Chain.Berachain:return z5(Z);case xy.Chain.BinanceSmartChain:return M5(Z);case xy.Chain.Gnosis:return G5(Z);case xy.Chain.Optimism:return H5(Z);case xy.Chain.Polygon:return B5(Z);case xy.Chain.Ethereum:return Z5(Z);default:throw new xy.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var xy;var Y5=l(()=>{xy=require("@swapkit/helpers");lT();y0();J0();ET();y0();J0()});async function oy(T,f){let{JsonRpcProvider:Z}=await import("ethers");return new Z(f||await K.getRPCUrl(T))}function kT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function s5({provider:T,isEIP1559Compatible:f=!0}){return async function Z({feeOption:y=K.FeeOption.Fast,chain:L,...X}){let x=await by({provider:T,isEIP1559Compatible:f,chain:L})(),Q=await T.estimateGas(X),q=K.AssetValue.from({chain:L}),{gasPrice:z,maxFeePerGas:M,maxPriorityFeePerGas:G}=x[y];if(!f&&z)return q.set(K.SwapKitNumber.fromBigInt(z*Q,q.decimal));if(M&&G){let B=(M+G)*Q;return q.set(K.SwapKitNumber.fromBigInt(B,q.decimal))}throw new K.SwapKitError("toolbox_evm_no_gas_price")}}function T0(T){return()=>K.Chain.Ethereum===T?void 0:{...n2({chain:T}),chainId:K.ChainToHexChainId[T],rpcUrls:[K.SKConfig.get("rpcUrls")[T]],blockExplorerUrls:[K.ChainToExplorerUrl[T]]}}function f0(T){return![K.Chain.Arbitrum,K.Chain.BinanceSmartChain].includes(T)}function n2({chain:T}){let f=K.BaseDecimal[T];switch(T){case K.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{name:"Ethereum",symbol:K.Chain.Ethereum,decimals:f}};case K.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{name:"Ethereum",symbol:K.Chain.Ethereum,decimals:f}};case K.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{name:"Avalanche",symbol:T,decimals:f}};case K.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{name:"Ethereum",symbol:K.Chain.Ethereum,decimals:f}};case K.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{name:"Berachain",symbol:"BERA",decimals:f}};case K.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{name:"Binance Coin",symbol:"BNB",decimals:f}};case K.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{name:"xDAI",symbol:"XDAI",decimals:f}};case K.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{name:"Ethereum",symbol:K.Chain.Ethereum,decimals:f}};case K.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{name:"Polygon",symbol:K.Chain.Polygon,decimals:f}};default:throw new K.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var K,j2=async({from:T,memo:f="",feeOptionKey:Z=K.FeeOption.Fastest,assetValue:y,abi:L,funcName:X,funcParams:J,contractAddress:x,txOverrides:Q})=>{let{getEvmToolbox:q}=await Promise.resolve().then(() => (Y5(),x0)),z=await q(y.chain),G=(await z.getBalance(T)).find(({symbol:m,chain:yy})=>y?m===y.symbol:m===K.AssetValue.from({chain:yy})?.symbol),B=(await z.estimateGasPrices())[Z];if(!G)return K.AssetValue.from({chain:y.chain});if(y&&(G.chain!==y.chain||G.symbol!==y?.symbol))return G;let W=L&&X&&J&&x?await z.estimateCall({contractAddress:x,abi:L,funcName:X,funcParams:J,txOverrides:Q}):await z.estimateGasLimit({sender:T,recipient:T,memo:f,assetValue:y}),R="maxFeePerGas"in B,I="gasPrice"in B&&B.gasPrice!==void 0;if(!(B&&(I||R)))throw new K.SwapKitError("toolbox_evm_no_fee_data");let S=R?(B.maxFeePerGas||1n)+(B.maxPriorityFeePerGas||1n):B.gasPrice||1n,j=W*S,d=K.SwapKitNumber.fromBigInt(G.getBaseValue("bigint")).sub(j.toString());return K.AssetValue.from({chain:G.chain,value:d.getValue("string")})};var lT=l(()=>{K=require("@swapkit/helpers");ET()});var yf;var Tf=l(()=>{((Z)=>{Z.Test="goerli";Z.Main="homestead"})(yf||={})});var ff={};zy(ff,{toHexString:()=>kT,toChecksumAddress:()=>j1,isStateChangingCall:()=>r5,isBrowserProvider:()=>ey,getTokenAddress:()=>TT,getProvider:()=>oy,getNetworkParams:()=>T0,getL1GasPriceFetcher:()=>vT,getIsEIP1559Compatible:()=>f0,getEvmToolbox:()=>e1,getEvmApi:()=>CT,getEstimateTransactionFee:()=>s5,getEstimateGasPrices:()=>by,getEIP1193SendTransaction:()=>yT,getCreateContractTxObject:()=>my,getCreateContract:()=>i5,getChecksumAddressFromAsset:()=>n1,evmValidateAddress:()=>d5,estimateMaxSendableAmount:()=>j2,estimateL1Gas:()=>Z0,createCustomEvmApi:()=>w2,createContract:()=>wT,OPToolbox:()=>H5,MAX_APPROVAL:()=>OT,MATICToolbox:()=>B5,GNOToolbox:()=>G5,EthNetwork:()=>yf,ETHToolbox:()=>Z5,BaseEVMToolbox:()=>sy,BSCToolbox:()=>M5,BERAToolbox:()=>z5,BASEToolbox:()=>q5,AVAXToolbox:()=>Q5,AURORAToolbox:()=>x5,ARBToolbox:()=>J5});module.exports=_y(ff);var e5=l(()=>{L5();lT();Tf();Y5()});async function h2(T,f,Z){try{let y=await T.query.system?.account?.(Z);if(!y)return[f.set(0)];let{data:{free:L}}=y,X=cy.SwapKitNumber.fromBigInt(BigInt(L.toString()),f.decimal).getValue("string");return[f.set(X)]}catch(y){return console.error("Error fetching substrate balance:",y),[f.set(0)]}}async function p2(T,f,Z){try{let y=await T.query.flip?.account?.(Z);if(!y)return[f.set(0)];let L=y.balance||y.data?.balance;if(!L||L.isEmpty)return[f.set(0)];let X=cy.SwapKitNumber.fromBigInt(BigInt(L.toString()),f.decimal).getValue("string");return[f.set(X)]}catch(y){return console.error("Error fetching chainflip balance:",y),[f.set(0)]}}function Xf(T,f){return function Z(y){let L=cy.AssetValue.from({chain:T});switch(T){case cy.Chain.Chainflip:return p2(f,L,y);default:return h2(f,L,y)}}}var cy;var Lf=l(()=>{cy=require("@swapkit/helpers")});var m2,o2,c2,uy;var Q0=l(()=>{m2={prefix:0,network:"polkadot",displayName:"Polkadot Relay Chain",symbols:["DOT"],decimals:[10],standardAccount:"*25519",website:"https://polkadot.network"},o2={prefix:2112,network:"chainflip",displayName:"Chainflip",symbols:["FLIP"],decimals:[18],standardAccount:"*25519",website:"https://chainflip.io/"},c2={prefix:42,network:"substrate",displayName:"Substrate",symbols:[],decimals:[],standardAccount:"*25519",website:"https://substrate.io/"},uy={DOT:m2,FLIP:o2,GENERIC:c2}});function g2(T,f){switch(T){case t.Chain.Chainflip:return Jf(f);case t.Chain.Polkadot:return Zf(f);default:throw new t.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function fT(T){return"address"in T}async function z0(T,f){let{Keyring:Z}=await import("@polkadot/api"),{cryptoWaitReady:y}=await import("@polkadot/util-crypto");return await y(),new Z({type:"sr25519",ss58Format:f}).addFromUri(T)}function e2(T,f){let Z=LT.decodeAddress(T);return LT.encodeAddress(Z,f)}function xf(T,f){return XT.isHex(T)?XT.hexToU8a(T):LT.decodeAddress(T,void 0,f)}function Qf(T,f="ss58",Z){if(f==="hex")return XT.u8aToHex(T);return LT.encodeAddress(T,Z)}async function B0({generic:T,chain:f,...Z}){let{ApiPromise:y,WsProvider:L}=await import("@polkadot/api"),X=await t.getRPCUrl(f),J=new L(X),x=await y.create({provider:J}),Q=t.AssetValue.from({chain:f}),q=T?uy.GENERIC:uy[f],z=await VT.match(Z).with({phrase:VT.P.string},({phrase:M})=>z0(M,uy[f].prefix)).with({signer:VT.P.any},({signer:M})=>M).otherwise(()=>{return});return qf({api:x,signer:z,gasAsset:Q,network:q,chain:f})}var XT,LT,t,VT,Zf=({generic:T=!1,...f}={})=>{return B0({chain:t.Chain.Polkadot,generic:T,...f})},Jf=async({generic:T=!1,...f}={})=>{return{...await B0({chain:t.Chain.Chainflip,generic:T,...f})}},M0=(T,f)=>T.rpc.system.accountNextIndex(f),q0=(T,f)=>{try{let Z=xf(T,f);return Qf(Z,"ss58",f),!0}catch(Z){return!1}},G0=(T,{recipient:f,assetValue:Z})=>T.tx.balances?.transferAllowDeath?.(f,Z.getBaseValue("number")),t2=async(T,f,{recipient:Z,assetValue:y,sender:L})=>{let X=G0(T,{recipient:Z,assetValue:y}),J=fT(f);if(!X)return;let x=J?f.address:L;if(!x)throw new t.SwapKitError("core_transaction_invalid_sender_address");let Q=await M0(T,x);return(await X.signAndSend(J?f:x,{signer:J?void 0:f,nonce:Q}))?.toString()},d2=async(T,f,Z,{recipient:y,assetValue:L,sender:X})=>{let J=G0(T,{recipient:y,assetValue:L}),x=fT(f)?f.address:X;if(!x)return;let Q=await J?.paymentInfo(x,{nonce:await M0(T,x)})||{partialFee:0};return Z.set(t.SwapKitNumber.fromBigInt(BigInt(Q.partialFee.toString()),Z.decimal).getValue("string"))},i2=async(T,f)=>{if(f)return T.send(f);return(await T.send()).toString()},r2=async(T,f)=>{return await f.signAsync(T)},a2=(T,f,Z)=>{if(Z)return f.signAndSend(T,Z);return f.signAndSend(T).toString()},s2=async({signer:T,address:f,tx:Z,callback:y,api:L})=>{let X=await M0(L,f);if(y)Z.signAndSend(f,{nonce:X,signer:T},y);return Z.signAndSend(f,{nonce:X,signer:T}).toString()},qf=({api:T,network:f,gasAsset:Z,signer:y,chain:L})=>({api:T,network:f,gasAsset:Z,decodeAddress:xf,encodeAddress:Qf,convertAddress:e2,getBalance:Xf(L||t.Chain.Polkadot,T),createKeyring:(X)=>z0(X,f.prefix),getAddress:(X)=>{let J=X||y;if(!J)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return fT(J)?J.address:void 0},createTransaction:(X)=>G0(T,X),validateAddress:(X)=>q0(X,f.prefix),transfer:(X)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return t2(T,y,X)},estimateTransactionFee:(X)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return d2(T,y,Z,X)},sign:(X)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");if(fT(y))return r2(y,X);throw new t.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},broadcast:i2,signAndBroadcast:({tx:X,callback:J,address:x})=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");if(fT(y))return a2(y,X,J);if(x)return s2({signer:y,address:x,tx:X,callback:J,api:T});throw new t.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")}}),yX=({address:T,chain:f})=>{let{prefix:Z}=f===t.Chain.Polkadot?uy.DOT:uy.FLIP;return q0(T,Z)||q0(T,uy.GENERIC.prefix)};var zf=l(()=>{XT=require("@polkadot/util"),LT=require("@polkadot/util-crypto"),t=require("@swapkit/helpers"),VT=require("ts-pattern");Lf();Q0()});var W0={};zy(W0,{substrateValidateAddress:()=>yX,isKeyringPair:()=>fT,getSubstrateToolbox:()=>g2,createSubstrateToolbox:()=>B0,createKeyring:()=>z0,SubstrateNetwork:()=>uy,PolkadotToolbox:()=>Zf,ChainflipToolbox:()=>Jf,BaseSubstrateToolbox:()=>qf});module.exports=_y(W0);var H0=l(()=>{zf();Q0()});async function TX({chain:T,txHash:f}){let Z=`${U5(T)}/push/transaction`,y=JSON.stringify({data:f});try{let L=await u.RequestClient.post(Z,{headers:{"Content-Type":"application/json"},body:y});if(L.context.code!==200)throw new u.SwapKitError("toolbox_utxo_broadcast_failed",{error:L.context.error||"Transaction broadcast failed"});return L.data?.transaction_hash||f}catch(L){let X=await u.getRPCUrl(T);if(X){let J=JSON.stringify({jsonrpc:"2.0",method:"sendrawtransaction",params:[f],id:u1()}),x=await u.RequestClient.post(X,{headers:{"Content-Type":"application/json"},body:J});if(x.error)throw new u.SwapKitError("toolbox_utxo_broadcast_failed",{error:x.error?.message});if(x.result.includes('"code":-26'))throw new u.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return x.result}throw L}}function U5(T){return`https://api.blockchair.com/${fX(T)}`}function Mf(T){switch(T){case u.Chain.Bitcoin:return 5;case u.Chain.Dogecoin:return 1e4;case u.Chain.Litecoin:return 1;case u.Chain.Zcash:return 1;default:return 2}}function fX(T){switch(T){case u.Chain.BitcoinCash:return"bitcoin-cash";case u.Chain.Litecoin:return"litecoin";case u.Chain.Dash:return"dash";case u.Chain.Dogecoin:return"dogecoin";case u.Chain.Zcash:return"zcash";case u.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function XX(T){try{let{feePerKb:f}=await u.RequestClient.get(`https://app.bitgo.com/api/v2/${T.toLowerCase()}/tx/fee`),Z=f/1000;return Math.max(Z,Mf(T))}catch(f){return Mf(T)}}async function Y0(T,f){let Z=await u.RequestClient.get(`${T}${f?`${T.includes("?")?"&":"?"}key=${f}`:""}`);if(!Z||Z.context.code!==200)throw new u.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return Z.data}async function Hf({address:T,chain:f,apiKey:Z}){if(!T)throw new u.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await Y0(`${U5(f)}/dashboards/address/${T}?transaction_details=true`,Z))[T]}catch(y){return{utxo:[],address:{balance:0,transaction_count:0}}}}async function LX({address:T,chain:f,apiKey:Z}){return(await Hf({address:T,chain:f,apiKey:Z}))?.address.balance||0}async function Yf({chain:T,apiKey:f,txHash:Z}){if(!Z)throw new u.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await Y0(`${U5(T)}/raw/transaction/${Z}`,f))?.[Z]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function ZX({chain:T,address:f,apiKey:Z,offset:y=0,limit:L=30}){return(await Y0(`${U5(T)}/outputs?q=recipient(${f}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${L}&offset=${y}`,Z)).map(({is_spent:Q,script_hex:q,block_id:z,transaction_hash:M,index:G,value:B,spending_signature_hex:W})=>({hash:M,index:G,value:B,txHex:W,script_hex:q,is_confirmed:z!==-1,is_spent:Q}))}function JX(T){return T.reduce((f,Z)=>f+Z.value,0)}function Gf(T,f){let Z=[...T].sort((y,L)=>L.value-y.value);if(f){let y=[],L=0;for(let X of Z)if(y.push(X),L+=X.value,L>=f)break;return y}return Z}async function Uf({chain:T,address:f,apiKey:Z,targetValue:y,accumulativeValue:L=0,offset:X=0,limit:J=30}){if(!f)throw new u.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let x=await ZX({targetValue:y,chain:T,address:f,apiKey:Z,offset:X,limit:J}),q=x.length<J,z=x.filter(({is_spent:I})=>!I),M=JX(z),G=L+M,B=y&&G>=y;if(q||B)return Gf(z,y);let W=await Uf({chain:T,address:f,apiKey:Z,offset:X+J,limit:J,accumulativeValue:G,targetValue:y}),R=[...z,...W];return Gf(R,y)}catch(x){return console.error("Failed to fetch unspent UTXOs:",x),[]}}async function xX({address:T,chain:f,apiKey:Z,fetchTxHex:y=!0,targetValue:L}){let X=await Uf({chain:f,address:T,apiKey:Z,targetValue:L}),J=[];for(let{hash:x,index:Q,script_hex:q,value:z}of X){let M;if(y)M=await Yf({txHash:x,chain:f,apiKey:Z});J.push({address:T,hash:x,index:Q,txHex:M,value:z,witnessUtxo:{value:z,script:Buffer.from(q,"hex")}})}return J}function QX(T){let f=u.SKConfig.get("apiKeys").blockchair||"";return u.warnOnce({condition:!f,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(Z)=>TX({txHash:Z,chain:T}),getRawTx:(Z)=>Yf({txHash:Z,chain:T,apiKey:f}),getSuggestedTxFee:()=>XX(T),getBalance:(Z)=>LX({address:Z,chain:T,apiKey:f}),getAddressData:(Z)=>Hf({address:Z,chain:T,apiKey:f}),getUtxos:(Z)=>xX({...Z,chain:T,apiKey:f})}}function qX(T){return T}function Qy(T){let f=u.SKConfig.get("apis")[T];if(f)return u.warnOnce({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),f;return QX(T)}function Ry(){return function T(f){switch(f){case u.Chain.Bitcoin:return Wf.networks.bitcoin;case u.Chain.BitcoinCash:return ZT.default.bitcoincash.main.toBitcoinJS();case u.Chain.Dash:return ZT.default.dash.main.toBitcoinJS();case u.Chain.Litecoin:return ZT.default.litecoin.main.toBitcoinJS();case u.Chain.Dogecoin:{let Z={private:70615956,public:70617039},y=ZT.default.dogecoin.test;return y.versions.bip32=Z,ZT.default.dogecoin.main.toBitcoinJS()}case u.Chain.Zcash:return Bf.networks.zcash;default:throw new u.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}}var Bf,u,Wf,ZT;var _f=l(()=>{Bf=require("@bitgo/utxo-lib"),u=require("@swapkit/helpers"),Wf=require("bitcoinjs-lib");f5();ZT=U(require("coininfo"))});function D0(T){try{return _5(T),!0}catch(f){return!1}}function I0(T){return _5(T)?.network}function JT(T){let f=_5(T);if(f?.format==="legacy")return T;return GX(f)}function $T(T){let f=_5(T);return BX(f)}function _5(T){try{let f=zX(T);if(f)return f}catch(f){}try{let f=MX(T);if(f)return f}catch(f){}throw new U0.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function zX(T){try{let f=_0.default.decode(T);if(f.length!==21)throw new U0.SwapKitError("toolbox_utxo_invalid_address",{address:T});let Z=f[0],y=Array.prototype.slice.call(f,1);switch(Z){case c.legacy.mainnet.p2pkh:return{hash:y,format:"legacy",network:"mainnet",type:"p2pkh"};case c.legacy.mainnet.p2sh:return{hash:y,format:"legacy",network:"mainnet",type:"p2sh"};case c.legacy.testnet.p2pkh:return{hash:y,format:"legacy",network:"testnet",type:"p2pkh"};case c.legacy.testnet.p2sh:return{hash:y,format:"legacy",network:"testnet",type:"p2sh"};case c.bitpay.mainnet.p2pkh:return{hash:y,format:"bitpay",network:"mainnet",type:"p2pkh"};case c.bitpay.mainnet.p2sh:return{hash:y,format:"bitpay",network:"mainnet",type:"p2sh"};default:return}}catch(f){return}}function MX(T){if(T.indexOf(":")!==-1)try{return Rf(T)}catch(f){}else{let f=["bitcoincash","bchtest","bchreg"];for(let Z of f)try{return Rf(`${Z}:${T}`)}catch(y){}}return}function Rf(T){try{let{hash:f,prefix:Z,type:y}=R0.default.decode(T);return{format:"cashaddr",hash:Array.prototype.slice.call(f,0),network:Z==="bitcoincash"?"mainnet":"testnet",type:y==="P2PKH"?"p2pkh":"p2sh"}}catch(f){return}}function GX(T){let f=c.legacy[T.network][T.type],Z=Buffer.alloc(1+T.hash.length);return Z[0]=f,Z.set(T.hash,1),_0.default.encode(Z)}function BX(T){let f=T.network==="mainnet"?"bitcoincash":"bchtest",Z=T.type==="p2pkh"?"P2PKH":"P2SH",y=new Uint8Array(T.hash);return R0.default.encode(f,Z,y)}var U0,_0,R0,N0,c;var Nf=l(()=>{U0=require("@swapkit/helpers"),_0=U(require("bs58check")),R0=U(require("cashaddrjs"));((Z)=>{Z.Mainnet="mainnet";Z.Testnet="testnet"})(N0||={});c={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});var Ny,R5=(T)=>{switch(T){case Ny.Chain.Bitcoin:case Ny.Chain.BitcoinCash:return 550;case Ny.Chain.Dash:case Ny.Chain.Litecoin:return 5500;case Ny.Chain.Dogecoin:return 1e5;case Ny.Chain.Zcash:return 546;default:throw new Ny.SwapKitError("toolbox_utxo_not_supported",{chain:T})}},Dy=({inputs:T,outputs:f,feeRate:Z=1,chain:y=Ny.Chain.Bitcoin,changeAddress:L=""})=>{let X=Math.ceil(Z),J=T[0]&&"address"in T[0]&&T[0].address?KT(T[0].address):"P2PKH",x=T.filter((B)=>jy(B)*X<=B.value),Q=N5+f.reduce((B,W)=>B+FT(W,J),0),q=f.reduce((B,W)=>B+W.value,0),z=Q*X,M=0,G=[];for(let B of x){let W=jy(B),R=X*W;z+=R,M+=B.value,G.push(B);let I=z+q;if(M<I)continue;let S=M-I,j=X*FT({address:"",value:0},J);if(S>j){let d=j+z,m=M-(q+d);if(m>Math.max(jy({})*X,R5(y)))return{inputs:G,outputs:f.concat({value:m,address:L}),fee:d}}return{inputs:G,outputs:f,fee:z}}return{fee:X*xT({inputs:T,outputs:f,feeRate:X})}};var Df=l(()=>{Ny=require("@swapkit/helpers");QT()});function Iy(T){let f=Buffer.from(T,"utf8");return C5.script.compile([C5.opcodes.OP_RETURN,f])}var If,C5,WX=1000,N5=10,Cf=10,HX=41,YX=107,D5,I5,AT,KT=(T)=>{if(T.startsWith("bc1")||T.startsWith("tb1")||T.startsWith("ltc1")||T.startsWith("tltc1"))return"P2WPKH";if(T.startsWith("1")||T.startsWith("m")||T.startsWith("n")||T.startsWith("bitcoincash:q")||T.startsWith("bitcoincash:p")||T.startsWith("q")||T.startsWith("p")||T.startsWith("L")||T.startsWith("M")||T.startsWith("3")||T.startsWith("D")||T.startsWith("A")||T.startsWith("9")||T.startsWith("X")||T.startsWith("7")||T.startsWith("y")||T.startsWith("t1")||T.startsWith("t3")||T.startsWith("tm"))return"P2PKH";throw new If.SwapKitError("toolbox_utxo_invalid_address",{address:T})},xT=({inputs:T,outputs:f,feeRate:Z})=>{let y=T[0]&&"address"in T[0]&&T[0].address?KT(T[0].address):"P2PKH",L=T.filter((J)=>J.value>=I5["type"in J?J.type:"P2PKH"]*Math.ceil(Z)).reduce((J,x)=>J+jy(x),0),X=f?.reduce((J,x)=>J+FT(x),0)||AT[y];return N5+L+X},jy=(T)=>{if("type"in T)return I5[T.type];if("address"in T&&T.address)return I5[KT(T.address)];return HX+YX},FT=(T,f)=>{if(T?.script)return Cf+T.script.length+(T.script.length>=74?2:1);if(f)return AT[f];return AT.P2PKH};var kf=l(()=>{If=require("@swapkit/helpers"),C5=require("bitcoinjs-lib");((Z)=>{Z.P2PKH="P2PKH";Z.P2WPKH="P2WPKH"})(D5||={});I5={["P2PKH"]:148,["P2WPKH"]:68},AT={["P2PKH"]:34,["P2WPKH"]:31}});var QT=l(()=>{_f();Nf();Df();kf()});function w0(){return By.networks.zcash}function wf(){return{messagePrefix:`\x18ZCash Signed Message:
2
- `,bech32:void 0,bip32:{public:76067358,private:76066276},pubKeyHash:28,scriptHash:28,wif:128}}function ST(T){try{if(T.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let f=w0();try{return By.address.toOutputScript(T,f),!0}catch{let Z=O0.default.decode(T);if(Z.length<21)return!1;let y=Z[0];return y===f.pubKeyHash||y===f.scriptHash}}catch{return!1}}function UX({phrase:T,derivationPath:f}){let Z=k0.mnemonicToSeedSync(T),L=C0.HDKey.fromMasterSeed(Z).derive(f);if(!L.privateKey)throw new r.SwapKitError("toolbox_utxo_invalid_params");let X=wf(),J=By.ECPair.fromPrivateKey(Buffer.from(L.privateKey),{network:X}),x=By.crypto.hash160(J.publicKey),{isStagenet:Q}=r.SKConfig.get("envs"),q=Q?Buffer.from([29,37]):Buffer.from([28,184]),z=Buffer.concat([q,x]),M=O0.default.encode(z);return{getAddress:()=>Promise.resolve(M),signTransaction:(G)=>{let B=G.signAllInputs(J);return Promise.resolve(B)}}}function _X({inputs:T,outputs:f,psbt:Z,sender:y,compiledMemo:L}){for(let X of T){let J=!!X.witnessUtxo&&{witnessUtxo:{...X.witnessUtxo,value:BigInt(X.value)}},x=!X.witnessUtxo&&{nonWitnessUtxo:X.txHex?Buffer.from(X.txHex,"hex"):void 0};Z.addInput({hash:X.hash,index:X.index,...J,...x})}for(let X of f){let J="address"in X&&X.address?X.address:y,x=X.script;if(x&&!L)continue;let Q=x?{script:L,value:0n}:{script:By.address.toOutputScript(J,w0()),value:BigInt(X.value)};Z.addOutput(Q)}return{psbt:Z,inputs:T}}async function Of(T){let{assetValue:f,recipient:Z,memo:y,feeRate:L,sender:X,fetchTxHex:J}=T,x=y?Iy(y):null,Q=await Qy(r.Chain.Zcash).getUtxos({address:X,fetchTxHex:J!==!1}),q=[{address:Z,value:Number(f.getBaseValue("string"))},...x?[{script:x,value:0}]:[]],{inputs:z,outputs:M}=Dy({inputs:Q,outputs:q,feeRate:L,chain:r.Chain.Zcash,changeAddress:X});if(!(z&&M))throw new r.SwapKitError("toolbox_utxo_insufficient_balance",{sender:X,assetValue:f});let G=By.bitgo.createPsbtForNetwork({network:w0()},{version:455});G.setVersion(4,!0);let B=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),W=3370586197,R=Buffer.allocUnsafe(4);R.writeUInt32LE(W>>>0,0),G.addUnknownKeyValToGlobal({key:B,value:R});let{psbt:I,inputs:S}=await _X({inputs:z,outputs:M,psbt:G,sender:X,compiledMemo:x});return{inputs:S,outputs:M,psbt:I}}async function E0(T){let f=await qT.match(T).with({signer:qT.P.not(qT.P.nullish)},({signer:J})=>Promise.resolve(J)).with({phrase:qT.P.string},({phrase:J,derivationPath:x,index:Q=0})=>{let q=x||r.NetworkDerivationPath[r.Chain.Zcash]||[44,133,0,0,0],z=r.updateDerivationPath(q,{index:Q}),M=r.derivationPathToString(z);return UX({phrase:J,derivationPath:M})}).otherwise(()=>Promise.resolve(void 0)),Z=await gy({chain:r.Chain.Zcash,signer:f});async function y({recipient:J,assetValue:x,feeOptionKey:Q=r.FeeOption.Fast,...q}){let z=await f?.getAddress();if(!(f&&z))throw new r.SwapKitError("toolbox_utxo_no_signer");let M=q.feeRate||(await Z.getFeeRates())[Q],{psbt:G}=await Of({...q,assetValue:x,feeRate:M,recipient:J,sender:z}),B=await f.signTransaction(G);return B.finalizeAllInputs(),Z.broadcastTx(B.extractTransaction().toHex())}function L({phrase:J,derivationPath:x="m/44'/133'/0'/0/0"}){let Q=k0.mnemonicToSeedSync(J),z=C0.HDKey.fromMasterSeed(Q).derive(x);if(!z.privateKey)throw new r.SwapKitError("toolbox_utxo_invalid_params");let M=wf();return By.ECPair.fromPrivateKey(Buffer.from(z.privateKey),{network:M})}function X({phrase:J,derivationPath:x="m/44'/133'/0'/0/0"}){return L({phrase:J,derivationPath:x}).toWIF()}return{...Z,transfer:y,createTransaction:Of,createKeysForPath:L,getPrivateKeyFromMnemonic:X,validateAddress:ST}}var By,C0,k0,r,O0,qT;var bT=l(()=>{By=require("@bitgo/utxo-lib"),C0=require("@scure/bip32"),k0=require("@scure/bip39"),r=require("@swapkit/helpers"),O0=U(require("bs58check")),qT=require("ts-pattern");QT();uT()});function Pf({inputs:T,outputs:f,chain:Z,psbt:y,sender:L,compiledMemo:X}){for(let J of T){let x=!!J.witnessUtxo&&!jT.includes(Z)&&{witnessUtxo:J.witnessUtxo},Q=jT.includes(Z)&&{nonWitnessUtxo:J.txHex?Buffer.from(J.txHex,"hex"):void 0};y.addInput({hash:J.hash,index:J.index,...x,...Q})}for(let J of f){let x="address"in J&&J.address?J.address:L,Q=J.script;if(Q&&!X)continue;let q=Q?{script:X,value:0}:{address:x,value:J.value};Cy.initEccLib(k5.default),y.addOutput(q)}return{psbt:y,inputs:T}}async function lf({assetValue:T,recipient:f,memo:Z,feeRate:y,sender:L,fetchTxHex:X=!1}){let J=T.chain,x=Z?await Iy(Z):null,Q=await Ff({assetValue:T,recipient:f,memo:Z,sender:L,fetchTxHex:X}),{inputs:q,outputs:z}=Dy({...Q,feeRate:y,chain:J});if(!(q&&z))throw new $.SwapKitError("toolbox_utxo_insufficient_balance",{sender:L,assetValue:T});let M=await Ry(),G=new Cy.Psbt({network:M(J)});if(J===$.Chain.Dogecoin)G.setMaximumFeeRate(650000000);let{psbt:B,inputs:W}=await Pf({inputs:q,outputs:z,chain:J,psbt:G,sender:L,compiledMemo:x});return{psbt:B,utxos:Q.inputs,inputs:W}}async function Vf(){let T=await Ry();return function f({address:Z,chain:y}){if(y===$.Chain.BitcoinCash)return ty(Z);if(y===$.Chain.Zcash)return ST(Z);try{return Cy.initEccLib(k5.default),Cy.address.toOutputScript(Z,T(y)),!0}catch(L){return!1}}}async function RX({chain:T,phrase:f,derivationPath:Z}){let y=(await nT(T))({phrase:f,derivationPath:Z});async function L(J){return await J.signAllInputs(y),J}async function X(){return(await P0(T))(y)}return{getAddress:X,signTransaction:L}}async function gy({chain:T,...f}){let Z="phrase"in f?f.phrase:void 0,y="index"in f?f.index||0:0,L=$.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:$.updateDerivationPath($.NetworkDerivationPath[T],{index:y})),X=Z?await RX({chain:T,phrase:Z,derivationPath:L}):("signer"in f)?f.signer:void 0;function J(){return Promise.resolve(X?.getAddress())}let x=await P0(T),Q=await Vf(),q=await nT(T);return{accumulative:Dy,calculateTxSize:xT,getAddressFromKeys:x,getAddress:J,validateAddress:(z)=>Q({address:z,chain:T}),broadcastTx:(z)=>Qy(T).broadcastTx(z),createTransaction:lf,createKeysForPath:q,getFeeRates:()=>hT(T),getInputsOutputsFee:$f,transfer:IX(X),getPrivateKeyFromMnemonic:(z)=>{return q(z).toWIF()},getBalance:T5(T),estimateTransactionFee:DX(T),estimateMaxSendableAmount:NX(T)}}async function $f({assetValue:T,feeOptionKey:f=$.FeeOption.Fast,feeRate:Z,memo:y,sender:L,recipient:X}){let J=T.chain,x=await Ff({assetValue:T,sender:L,memo:y,recipient:X}),Q=Z?Math.floor(Z):(await hT(J))[f];return Dy({...x,feeRate:Q,chain:J})}function NX(T){return async function f({from:Z,memo:y,feeRate:L,feeOptionKey:X=$.FeeOption.Fast,recipients:J=1}){let x=await Qy(T).getAddressData(Z),Q=L?Math.ceil(L):(await hT(T))[X],q=x?.utxo.map((W)=>({...W,type:"P2PKH",hash:""})).filter((W)=>W.value>Math.max(R5(T),jy(W)*Q));if(!q?.length)return $.AssetValue.from({chain:T});let z=$.AssetValue.from({chain:T,value:q.reduce((W,R)=>W+R.value,0)}),M=typeof J==="number"?Array.from({length:J},()=>({address:Z,value:0})):J;if(y){let W=await Iy(y);M.push({address:Z,script:W,value:0})}let B=xT({inputs:q,outputs:M,feeRate:Q})*Q;return z.sub(B)}}function DX(T){return async(f)=>{let Z=await $f(f);return $.AssetValue.from({chain:T,value:$.SwapKitNumber.fromBigInt(BigInt(Z.fee),8).getValue("string")})}}async function nT(T){let f=await Ry();switch(T){case $.Chain.BitcoinCash:return function Z({phrase:y,derivationPath:L=`${$.DerivationPath.BCH}/0`,wif:X}){let J=f(T);if(X)return O5.ECPair.fromWIF(X,J);if(!y)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return O5.HDNode.fromSeedBuffer(Buffer.from(v0.mnemonicToSeedSync(y)),J).derivePath(L).keyPair};case $.Chain.Bitcoin:case $.Chain.Dogecoin:case $.Chain.Litecoin:case $.Chain.Zcash:case $.Chain.Dash:return function Z({phrase:y,wif:L,derivationPath:X}){if(!(L||y))throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let J=Ef.ECPairFactory(k5.default),x=f(T);if(L)return J.fromWIF(L,x);let Q=v0.mnemonicToSeedSync(y),q=vf.HDKey.fromMasterSeed(Q,x).derive(X);if(!q.privateKey)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return J.fromPrivateKey(Buffer.from(q.privateKey),{network:x})};default:throw new $.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}async function P0(T){let f=await Ry();return function Z(y){if(!y)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let L=jT.includes(T)?Cy.payments.p2pkh:Cy.payments.p2wpkh,{address:X}=L({pubkey:y.publicKey,network:f(T)});if(!X)throw new $.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return X}}function IX(T){return async function f({memo:Z,recipient:y,feeOptionKey:L,feeRate:X,assetValue:J}){let x=await T?.getAddress(),Q=J.chain;if(!(T&&x))throw new $.SwapKitError("toolbox_utxo_no_signer");if(!y)throw new $.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let q=X||(await hT(Q))[L||$.FeeOption.Fast],{psbt:z}=await lf({recipient:y,feeRate:q,sender:x,assetValue:J,memo:Z}),M=await T.signTransaction(z);return M.finalizeAllInputs(),Qy(Q).broadcastTx(M.extractTransaction().toHex())}}async function hT(T){let f=await Qy(T).getSuggestedTxFee();return{[$.FeeOption.Average]:f,[$.FeeOption.Fast]:$.applyFeeMultiplier(f,$.FeeOption.Fast),[$.FeeOption.Fastest]:$.applyFeeMultiplier(f,$.FeeOption.Fastest)}}async function Ff({assetValue:T,recipient:f,memo:Z,sender:y,fetchTxHex:L=!1}){let X=T.chain,J=(await hT(X))[$.FeeOption.Fastest],x=L||jT.includes(X),Q=T.getBaseValue("number"),q=Math.ceil(Q+J*5000);return{inputs:await Qy(X).getUtxos({address:y,fetchTxHex:x,targetValue:q}),outputs:[{address:f,value:Q},...Z?[{address:"",script:await Iy(Z),value:0}]:[]]}}var $,Cy,Ef,k5,O5,vf,v0,jT;var uT=l(()=>{$=require("@swapkit/helpers"),Cy=require("bitcoinjs-lib"),Ef=require("ecpair");f5();QT();pT();k5=U(require("@bitcoinerlab/secp256k1")),O5=require("@psf/bitcoincashjs-lib"),vf=require("@scure/bip32"),v0=require("@scure/bip39");bT();jT=[$.Chain.Dash,$.Chain.Dogecoin]});function zT(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function ty(T){let f=zT(T);return D0(f)&&I0(f)==="mainnet"}function dy(T){return zT($T(T))}async function CX(T){async function f({builder:y,utxos:L}){return L.forEach((X,J)=>{y.sign(J,T,void 0,65,X.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(dy(y))},signTransaction:f}}async function l0(T){let f="phrase"in T?T.phrase:void 0,Z="index"in T?T.index||0:0,y=Ty.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:Ty.updateDerivationPath(Ty.NetworkDerivationPath[Uy],{index:Z})),L=f?(await nT(Uy))({phrase:f,derivationPath:y}):void 0,X=L?await CX(L):("signer"in T)?T.signer:void 0;function J(){return Promise.resolve(X?.getAddress())}let{getBalance:x,getFeeRates:Q,broadcastTx:q,...z}=await gy({chain:Uy});function M(G,B=!0){return x(zT($T(G)))}return{...z,getAddress:J,broadcastTx:q,createTransaction:Af,buildTx:OX,getAddressFromKeys:wX,getBalance:M,getFeeRates:Q,stripPrefix:zT,stripToCashAddress:dy,validateAddress:ty,transfer:kX({getFeeRates:Q,broadcastTx:q,signer:X})}}async function Af({assetValue:T,recipient:f,memo:Z,feeRate:y,sender:L}){if(!ty(f))throw new Ty.SwapKitError("toolbox_utxo_invalid_address",{address:f});let X=Math.ceil(T.getBaseValue("number")+y*7500),J=await Qy(Uy).getUtxos({address:dy(L),fetchTxHex:!0,targetValue:X}),x=Z?await Iy(Z):null,Q=[];Q.push({address:f,value:T.getBaseValue("number")});let{inputs:q,outputs:z}=Dy({inputs:J,outputs:Q,feeRate:y,chain:Uy});if(!(q&&z))throw new Ty.SwapKitError("toolbox_utxo_insufficient_balance",{sender:L,assetValue:T});let M=await Ry(),G=new MT.TransactionBuilder(M(Uy));await Promise.all(q.map(async(B)=>{let W=await Qy(Uy).getRawTx(B.hash);G.addInput(MT.Transaction.fromBuffer(Buffer.from(W,"hex")),B.index)}));for(let B of z){let W="address"in B&&B.address?B.address:JT(L),R=await Ry(),I=MT.address.toOutputScript(JT(W),R(Uy));G.addOutput(I,B.value)}if(x)G.addOutput(x,0);return{builder:G,utxos:q}}function kX({broadcastTx:T,getFeeRates:f,signer:Z}){return async function y({recipient:L,assetValue:X,feeOptionKey:J=Ty.FeeOption.Fast,...x}){let Q=await Z?.getAddress();if(!(Z&&Q))throw new Ty.SwapKitError("toolbox_utxo_no_signer");if(!L)throw new Ty.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let q=x.feeRate||(await f())[J],{builder:z,utxos:M}=await Af({...x,assetValue:X,feeRate:q,recipient:L,sender:Q}),B=(await Z.signTransaction({builder:z,utxos:M})).toHex();return T(B)}}async function OX({assetValue:T,recipient:f,memo:Z,feeRate:y,sender:L,setSigHashType:X}){let J=$T(f);if(!ty(J))throw new Ty.SwapKitError("toolbox_utxo_invalid_address",{address:J});let x=Math.ceil(T.getBaseValue("number")+y*7500),Q=await Qy(Uy).getUtxos({address:dy(L),fetchTxHex:!1,targetValue:x}),q=Number(y.toFixed(0)),z=Z?await Iy(Z):null,M=[];if(M.push({address:JT(f),value:T.getBaseValue("number")}),z)M.push({script:z,value:0});let{inputs:G,outputs:B}=Dy({inputs:Q,outputs:M,feeRate:q,chain:Uy});if(!(G&&B))throw new Ty.SwapKitError("toolbox_utxo_insufficient_balance",{sender:L,assetValue:T});let W=await Ry(),R=new Kf.Psbt({network:W(Uy)});for(let{hash:I,index:S,witnessUtxo:j}of G)R.addInput({hash:I,index:S,witnessUtxo:j,sighashType:X?65:void 0});for(let I of B){let S="address"in I&&I.address?I.address:JT(L),j=I.script?z?{script:z,value:0}:void 0:{address:S,value:I.value};if(j)R.addOutput(j)}return{psbt:R,utxos:Q,inputs:G}}function wX(T){let f=T.getAddress(0);return dy(f)}var MT,Ty,Kf,Uy;var pT=l(()=>{MT=require("@psf/bitcoincashjs-lib"),Ty=require("@swapkit/helpers"),Kf=require("bitcoinjs-lib");QT();uT();Uy=Ty.Chain.BitcoinCash});async function EX(T,f){switch(T){case Ey.Chain.BitcoinCash:return await l0(f||{});case Ey.Chain.Zcash:return await E0(f);case Ey.Chain.Bitcoin:case Ey.Chain.Dogecoin:case Ey.Chain.Litecoin:case Ey.Chain.Dash:return await gy({chain:T,...f});default:throw new Ey.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var Ey;var Sf=l(()=>{Ey=require("@swapkit/helpers");pT();uT();bT();pT();bT()});var V0={};zy(V0,{validateZcashAddress:()=>ST,toLegacyAddress:()=>JT,toCashAddress:()=>$T,stripToCashAddress:()=>dy,stripPrefix:()=>zT,nonSegwitChains:()=>jT,isValidAddress:()=>D0,getUtxoToolbox:()=>EX,getUtxoNetwork:()=>Ry,getUtxoApi:()=>Qy,getUTXOAddressValidator:()=>Vf,getScriptTypeForAddress:()=>KT,getOutputSize:()=>FT,getInputSize:()=>jy,getDustThreshold:()=>R5,getCreateKeysForPath:()=>nT,detectAddressNetwork:()=>I0,createZcashToolbox:()=>E0,createUTXOToolbox:()=>gy,createCustomUtxoApi:()=>qX,createBCHToolbox:()=>l0,compileMemo:()=>Iy,calculateTxSize:()=>xT,bchValidateAddress:()=>ty,addressFromKeysGetter:()=>P0,addInputsAndOutputs:()=>Pf,accumulative:()=>Dy,UtxoNetwork:()=>N0,UTXOScriptType:()=>D5,TX_OVERHEAD:()=>N5,OutputSizes:()=>AT,OP_RETURN_OVERHEAD:()=>Cf,MIN_TX_FEE:()=>WX,InputSizes:()=>I5});module.exports=_y(V0);var $0=l(()=>{Sf();pT();uT();bT();QT()});async function vX(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:Z}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),L=new Z(T),X=[],J=await f.getBalance(L);if(J>0)X.push(n.AssetValue.from({chain:n.Chain.Solana,value:J,fromBaseDecimal:n.BaseDecimal[n.Chain.Solana]}));let x=await f.getParsedTokenAccountsByOwner(L,{programId:y});for(let{account:Q}of x.value){let q=Q.data.parsed.info,z=q.mint,M=q.tokenAmount.amount;if(Number(M)===0)continue;let G=await vX(z),B=G?.symbol||"UNKNOWN",W=G?.decimals||q.tokenAmount.decimals;X.push(n.AssetValue.from({asset:`${n.Chain.Solana}.${B}-${z}`,value:M,fromBaseDecimal:W}))}return X}async function S0(){let{PublicKey:T}=await import("@solana/web3.js");return(f)=>{try{let Z=new T(f);return T.isOnCurve(Z.toBytes())}catch(Z){return!1}}}async function lX(T){let f=T&&"index"in T?T.index||0:0,Z=n.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:n.updateDerivationPath(n.NetworkDerivationPath[n.Chain.Solana],{index:f})),y=await uf.match(T).with({phrase:F0.P.string},({phrase:X})=>A0({phrase:X,derivationPath:Z})).with({signer:F0.P.any},({signer:X})=>X).otherwise(()=>{return});function L(){return y?.publicKey?bf(y.publicKey):""}return{getConnection:iy,getAddress:L,createKeysForPath:A0,getAddressFromPubKey:bf,getPubkeyFromAddress:u0,createTransaction:b0(iy),createTransactionFromInstructions:KX,getBalance:(X)=>{let J=X||L();if(!J)throw new n.SwapKitError("core_wallet_connection_not_found");return PX(J)},transfer:AX(iy,y),broadcastTransaction:K0(iy),getAddressValidator:S0,signTransaction:SX(iy,y),estimateTransactionFee:VX(iy)}}function VX(T){return async({recipient:f,assetValue:Z,memo:y,isProgramDerivedAddress:L,sender:X})=>{let J=await T(),Q=(await b0(T)({recipient:f,assetValue:Z,memo:y,isProgramDerivedAddress:L,sender:X})).compileMessage(),q=await J.getFeeForMessage(Q);if(q.value===null)throw new n.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");return n.AssetValue.from({chain:n.Chain.Solana,value:q.value,fromBaseDecimal:n.BaseDecimal[n.Chain.Solana]})}}async function iy(){let{Connection:T}=await import("@solana/web3.js"),f=await n.getRPCUrl(n.Chain.Solana);return new T(f,"confirmed")}function $X(T){return async({assetValue:f,recipient:Z,sender:y,isProgramDerivedAddress:L})=>{let X=await T(),J=await u0(y);if(f.isGasAsset){let{Transaction:x,SystemProgram:Q,PublicKey:q}=await import("@solana/web3.js");return new x().add(Q.transfer({fromPubkey:J,lamports:f.getBaseValue("number"),toPubkey:new q(Z)}))}if(f.address)return FX({amount:f.getBaseValue("number"),connection:X,decimals:f.decimal,from:J,recipient:Z,tokenAddress:f.address,isProgramDerivedAddress:L});return}}async function FX({tokenAddress:T,recipient:f,from:Z,connection:y,amount:L,decimals:X,isProgramDerivedAddress:J}){let{getAssociatedTokenAddress:x,getAccount:Q,createAssociatedTokenAccountInstruction:q,createTransferCheckedInstruction:z}=await import("@solana/spl-token"),{Transaction:M,PublicKey:G}=await import("@solana/web3.js"),B=new M,W=new G(T),R=await x(W,Z),I=new G(f),S=await x(W,I,J),j=!1;try{await Q(y,S),j=!0}catch(d){}if(!j)B.add(q(Z,S,I,W));return B.add(z(R,W,S,Z,L,X)),B}function b0(T){return async({recipient:f,assetValue:Z,memo:y,isProgramDerivedAddress:L,sender:X})=>{let{createMemoInstruction:J}=await import("@solana/spl-memo"),x=await u0(X),Q=await S0();if(!(L||Q(f)))throw new n.SwapKitError("core_transaction_invalid_recipient_address");let q=await T(),z=await $X(T)({assetValue:Z,recipient:f,sender:X,isProgramDerivedAddress:L});if(!z)throw new n.SwapKitError("core_transaction_invalid_sender_address");if(y)z.add(J(y));let M=await q.getLatestBlockhash();return z.recentBlockhash=M.blockhash,z.feePayer=x,z}}async function KX({instructions:T}){let{Transaction:f}=await import("@solana/web3.js"),Z=new f().add(...T);if(!Z)throw new n.SwapKitError("core_transaction_invalid_sender_address");return Z}function AX(T,f){return async({recipient:Z,assetValue:y,memo:L,isProgramDerivedAddress:X})=>{if(!f)throw new n.SwapKitError("core_transaction_invalid_sender_address");let J=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),x=await b0(T)({recipient:Z,assetValue:y,memo:L,isProgramDerivedAddress:X,sender:J});if("connect"in f){let Q=await f.signTransaction(x);return K0(T)(Q)}return x.sign(f),K0(T)(x)}}function K0(T){return async(f)=>{return(await T()).sendRawTransaction(f.serialize())}}function SX(T,f){return async(Z)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!f)throw new n.SwapKitError("toolbox_solana_no_signer");if(!(Z instanceof y)){let X=await(await T()).getLatestBlockhash();Z.recentBlockhash=X.blockhash,Z.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(Z);return await Z.sign([f]),Z}}async function A0({phrase:T,derivationPath:f=n.DerivationPath.SOL}){let{HDKey:Z}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:L}=await import("@solana/web3.js"),X=y(T),J=Z.fromMasterSeed(X);return L.fromSeed(J.derive(f,!0).privateKey)}function bf(T){return T.toString()}async function u0(T){let{PublicKey:f}=await import("@solana/web3.js");return new f(T)}var n,F0,uf;var jf=l(()=>{n=require("@swapkit/helpers"),F0=require("ts-pattern"),uf=require("ts-pattern")});var j0={};zy(j0,{getSolanaToolbox:()=>lX,getSolanaAddressValidator:()=>S0,createKeysForPath:()=>A0});module.exports=_y(j0);var n0=l(()=>{jf()});async function mT(){let{validateAccountId:T}=await import("near-sdk-js");return(f)=>{try{return T(f)}catch{let Z=/^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/;return f.length>=2&&f.length<=64&&Z.test(f)}}}async function E5(T){let{parseSeedPhrase:f}=await import("near-seed-phrase"),{KeyPair:Z}=await import("near-api-js"),y=T.index||0,L=T.derivationPath?w5.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:X}=f(T.phrase,L),J=Z.fromString(X);return pf(J)}async function h0(T){let{KeyPair:f}=await import("near-api-js/lib/utils"),Z=f.fromString(T);return pf(Z)}function pf(T){return new hf(T)}async function v5(T,f){let y=(await T.query({request_type:"view_access_key_list",finality:"final",account_id:f})).keys.find((x)=>x.access_key.permission==="FullAccess");if(!y)throw new w5.SwapKitError("toolbox_near_invalid_address");let{utils:L}=await import("near-api-js"),X=L.PublicKey.fromString(y.public_key),J=y.access_key.nonce||0;return{publicKey:X,nonce:J}}var w5,nf,hf;var p0=l(()=>{w5=require("@swapkit/helpers"),nf=require("near-api-js");hf=class hf extends nf.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),f=Buffer.from(T.data).toString("hex");return Promise.resolve(f)}}});function m0(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function o0(T){return"contractId"in T&&"methodName"in T}function c0(T){return"actions"in T}function g0(T){return"newAccountId"in T}function t0(T){return"contractCode"in T}function d0(T){return"customEstimator"in T}function i0(T){let f=0;for(let Z of T)switch(Z.enum){case"transfer":f+=Number(fy.SIMPLE_TRANSFER);break;case"functionCall":f+=Number(fy.CONTRACT_CALL);break;case"createAccount":f+=Number(fy.ACCOUNT_CREATION);break;case"deployContract":f+=Number(fy.CONTRACT_DEPLOYMENT);break;case"addKey":f+=Number(fy.ACCESS_KEY_ADDITION);break;case"deleteKey":f+=Number(fy.ACCESS_KEY_DELETION);break;case"stake":f+=Number(fy.STAKE);break;default:f+=Number(fy.CONTRACT_CALL)}return f.toString()}function r0(T){if(T==="ft_transfer"||T==="ft_transfer_call")return fy.TOKEN_TRANSFER;if(T==="storage_deposit")return fy.STORAGE_DEPOSIT;return fy.CONTRACT_CALL}function bX(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function uX(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var fy;var a0=l(()=>{fy={SIMPLE_TRANSFER:"1",TOKEN_TRANSFER:"100",CONTRACT_CALL:"100",ACCOUNT_CREATION:"30",CONTRACT_DEPLOYMENT:"200",ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",STAKE:"10",STORAGE_DEPOSIT:"100"}});async function P5({account:T,contractId:f,viewMethods:Z,changeMethods:y}){let{Contract:L}=await import("near-api-js");return new L(T,f,{viewMethods:Z,changeMethods:y,useLocalViewExecution:!0})}async function s0({contractId:T,account:f}){let Z=(await import("bn.js")).default,y=await P5({account:f,contractId:T,viewMethods:["ft_balance_of","ft_total_supply","ft_metadata","storage_balance_of","storage_balance_bounds"],changeMethods:["ft_transfer","ft_transfer_call","storage_deposit","storage_withdraw","storage_unregister"]}),L=async(X)=>{if(!await y.storage_balance_of({account_id:X})){let Q=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:X},new Z("100000000000000"),new Z(Q))}};return{transfer:async(X,J,x)=>{return await L(X),y.ft_transfer({receiver_id:X,amount:J,memo:x},new Z("100000000000000"),new Z("1"))},transferCall:async(X,J,x,Q)=>{return await L(X),y.ft_transfer_call({receiver_id:X,amount:J,memo:Q,msg:x},new Z("100000000000000"),new Z("1"))},balanceOf:(X)=>y.ft_balance_of({account_id:X}),totalSupply:()=>y.ft_total_supply(),metadata:()=>y.ft_metadata(),storageBalanceOf:(X)=>y.storage_balance_of({account_id:X}),storageDeposit:(X,J)=>y.storage_deposit({account_id:X},new Z("100000000000000"),new Z(J||"1250000000000000000000")),ensureStorage:L,contract:y}}async function jX(T){let{P:f,match:Z}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),L=await Z(T).with({phrase:f.string},async(E)=>{return await E5(E)}).with({signer:f.any},({signer:E})=>E).otherwise(()=>{return}),X=await b.getRPCUrl(b.Chain.Near),J=new y.JsonRpcProvider({url:X});async function x(E){let{Account:Y}=await import("near-api-js"),D=E||await Q();return new Y(D,J,L)}async function Q(){if(!L)throw new b.SwapKitError("toolbox_near_no_signer");return await L.getAddress()}async function q(E){if(!L)throw new b.SwapKitError("toolbox_near_no_signer");let{recipient:Y,assetValue:D}=E;if(!(await mT())(Y))throw new b.SwapKitError("toolbox_near_invalid_address");let V=await x();if(D.isGasAsset===!1){let v=D.address;if(!v)throw new b.SwapKitError("toolbox_near_missing_contract_address");let A=D.getBaseValue("string");return S({contractId:v,methodName:"ft_transfer",args:{receiver_id:Y,amount:A,memo:E.memo}})}try{let v=D.getBaseValue("string");return(await V.transfer({receiverId:Y,amount:v})).transaction_outcome.id}catch(v){throw new b.SwapKitError("toolbox_near_transfer_failed",{error:v})}}async function z(E){let{recipient:Y,assetValue:D,memo:k,feeRate:V,attachedDeposit:v,sender:A}=E,i=await mT();if(!i(Y))throw new b.SwapKitError("toolbox_near_invalid_address",{address:Y});if(!i(A))throw new b.SwapKitError("toolbox_near_invalid_address",{address:A});if(!D.isGasAsset){let dT=D.address;if(!dT)throw new b.SwapKitError("toolbox_near_missing_contract_address");return M({sender:A,contractId:dT,methodName:"ft_transfer",args:{receiver_id:Y,amount:D.getBaseValue("string"),memo:k||null},gas:V.toString()||"100000000000000",attachedDeposit:"1"})}let{publicKey:o,nonce:g}=await v5(J,A),qy=D.getBaseValue("bigint"),{SCHEMA:Zy}=await import("near-api-js/lib/transaction"),{transactions:Wy,utils:Hy}=await import("near-api-js"),hy=[Wy.transfer(qy)];if(k&&v)hy.push(Wy.functionCall("memo",{memo:k},BigInt(V),BigInt(v)));let cT=await J.block({finality:"final"}),gT=Hy.serialize.base_decode(cT.header.hash),ry=Wy.createTransaction(A,o,Y,g,hy,gT),tT=Hy.serialize.serialize(Zy.Transaction,ry);return{serialized:Buffer.from(tT).toString("base64"),publicKey:o.toString(),details:{signerId:A,nonce:g,blockHash:Hy.serialize.base_encode(gT)}}}async function M(E){let{sender:Y}=E,{publicKey:D,nonce:k}=await v5(J,Y),{SCHEMA:V}=await import("near-api-js/lib/transaction"),{transactions:v,utils:A}=await import("near-api-js"),i=await J.block({finality:"final"}),o=A.serialize.base_decode(i.header.hash),g=[v.functionCall(E.methodName,Buffer.from(JSON.stringify(E.args)),BigInt(E.gas),BigInt(E.attachedDeposit))],qy=v.createTransaction(Y,D,E.contractId,k,g,o),Zy=A.serialize.serialize(V.Transaction,qy);return{serialized:Buffer.from(Zy).toString("base64"),publicKey:D.toString(),details:{signerId:Y,receiverId:E.contractId,methodName:E.methodName,nonce:k,blockHash:A.serialize.base_encode(o)}}}async function G(E){if(!L)throw new b.SwapKitError("toolbox_near_no_signer");let[Y,D]=await L.signTransaction(E);return D}async function B(E){return(await J.sendTransaction(E)).transaction.hash}async function W(E){if("assetValue"in E){let V=BigInt("115123062500")+BigInt("108059500000"),v=await R(),A=V*BigInt(v.toString());return b.AssetValue.from({chain:b.Chain.Near,value:A.toString(),fromBaseDecimal:b.BaseDecimal[b.Chain.Near]})}let Y=L?await x():void 0;return a(E,Y)}async function R(){try{return await J.query({request_type:"call_function",finality:"final",account_id:"system",method_name:"gas_price",args_base64:""})}catch{return"100000000"}}async function I(E,Y,D){if(!L)throw new b.SwapKitError("toolbox_near_no_signer");let k=await x(),{utils:V}=await import("near-api-js"),v=V.format.parseNearAmount(D)||"0";return(await k.createAccount(E,V.PublicKey.fromString(Y),BigInt(v))).transaction.hash}async function S(E){try{if(!L)throw new b.SwapKitError("toolbox_near_no_signer");let{transactions:Y}=await import("near-api-js"),{contractId:D,methodName:k,args:V,deposit:v}=E,A=await x(),i=await a({methodName:k,args:V||{},contractId:D}),o=Y.functionCall(k,V||{},i.getBaseValue("bigint"),BigInt(v||"0"));return(await A.signAndSendTransaction({receiverId:D,actions:[o]})).transaction_outcome.id}catch(Y){throw new b.SwapKitError("toolbox_near_transfer_failed",{error:Y})}}async function j(E){let Y=await x();return P5({account:Y,contractId:E.contractId,viewMethods:E.viewMethods,changeMethods:E.changeMethods})}async function d(E){if(!L)throw new b.SwapKitError("toolbox_near_no_signer");if(E.actions.length===0)throw new b.SwapKitError("toolbox_near_empty_batch");return(await(await x()).signAndSendTransaction({receiverId:E.receiverId,actions:E.actions})).transaction.hash}async function m(E){let Y=await x();return s0({contractId:E,account:Y})}async function yy(E){try{let Y=await x(E),D;try{let k=await Y.getBalance();D=b.AssetValue.from({chain:b.Chain.Near,value:k,fromBaseDecimal:b.BaseDecimal[b.Chain.Near]})}catch{D=b.AssetValue.from({chain:b.Chain.Near,value:"0",fromBaseDecimal:b.BaseDecimal[b.Chain.Near]})}return[D]}catch(Y){throw new b.SwapKitError("toolbox_near_balance_failed",{error:Y})}}async function a(E,Y){let D=await Z(E).when(m0,()=>fy.SIMPLE_TRANSFER).when(o0,(A)=>r0(A.methodName)).when(c0,(A)=>i0(A.actions)).when(g0,()=>fy.ACCOUNT_CREATION).when(t0,()=>fy.CONTRACT_DEPLOYMENT).when(d0,(A)=>{if(!Y)throw new b.SwapKitError("toolbox_near_no_account");return A.customEstimator(Y)}).otherwise(()=>{throw new b.SwapKitError("toolbox_near_invalid_gas_params")}),k=await Ly(),v=BigInt(D)*BigInt(1000000000000)*BigInt(k);return b.AssetValue.from({chain:b.Chain.Near,value:v,fromBaseDecimal:b.BaseDecimal[b.Chain.Near]})}async function Ly(){try{return(await J.gasPrice(null)).gas_price||"100000000"}catch(E){return"100000000"}}return{getAddress:Q,getPublicKey:async()=>L?(await L.getPublicKey()).toString():"",provider:J,transfer:q,createTransaction:z,createContractFunctionCall:M,estimateTransactionFee:W,broadcastTransaction:B,signTransaction:G,getBalance:yy,validateAddress:await mT(),getSignerFromPhrase:(E)=>E5(E),getSignerFromPrivateKey:h0,callFunction:S,createSubAccount:I,createContract:j,executeBatchTransaction:d,nep141:m,getGasPrice:Ly,estimateGas:a}}var b;var e0=l(()=>{b=require("@swapkit/helpers");p0();a0()});var mf=l(()=>{e0()});var y1={};zy(y1,{tgasToGas:()=>bX,isSimpleTransfer:()=>m0,isCustomEstimator:()=>d0,isContractDeployment:()=>t0,isContractCall:()=>o0,isBatchTransaction:()=>c0,isAccountCreation:()=>g0,getValidateNearAddress:()=>mT,getNearToolbox:()=>jX,getNearSignerFromPrivateKey:()=>h0,getNearSignerFromPhrase:()=>E5,getFullAccessPublicKey:()=>v5,getContractMethodGas:()=>r0,gasToTGas:()=>uX,estimateBatchGas:()=>i0,createNearContract:()=>P5,createNEP141Token:()=>s0,GAS_COSTS:()=>fy});module.exports=_y(y1);var T1=l(()=>{e0();mf();p0();a0()});var X1={};zy(X1,{rippleValidateAddress:()=>f1,hashes:()=>cf.hashes,getRippleToolbox:()=>hX});module.exports=_y(X1);function of(T){let f=ny.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(f.address),signTransaction:(Z)=>Promise.resolve(f.sign(Z))}}function f1(T){return ny.isValidAddress(T)}var h,ny,cf,nX,hX=async(T={})=>{let f="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?of(T.phrase):void 0,Z=await h.getRPCUrl(h.Chain.Ripple);if(!Z)throw new h.SwapKitError({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:h.Chain.Ripple}});let y=new ny.Client(Z);await y.connect();let L=()=>{if(!f)throw new h.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.getAddress()},X=async(G)=>{let B=G||await L();try{let R=(await y.request({command:"account_info",account:B})).result.account_data.Balance;return[h.AssetValue.from({chain:h.Chain.Ripple,value:R,fromBaseDecimal:h.BaseDecimal[h.Chain.Ripple]})]}catch(W){if(W.data.error_code===nX.ACCOUNT_NOT_FOUND)return[h.AssetValue.from({chain:h.Chain.Ripple,value:0})];throw new h.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:B,error:W}})}},J=async()=>{let B=(await y.request({command:"fee"})).result.drops.open_ledger_fee;return h.AssetValue.from({chain:h.Chain.Ripple,value:h.SwapKitNumber.fromBigInt(BigInt(B),h.BaseDecimal[h.Chain.Ripple])})},x=async({assetValue:G,recipient:B,memo:W,sender:R})=>{if(!f1(B))throw new h.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let I=R||await L();if(!G.isGasAsset||G.chain!==h.Chain.Ripple)throw new h.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:G.toString()}});let S={TransactionType:"Payment",Account:I,Amount:ny.xrpToDrops(G.getValue("string")),Destination:B};if(W)S.Memos=[{Memo:{MemoData:Buffer.from(W).toString("hex")}}];return await y.autofill(S)},Q=(G)=>{if(!f)throw new h.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.signTransaction(G)},q=async(G)=>{let W=(await y.submitAndWait(G)).result;if(W.validated)return W.hash;throw new h.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:h.Chain.Ripple}})};return{signer:f,createSigner:of,getAddress:L,validateAddress:f1,getBalance:X,createTransaction:x,signTransaction:Q,broadcastTransaction:q,transfer:async(G)=>{if(!f)throw new h.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let B=await f.getAddress(),W=await x({...G,sender:B}),R=await Q(W);return q(R.tx_blob)},estimateTransactionFee:J,disconnect:()=>y.disconnect()}};var L1=l(()=>{h=require("@swapkit/helpers"),ny=require("xrpl"),cf=require("xrpl"),nX={ACCOUNT_NOT_FOUND:19}});var Z1={};zy(Z1,{radixValidateAddress:()=>gf,RadixToolbox:()=>gX});module.exports=_y(Z1);function gf(T){return T.startsWith("account_rdx1")&&T.length===66}function pX({networkApi:T}){return async function f(Z){let y=await mX({address:Z,networkApi:T});return oX({resources:y,networkApi:T})}}async function mX({address:T,networkApi:f}){let Z=!0,y,L=[],X=await cX(f);while(Z){let J={address:T,limit_per_page:100,cursor:y,at_ledger_state:{state_version:X}},x=await f.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:J});if(L=L.concat(x.items),x.next_cursor)y=x.next_cursor;else Z=!1}return L}async function oX({resources:T,networkApi:f}){let Z=[],y=50,L=[];for(let X=0;X<T.length;X+=50)L.push(T.slice(X,X+50));for(let X of L){let J=X.map((q)=>q.resource_address),x=await f.state.getEntityDetailsVaultAggregated(J),Q=new Map;for(let q of x)if(q.details!==void 0){let z=q.metadata?.items.find((G)=>G.key==="symbol"),M=z?.value.typed.type==="String"?z.value.typed.value:"?";if(q.details.type==="FungibleResource")Q.set(q.address,{decimals:q.details.divisibility,symbol:M})}for(let q of X)if(q.aggregation_level==="Global"){let z=Q.get(q.resource_address)||{decimals:0,symbol:"?"},M=vy.AssetValue.from({asset:z.symbol!==vy.Chain.Radix?`${vy.Chain.Radix}.${z.symbol}-${q.resource_address}`:"XRD.XRD",value:q.amount});Z.push(M)}}return Z}async function cX(T){return T.status.getCurrent().then((f)=>f.ledger_state.state_version)}var vy,gX=async({dappConfig:T}={})=>{let{RadixDappToolkit:f}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:Z}=await import("@radixdlt/babylon-gateway-api-sdk"),y=T||vy.SKConfig.get("integrations").radix,L=f({...y,networkId:y.network?.networkId||1}),X=Z.initialize(L.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:pX({networkApi:X}),networkApi:X,validateAddress:gf,signAndBroadcast:()=>{throw new vy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})}}};var J1=l(()=>{vy=require("@swapkit/helpers")});var GT;var x1=l(()=>{GT=[{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,name:"_from",type:"address"},{indexed:!0,name:"_to",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"_owner",type:"address"},{indexed:!0,name:"_spender",type:"address"},{indexed:!1,name:"_value",type:"uint256"}],name:"Approval",type:"event"}]});async function df(T){let f=await import("tronweb"),Z=f.TronWeb??f.default?.TronWeb;try{let y=await fetch(`${tX}/v1/accounts/${T}`);if(!y.ok)throw new Error(`TronGrid API error: ${y.status} ${y.statusText}`);let L=await y.json();if(!(L.success&&L.data)||L.data.length===0)throw new Error("Invalid response from TronGrid API");let X;try{X=Z.address.toHex(T).toLowerCase()}catch{X=T.toLowerCase()}let J=L.data.find((x)=>{return x.address.toLowerCase()===X});if(!J)return;return{balance:J.balance,trc20:J.trc20||[]}}catch(y){throw new tf.SwapKitError("toolbox_tron_trongrid_api_error",{message:y instanceof Error?y.message:"Unknown error",address:T})}}var tf,tX="https://api.trongrid.io";var rf=l(()=>{tf=require("@swapkit/helpers")});async function Q1(){let T=await import("tronweb"),f=T.TronWeb??T.default?.TronWeb;return(Z)=>{return f.isAddress(Z)}}async function sf({phrase:T,derivationPath:f,index:Z}){let y=f||P.derivationPathToString(P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:Z||0})),{HDKey:L}=await import("@scure/bip32"),{mnemonicToSeedSync:X}=await import("@scure/bip39"),J=X(T),Q=L.fromMasterSeed(J).derive(y);if(!Q.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");return Buffer.from(Q.privateKey).toString("hex")}async function sX({phrase:T,derivationPath:f,tronWeb:Z}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:L}=await import("@scure/bip39"),X=L(T),x=y.fromMasterSeed(X).derive(f);if(!x.privateKey)throw new P.SwapKitError("toolbox_tron_no_signer");let Q=Buffer.from(x.privateKey).toString("hex");Z.setPrivateKey(Q);let q=Z?.address.fromPrivateKey(Q);return{getAddress:()=>Promise.resolve(typeof q==="string"?q:""),signTransaction:async(z)=>{return await Z.trx.sign(z,Q)}}}var P,oT,dX=268,iX=13000,rX=345,af="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",aX="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",ef=async(T={})=>{let f=await import("tronweb"),Z=f.TronWeb??f.default?.TronWeb,y=await P.getRPCUrl(P.Chain.Tron),L=void 0,X=new Z({fullHost:y,headers:void 0}),J="index"in T?T.index||0:0,x=P.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:P.updateDerivationPath(P.NetworkDerivationPath[P.Chain.Tron],{index:J})),Q=await oT.match(T).with({phrase:oT.P.string},async({phrase:Y})=>sX({phrase:Y,derivationPath:x,tronWeb:X})).with({signer:oT.P.any},({signer:Y})=>Promise.resolve(Y)).otherwise(()=>Promise.resolve(void 0)),q=async()=>{if(!Q)throw new P.SwapKitError("toolbox_tron_no_signer");return await Q.getAddress()},z=()=>{return 1e8},M=async()=>{try{let Y=await X.trx.getChainParameters(),D={};for(let k of Y)D[k.key]=k.value;return{energyFee:D.getEnergyFee||420,bandwidthFee:D.getTransactionFee||1000,createAccountFee:D.getCreateAccountFee||1e5}}catch{return{energyFee:420,bandwidthFee:1000,createAccountFee:1e5}}},G=async(Y)=>{try{let D=await X.trx.getAccount(Y);return D&&Object.keys(D).length>0}catch{return!1}},B=async(Y)=>{try{let D=await X.trx.getAccountResources(Y);return{bandwidth:{free:D.freeNetLimit-D.freeNetUsed,total:D.NetLimit||0,used:D.NetUsed||0},energy:{total:D.EnergyLimit||0,used:D.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},W=async(Y,D)=>{try{let k=X.contract(GT,D);if(!k.methods?.balanceOf)return 0n;let V=(await k.methods.balanceOf(Y).call())[0];return BigInt(V||0)}catch(k){return console.warn(`balanceOf() failed for ${D}:`,k),0n}},R=async(Y,D)=>{try{X.setAddress(D);let k=X.contract(GT,Y),[V,v]=await Promise.all([k.symbol().call().catch(()=>"UNKNOWN"),k.decimals().call().catch(()=>"18")]);return{symbol:V??"UNKNOWN",decimals:Number(v??18)}}catch(k){return P.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${Y}: ${k instanceof Error?k.message:k}`}),null}},I=async(Y,D=!0)=>{let k=[P.AssetValue.from({chain:P.Chain.Tron})];try{let V=await df(Y);if(V){let v=[];v.push(P.AssetValue.from({chain:P.Chain.Tron,value:V.balance,fromBaseDecimal:6}));for(let A of V.trc20){let[i,o]=Object.entries(A)[0]||[];if(!(i&&o))continue;let g=await R(i,Y);if(!g)continue;v.push(P.AssetValue.from({asset:`TRON.${g.symbol}-${i}`,value:BigInt(o||0),fromBaseDecimal:g.decimals}))}return v}return k}catch(V){P.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${V instanceof Error?V.message:V}`});let v=[],A=await X.trx.getBalance(Y);if(A&&Number(A)>0)v.push(P.AssetValue.from({chain:P.Chain.Tron,value:A,fromBaseDecimal:6}));let i=await W(Y,af);if(i)v.push(P.AssetValue.from({asset:`TRON.USDT-${af}`,value:i,fromBaseDecimal:6}));return v}},S=async({recipient:Y,assetValue:D,memo:k})=>{if(!Q)throw new P.SwapKitError("toolbox_tron_no_signer");let V=await q();if(X.setAddress(V),D.isGasAsset){let g=await X.transactionBuilder.sendTrx(Y,D.getBaseValue("number"),V);if(k){let Wy=await X.transactionBuilder.addUpdateData(g,k,"utf8"),Hy=await Q.signTransaction(Wy),{txid:hy}=await X.trx.sendRawTransaction(Hy);return hy}let qy=await Q.signTransaction(g),{txid:Zy}=await X.trx.sendRawTransaction(qy);return Zy}let A=await d({recipient:Y,assetValue:D,memo:k,sender:V}),i=await Q.signTransaction(A),{txid:o}=await X.trx.sendRawTransaction(i);if(!o)throw new P.SwapKitError("toolbox_tron_token_transfer_failed");return o},j=async({assetValue:Y,recipient:D,sender:k})=>{let V=Y.isGasAsset;try{let v=k?k:Q?await q():void 0;if(!v)return V?P.AssetValue.from({chain:P.Chain.Tron,value:0.1,fromBaseDecimal:0}):P.AssetValue.from({chain:P.Chain.Tron,value:15,fromBaseDecimal:0});let A=await M(),o=await G(D)?0:A.createAccountFee,g=await B(v);if(V){let ry=dX,tT=g.bandwidth.free+(g.bandwidth.total-g.bandwidth.used),l5=0;if(ry>tT)l5=(ry-tT)*A.bandwidthFee;let dT=o+l5;return P.AssetValue.from({chain:P.Chain.Tron,value:dT,fromBaseDecimal:6})}let qy=rX,Zy=iX,Wy=g.bandwidth.free+(g.bandwidth.total-g.bandwidth.used),Hy=g.energy.total-g.energy.used,hy=0;if(qy>Wy)hy=(qy-Wy)*A.bandwidthFee;let cT=0;if(Zy>Hy)cT=(Zy-Hy)*A.energyFee;let gT=o+hy+cT;return P.AssetValue.from({chain:P.Chain.Tron,value:gT,fromBaseDecimal:6})}catch(v){throw P.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${v instanceof Error?v.message:v}`}),new P.SwapKitError("toolbox_tron_fee_estimation_failed",{error:v})}},d=async(Y)=>{let{recipient:D,assetValue:k,memo:V,sender:v}=Y;if(k.isGasAsset){let o=await X.transactionBuilder.sendTrx(D,k.getBaseValue("number"),v);if(V)return X.transactionBuilder.addUpdateData(o,V,"utf8");return o}X.setAddress(v);let i=k.address;if(!i)throw new P.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:k.toString()});try{let g=[{type:"address",value:D},{type:"uint256",value:k.getBaseValue("string")}],qy={feeLimit:z(),callValue:0};return(await X.transactionBuilder.triggerSmartContract(i,"transfer(address,uint256)",qy,g,v)).transaction}catch(o){throw new P.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:o instanceof Error?o.message:String(o)})}},m=async(Y)=>{if(!Q)throw new P.SwapKitError("toolbox_tron_no_signer");return await Q.signTransaction(Y)},yy=async(Y)=>{let{txid:D}=await X.trx.sendRawTransaction(Y);return D},a=async({assetAddress:Y,spenderAddress:D,from:k})=>{try{let V=X.contract(GT,Y);if(!V.methods?.allowance)throw new P.SwapKitError("toolbox_tron_invalid_token_contract");let v=(await V.methods.allowance(k,D).call())[0];return BigInt(v||0)}catch(V){throw new P.SwapKitError("toolbox_tron_allowance_check_failed",{error:V})}},Ly=async({assetAddress:Y,spenderAddress:D,from:k,amount:V})=>{let v=await a({assetAddress:Y,spenderAddress:D,from:k});if(!V)return v>0n;let A=BigInt(V);return v>=A},E=async({assetAddress:Y,spenderAddress:D,amount:k,from:V})=>{if(!Q)throw new P.SwapKitError("toolbox_tron_no_signer");let v=V||await q(),A=k!==void 0?BigInt(k).toString():aX,i="approve(address,uint256)",o=[{type:"address",value:D},{type:"uint256",value:A}],qy={feeLimit:z(),callValue:0};try{let{transaction:Zy}=await X.transactionBuilder.triggerSmartContract(Y,i,qy,o,v),Wy=await Q.signTransaction(Zy),{txid:Hy}=await X.trx.sendRawTransaction(Wy);if(!Hy)throw new P.SwapKitError("toolbox_tron_approve_failed");return Hy}catch(Zy){throw new P.SwapKitError("toolbox_tron_approve_failed",{error:Zy})}};return{tronWeb:X,getAddress:q,validateAddress:await Q1(),getBalance:I,transfer:S,estimateTransactionFee:j,createTransaction:d,signTransaction:m,broadcastTransaction:yy,approve:E,isApproved:Ly,getApprovedAmount:a}};var y2=l(()=>{P=require("@swapkit/helpers"),oT=require("ts-pattern");x1();rf()});var q1={};zy(q1,{trc20ABI:()=>GT,getTronPrivateKeyFromMnemonic:()=>sf,getTronAddressValidator:()=>Q1,createTronToolbox:()=>ef});module.exports=_y(q1);var z1=l(()=>{y2();x1()});var T8={};zy(T8,{getToolbox:()=>M1,getFeeEstimator:()=>y8,getAddressValidator:()=>eX});module.exports=_y(T8);var _=require("@swapkit/helpers");async function eX(){let{match:T}=await import("ts-pattern"),{cosmosValidateAddress:f}=await Promise.resolve().then(() => (eT(),sT)),{evmValidateAddress:Z}=await Promise.resolve().then(() => (e5(),ff)),{substrateValidateAddress:y}=await Promise.resolve().then(() => (H0(),W0)),{getUTXOAddressValidator:L}=await Promise.resolve().then(() => ($0(),V0)),{getSolanaAddressValidator:X}=await Promise.resolve().then(() => (n0(),j0)),{getValidateNearAddress:J}=await Promise.resolve().then(() => (T1(),y1)),{rippleValidateAddress:x}=await Promise.resolve().then(() => (L1(),X1)),{radixValidateAddress:Q}=await Promise.resolve().then(() => (J1(),Z1)),{getTronAddressValidator:q}=await Promise.resolve().then(() => (z1(),q1)),z=await X(),M=await L(),G=await q(),B=await J();return function W({address:R,chain:I}){return T(I).with(..._.EVMChains,()=>Z({address:R})).with(..._.UTXOChains,()=>M({address:R,chain:I})).with(_.Chain.Cosmos,_.Chain.Kujira,_.Chain.Noble,_.Chain.Maya,_.Chain.THORChain,()=>f({address:R,chain:I})).with(_.Chain.Chainflip,_.Chain.Polkadot,()=>y({address:R,chain:I})).with(_.Chain.Radix,()=>Q(R)).with(_.Chain.Near,()=>B(R)).with(_.Chain.Ripple,()=>x(R)).with(_.Chain.Solana,()=>z(R)).with(_.Chain.Tron,()=>G(R)).otherwise(()=>!1)}}function y8(T){return async function f(Z){let{match:y}=await import("ts-pattern");return y(T).returnType().with(_.Chain.Arbitrum,_.Chain.Aurora,_.Chain.Avalanche,_.Chain.Base,_.Chain.Berachain,_.Chain.BinanceSmartChain,_.Chain.Ethereum,_.Chain.Gnosis,_.Chain.Optimism,_.Chain.Polygon,async(L)=>{let X=await M1(L),J=await X.createTransaction(Z);return X.estimateTransactionFee({...J,feeOption:Z.feeOptionKey||_.FeeOption.Fast,chain:L})}).with(_.Chain.Bitcoin,_.Chain.BitcoinCash,_.Chain.Dogecoin,_.Chain.Dash,_.Chain.Litecoin,_.Chain.Polkadot,_.Chain.Solana,_.Chain.Ripple,_.Chain.Tron,_.Chain.Near,async(L)=>{return(await M1(L)).estimateTransactionFee(Z)}).with(_.Chain.THORChain,_.Chain.Maya,_.Chain.Kujira,_.Chain.Noble,_.Chain.Cosmos,async()=>{let{estimateTransactionFee:L}=await Promise.resolve().then(() => (eT(),sT));return L(Z)}).otherwise(async()=>_.AssetValue.from({chain:T}))}}async function M1(T,f){let{match:Z}=await import("ts-pattern");return Z(T).returnType().with(_.Chain.Arbitrum,_.Chain.Aurora,_.Chain.Avalanche,_.Chain.Base,_.Chain.Berachain,_.Chain.BinanceSmartChain,_.Chain.Ethereum,_.Chain.Gnosis,_.Chain.Optimism,_.Chain.Polygon,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (Y5(),x0));return await y(T,f)}).with(_.Chain.Litecoin,_.Chain.Dash,_.Chain.Dogecoin,_.Chain.BitcoinCash,_.Chain.Bitcoin,_.Chain.Zcash,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => ($0(),V0));return await y(T,f)}).with(_.Chain.Cosmos,_.Chain.Kujira,_.Chain.Noble,_.Chain.Maya,_.Chain.THORChain,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (eT(),sT));return await y(T,f)}).with(_.Chain.Chainflip,_.Chain.Polkadot,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (H0(),W0));return await y(T,f)}).with(_.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (J1(),Z1));return await y(f)}).with(_.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (L1(),X1));return await y(f)}).with(_.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (n0(),j0));return await y(f)}).with(_.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (z1(),q1));return await y(f)}).with(_.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (T1(),y1));return await y(f)}).otherwise(()=>{throw new _.SwapKitError("toolbox_not_supported",{chain:T})})}
1
+ var y2=Object.create;var{getPrototypeOf:T2,defineProperty:HT,getOwnPropertyNames:q1,getOwnPropertyDescriptor:f2}=Object,z1=Object.prototype.hasOwnProperty;var Y=(T,f,L)=>{L=T!=null?y2(T2(T)):{};let y=f||!T||!T.__esModule?HT(L,"default",{value:T,enumerable:!0}):L;for(let Z of q1(T))if(!z1.call(y,Z))HT(y,Z,{get:()=>T[Z],enumerable:!0});return y},x1=new WeakMap,_y=(T)=>{var f=x1.get(T),L;if(f)return f;if(f=HT({},"__esModule",{value:!0}),T&&typeof T==="object"||typeof T==="function")q1(T).map((y)=>!z1.call(f,y)&&HT(f,y,{get:()=>T[y],enumerable:!(L=f2(T,y))||L.enumerable}));return x1.set(T,f),f};var Gy=(T,f)=>{for(var L in f)HT(T,L,{get:f[L],enumerable:!0,configurable:!0,set:(y)=>f[L]=()=>y})};var F=(T,f)=>()=>(T&&(f=T(T=0)),f);function YT(T){return Py.base64.encode(Uint8Array.from(Py.bech32.fromWords(Py.bech32.decode(T).words)))}function UT(T,f="thor"){return Py.bech32.encode(f,Py.bech32.toWords(Py.base64.decode(T)))}function X2(T){return iT.fromByteArray(T)}function Z2(T){if(!T.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new G1.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return iT.toByteArray(T)}var Py,G1,iT;var V0=F(()=>{Py=require("@scure/base"),G1=require("@swapkit/helpers"),iT=require("base64-js")});function Cy(T){switch(T){case E.Chain.Maya:return{amount:[],gas:"10000000000"};case E.Chain.THORChain:return{amount:[],gas:"500000000"};case E.Chain.Kujira:return W1;case E.Chain.Noble:return H1;default:return B1}}async function Oy(T){let f=await import("@cosmjs/stargate"),L=f.StargateClient??f.default?.StargateClient,y=typeof window!=="undefined"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return L.connect({headers:y,url:T})}async function RT(T,f,L={}){let y=await import("@cosmjs/stargate"),Z=y.SigningStargateClient??y.default?.SigningStargateClient,X=y.GasPrice??y.default?.GasPrice,J=typeof L==="string"?L:"0.0003uatom",Q=typeof L==="string"?{}:L;return Z.connectWithSigner(T,f,{gasPrice:X.fromString(J),...Q})}async function K0(T,f){let L=await import("@cosmjs/stargate");return(L.SigningStargateClient??L.default?.SigningStargateClient).offline(T,f)}async function A0({sender:T,recipient:f,assetValue:L,memo:y="",feeRate:Z,sequence:X,accountNumber:J}){let{chain:Q,chainId:x}=L,q=await E.getRPCUrl(Q),G=await(await Oy(q)).getAccount(T);if(!G)throw new E.SwapKitError("toolbox_cosmos_account_not_found",{sender:T});let M=E.AssetValue.from({chain:Q}),W=Fy(M.symbol),B=Cy(Q),N=W&&Z?{amount:[{amount:Z.toString(),denom:W}],gas:B.gas}:B,D={amount:[{amount:L.getBaseValue("string"),denom:Fy(L.symbol)}],fromAddress:T,toAddress:f};return{accountNumber:J??G.accountNumber,chainId:x,fee:N,memo:y,msgs:[{typeUrl:L2(Q),value:D}],sequence:X??G.sequence}}var E,$0="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",M1="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",B1,W1,H1,Fy=(T,f=!1)=>{if(f)return T.toLowerCase();switch(T){case"uUSK":case"USK":return $0;case"uYUM":case"YUM":return M1;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":return"uusdc";default:return T}},_T=({symbol:T,chain:f})=>{if(f===E.Chain.Maya)return(T.toUpperCase()!=="CACAO"?T:`${E.Chain.Maya}.${T}`).toUpperCase();if(f===E.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(T.toUpperCase())?`${E.Chain.THORChain}.${T}`:T).toUpperCase();return Fy(T,!1)},L2=(T)=>{switch(T){case E.Chain.Maya:case E.Chain.THORChain:return"/types.MsgSend";case E.Chain.Cosmos:case E.Chain.Kujira:case E.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new E.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}},J2,S0=(T,f)=>{let L=J2[T.toLowerCase()];if(!L)return E.AssetValue.from({asset:T,fromBaseDecimal:8,value:f});let{chain:y,asset:Z,decimals:X}=L,J=y?{chain:y}:{asset:Z};return E.AssetValue.from({...J,fromBaseDecimal:X,value:f})};var NT=F(()=>{E=require("@swapkit/helpers"),B1={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},W1={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},H1={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};J2={atom:{chain:E.Chain.Cosmos,decimals:E.BaseDecimal[E.Chain.Cosmos]},cacao:{chain:E.Chain.Maya,decimals:10},kuji:{chain:E.Chain.Kujira,decimals:E.BaseDecimal[E.Chain.Kujira]},maya:{asset:`${E.Chain.Maya}.${E.Chain.Maya}`,decimals:4},rune:{chain:E.Chain.THORChain,decimals:E.BaseDecimal[E.Chain.THORChain]},tcy:{asset:"THOR.TCY",decimals:E.BaseDecimal[E.Chain.THORChain]},uatom:{chain:E.Chain.Cosmos,decimals:E.BaseDecimal[E.Chain.Cosmos]},ukuji:{chain:E.Chain.Kujira,decimals:E.BaseDecimal[E.Chain.Kujira]},usdc:{chain:E.Chain.Noble,decimals:E.BaseDecimal[E.Chain.Noble]},uusdc:{chain:E.Chain.Noble,decimals:E.BaseDecimal[E.Chain.Noble]},"x/kuji":{asset:"THOR.KUJI",decimals:E.BaseDecimal[E.Chain.THORChain]},[$0.toLowerCase()]:{asset:`${E.Chain.Kujira}.USK`,decimals:E.BaseDecimal[E.Chain.Kujira]}}});var Y1={};Gy(Y1,{$root:()=>R});var e,$,My,I,R;var U1=F(()=>{e=Y(require("protobufjs/minimal.js")),$=e.default.Reader,My=e.default.Writer,I=e.default.util,R=e.default.roots.default||(e.default.roots.default={});R.common=(()=>{let T={};return T.Asset=(()=>{function f(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 f.prototype.chain="",f.prototype.symbol="",f.prototype.ticker="",f.prototype.synth=!1,f.create=function L(y){return new f(y)},f.encode=function L(y,Z){if(!Z)Z=My.create();if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))Z.uint32(10).string(y.chain);if(y.symbol!=null&&Object.hasOwnProperty.call(y,"symbol"))Z.uint32(18).string(y.symbol);if(y.ticker!=null&&Object.hasOwnProperty.call(y,"ticker"))Z.uint32(26).string(y.ticker);if(y.synth!=null&&Object.hasOwnProperty.call(y,"synth"))Z.uint32(32).bool(y.synth);return Z},f.encodeDelimited=function L(y,Z){return this.encode(y,Z).ldelim()},f.decode=function L(y,Z){if(!(y instanceof $))y=$.create(y);let X=Z===void 0?y.len:y.pos+Z,J=new R.common.Asset;while(y.pos<X){let Q=y.uint32();switch(Q>>>3){case 1:J.chain=y.string();break;case 2:J.symbol=y.string();break;case 3:J.ticker=y.string();break;case 4:J.synth=y.bool();break;default:y.skipType(Q&7);break}}return J},f.decodeDelimited=function L(y){if(!(y instanceof $))y=new $(y);return this.decode(y,y.uint32())},f.verify=function L(y){if(typeof y!=="object"||y===null)return"object expected";if(y.chain!=null&&y.hasOwnProperty("chain")){if(!I.isString(y.chain))return"chain: string expected"}if(y.symbol!=null&&y.hasOwnProperty("symbol")){if(!I.isString(y.symbol))return"symbol: string expected"}if(y.ticker!=null&&y.hasOwnProperty("ticker")){if(!I.isString(y.ticker))return"ticker: string expected"}if(y.synth!=null&&y.hasOwnProperty("synth")){if(typeof y.synth!=="boolean")return"synth: boolean expected"}return null},f.fromObject=function L(y){if(y instanceof R.common.Asset)return y;let Z=new R.common.Asset;if(y.chain!=null)Z.chain=String(y.chain);if(y.symbol!=null)Z.symbol=String(y.symbol);if(y.ticker!=null)Z.ticker=String(y.ticker);if(y.synth!=null)Z.synth=Boolean(y.synth);return Z},f.toObject=function L(y,Z){if(!Z)Z={};let X={};if(Z.defaults)X.chain="",X.symbol="",X.ticker="",X.synth=!1;if(y.chain!=null&&y.hasOwnProperty("chain"))X.chain=y.chain;if(y.symbol!=null&&y.hasOwnProperty("symbol"))X.symbol=y.symbol;if(y.ticker!=null&&y.hasOwnProperty("ticker"))X.ticker=y.ticker;if(y.synth!=null&&y.hasOwnProperty("synth"))X.synth=y.synth;return X},f.prototype.toJSON=function L(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},f})(),T.Coin=(()=>{function f(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 f.prototype.asset=null,f.prototype.amount="",f.prototype.decimals=I.Long?I.Long.fromBits(0,0,!1):0,f.create=function L(y){return new f(y)},f.encode=function L(y,Z){if(!Z)Z=My.create();if(y.asset!=null&&Object.hasOwnProperty.call(y,"asset"))R.common.Asset.encode(y.asset,Z.uint32(10).fork()).ldelim();if(y.amount!=null&&Object.hasOwnProperty.call(y,"amount"))Z.uint32(18).string(y.amount);if(y.decimals!=null&&Object.hasOwnProperty.call(y,"decimals"))Z.uint32(24).int64(y.decimals);return Z},f.encodeDelimited=function L(y,Z){return this.encode(y,Z).ldelim()},f.decode=function L(y,Z){if(!(y instanceof $))y=$.create(y);let X=Z===void 0?y.len:y.pos+Z,J=new R.common.Coin;while(y.pos<X){let Q=y.uint32();switch(Q>>>3){case 1:J.asset=R.common.Asset.decode(y,y.uint32());break;case 2:J.amount=y.string();break;case 3:J.decimals=y.int64();break;default:y.skipType(Q&7);break}}return J},f.decodeDelimited=function L(y){if(!(y instanceof $))y=new $(y);return this.decode(y,y.uint32())},f.verify=function L(y){if(typeof y!=="object"||y===null)return"object expected";if(y.asset!=null&&y.hasOwnProperty("asset")){let Z=R.common.Asset.verify(y.asset);if(Z)return"asset."+Z}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!I.isString(y.amount))return"amount: string expected"}if(y.decimals!=null&&y.hasOwnProperty("decimals")){if(!I.isInteger(y.decimals)&&!(y.decimals&&I.isInteger(y.decimals.low)&&I.isInteger(y.decimals.high)))return"decimals: integer|Long expected"}return null},f.fromObject=function L(y){if(y instanceof R.common.Coin)return y;let Z=new R.common.Coin;if(y.asset!=null){if(typeof y.asset!=="object")throw TypeError(".common.Coin.asset: object expected");Z.asset=R.common.Asset.fromObject(y.asset)}if(y.amount!=null)Z.amount=String(y.amount);if(y.decimals!=null){if(I.Long)(Z.decimals=I.Long.fromValue(y.decimals)).unsigned=!1;else if(typeof y.decimals==="string")Z.decimals=Number.parseInt(y.decimals,10);else if(typeof y.decimals==="number")Z.decimals=y.decimals;else if(typeof y.decimals==="object")Z.decimals=new I.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber()}return Z},f.toObject=function L(y,Z){if(!Z)Z={};let X={};if(Z.defaults)if(X.asset=null,X.amount="",I.Long){let J=new I.Long(0,0,!1);X.decimals=Z.longs===String?J.toString():Z.longs===Number?J.toNumber():J}else X.decimals=Z.longs===String?"0":0;if(y.asset!=null&&y.hasOwnProperty("asset"))X.asset=R.common.Asset.toObject(y.asset,Z);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=Z.longs===String?String(y.decimals):y.decimals;else X.decimals=Z.longs===String?I.Long.prototype.toString.call(y.decimals):Z.longs===Number?new I.LongBits(y.decimals.low>>>0,y.decimals.high>>>0).toNumber():y.decimals;return X},f.prototype.toJSON=function L(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},f})(),T.PubKeySet=(()=>{function f(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 f.prototype.secp256k1="",f.prototype.ed25519="",f.create=function L(y){return new f(y)},f.encode=function L(y,Z){if(!Z)Z=My.create();if(y.secp256k1!=null&&Object.hasOwnProperty.call(y,"secp256k1"))Z.uint32(10).string(y.secp256k1);if(y.ed25519!=null&&Object.hasOwnProperty.call(y,"ed25519"))Z.uint32(18).string(y.ed25519);return Z},f.encodeDelimited=function L(y,Z){return this.encode(y,Z).ldelim()},f.decode=function L(y,Z){if(!(y instanceof $))y=$.create(y);let X=Z===void 0?y.len:y.pos+Z,J=new R.common.PubKeySet;while(y.pos<X){let Q=y.uint32();switch(Q>>>3){case 1:J.secp256k1=y.string();break;case 2:J.ed25519=y.string();break;default:y.skipType(Q&7);break}}return J},f.decodeDelimited=function L(y){if(!(y instanceof $))y=new $(y);return this.decode(y,y.uint32())},f.verify=function L(y){if(typeof y!=="object"||y===null)return"object expected";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1")){if(!I.isString(y.secp256k1))return"secp256k1: string expected"}if(y.ed25519!=null&&y.hasOwnProperty("ed25519")){if(!I.isString(y.ed25519))return"ed25519: string expected"}return null},f.fromObject=function L(y){if(y instanceof R.common.PubKeySet)return y;let Z=new R.common.PubKeySet;if(y.secp256k1!=null)Z.secp256k1=String(y.secp256k1);if(y.ed25519!=null)Z.ed25519=String(y.ed25519);return Z},f.toObject=function L(y,Z){if(!Z)Z={};let X={};if(Z.defaults)X.secp256k1="",X.ed25519="";if(y.secp256k1!=null&&y.hasOwnProperty("secp256k1"))X.secp256k1=y.secp256k1;if(y.ed25519!=null&&y.hasOwnProperty("ed25519"))X.ed25519=y.ed25519;return X},f.prototype.toJSON=function L(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},f})(),T.Tx=(()=>{function f(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 f.prototype.id="",f.prototype.chain="",f.prototype.fromAddress="",f.prototype.toAddress="",f.prototype.coins=I.emptyArray,f.prototype.gas=I.emptyArray,f.prototype.memo="",f.create=function L(y){return new f(y)},f.encode=function L(y,Z){if(!Z)Z=My.create();if(y.id!=null&&Object.hasOwnProperty.call(y,"id"))Z.uint32(10).string(y.id);if(y.chain!=null&&Object.hasOwnProperty.call(y,"chain"))Z.uint32(18).string(y.chain);if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))Z.uint32(26).string(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))Z.uint32(34).string(y.toAddress);if(y.coins?.length)for(let X=0;X<y.coins.length;++X)R.common.Coin.encode(y.coins[X],Z.uint32(42).fork()).ldelim();if(y.gas?.length)for(let X=0;X<y.gas.length;++X)R.common.Coin.encode(y.gas[X],Z.uint32(50).fork()).ldelim();if(y.memo!=null&&Object.hasOwnProperty.call(y,"memo"))Z.uint32(58).string(y.memo);return Z},f.encodeDelimited=function L(y,Z){return this.encode(y,Z).ldelim()},f.decode=function L(y,Z){if(!(y instanceof $))y=$.create(y);let X=Z===void 0?y.len:y.pos+Z,J=new R.common.Tx;while(y.pos<X){let Q=y.uint32();switch(Q>>>3){case 1:J.id=y.string();break;case 2:J.chain=y.string();break;case 3:J.fromAddress=y.string();break;case 4:J.toAddress=y.string();break;case 5:if(!J.coins?.length)J.coins=[];J.coins.push(R.common.Coin.decode(y,y.uint32()));break;case 6:if(!J.gas?.length)J.gas=[];J.gas.push(R.common.Coin.decode(y,y.uint32()));break;case 7:J.memo=y.string();break;default:y.skipType(Q&7);break}}return J},f.decodeDelimited=function L(y){if(!(y instanceof $))y=new $(y);return this.decode(y,y.uint32())},f.verify=function L(y){if(typeof y!=="object"||y===null)return"object expected";if(y.id!=null&&y.hasOwnProperty("id")){if(!I.isString(y.id))return"id: string expected"}if(y.chain!=null&&y.hasOwnProperty("chain")){if(!I.isString(y.chain))return"chain: string expected"}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!I.isString(y.fromAddress))return"fromAddress: string expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!I.isString(y.toAddress))return"toAddress: string expected"}if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let Z=0;Z<y.coins.length;++Z){let X=R.common.Coin.verify(y.coins[Z]);if(X)return"coins."+X}}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 X=R.common.Coin.verify(y.gas[Z]);if(X)return"gas."+X}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!I.isString(y.memo))return"memo: string expected"}return null},f.fromObject=function L(y){if(y instanceof R.common.Tx)return y;let Z=new R.common.Tx;if(y.id!=null)Z.id=String(y.id);if(y.chain!=null)Z.chain=String(y.chain);if(y.fromAddress!=null)Z.fromAddress=String(y.fromAddress);if(y.toAddress!=null)Z.toAddress=String(y.toAddress);if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Tx.coins: array expected");Z.coins=[];for(let X=0;X<y.coins.length;++X){if(typeof y.coins[X]!=="object")throw TypeError(".common.Tx.coins: object expected");Z.coins[X]=R.common.Coin.fromObject(y.coins[X])}}if(y.gas){if(!Array.isArray(y.gas))throw TypeError(".common.Tx.gas: array expected");Z.gas=[];for(let X=0;X<y.gas.length;++X){if(typeof y.gas[X]!=="object")throw TypeError(".common.Tx.gas: object expected");Z.gas[X]=R.common.Coin.fromObject(y.gas[X])}}if(y.memo!=null)Z.memo=String(y.memo);return Z},f.toObject=function L(y,Z){if(!Z)Z={};let X={};if(Z.arrays||Z.defaults)X.coins=[],X.gas=[];if(Z.defaults)X.id="",X.chain="",X.fromAddress="",X.toAddress="",X.memo="";if(y.id!=null&&y.hasOwnProperty("id"))X.id=y.id;if(y.chain!=null&&y.hasOwnProperty("chain"))X.chain=y.chain;if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))X.fromAddress=y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))X.toAddress=y.toAddress;if(y.coins?.length){X.coins=[];for(let J=0;J<y.coins.length;++J)X.coins[J]=R.common.Coin.toObject(y.coins[J],Z)}if(y.gas?.length){X.gas=[];for(let J=0;J<y.gas.length;++J)X.gas[J]=R.common.Coin.toObject(y.gas[J],Z)}if(y.memo!=null&&y.hasOwnProperty("memo"))X.memo=y.memo;return X},f.prototype.toJSON=function L(){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),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return f.prototype.coins=I.emptyArray,f.prototype.poolDeduct="",f.create=function L(y){return new f(y)},f.encode=function L(y,Z){if(!Z)Z=My.create();if(y.coins?.length)for(let X=0;X<y.coins.length;++X)R.common.Coin.encode(y.coins[X],Z.uint32(10).fork()).ldelim();if(y.poolDeduct!=null&&Object.hasOwnProperty.call(y,"poolDeduct"))Z.uint32(18).string(y.poolDeduct);return Z},f.encodeDelimited=function L(y,Z){return this.encode(y,Z).ldelim()},f.decode=function L(y,Z){if(!(y instanceof $))y=$.create(y);let X=Z===void 0?y.len:y.pos+Z,J=new R.common.Fee;while(y.pos<X){let Q=y.uint32();switch(Q>>>3){case 1:if(!J.coins?.length)J.coins=[];J.coins.push(R.common.Coin.decode(y,y.uint32()));break;case 2:J.poolDeduct=y.string();break;default:y.skipType(Q&7);break}}return J},f.decodeDelimited=function L(y){if(!(y instanceof $))y=new $(y);return this.decode(y,y.uint32())},f.verify=function L(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let Z=0;Z<y.coins.length;++Z){let X=R.common.Coin.verify(y.coins[Z]);if(X)return"coins."+X}}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct")){if(!I.isString(y.poolDeduct))return"poolDeduct: string expected"}return null},f.fromObject=function L(y){if(y instanceof R.common.Fee)return y;let Z=new R.common.Fee;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".common.Fee.coins: array expected");Z.coins=[];for(let X=0;X<y.coins.length;++X){if(typeof y.coins[X]!=="object")throw TypeError(".common.Fee.coins: object expected");Z.coins[X]=R.common.Coin.fromObject(y.coins[X])}}if(y.poolDeduct!=null)Z.poolDeduct=String(y.poolDeduct);return Z},f.toObject=function L(y,Z){if(!Z)Z={};let X={};if(Z.arrays||Z.defaults)X.coins=[];if(Z.defaults)X.poolDeduct="";if(y.coins?.length){X.coins=[];for(let J=0;J<y.coins.length;++J)X.coins[J]=R.common.Coin.toObject(y.coins[J],Z)}if(y.poolDeduct!=null&&y.hasOwnProperty("poolDeduct"))X.poolDeduct=y.poolDeduct;return X},f.prototype.toJSON=function L(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},f})(),T.ProtoUint=(()=>{function f(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 f.prototype.value="",f.create=function L(y){return new f(y)},f.encode=function L(y,Z){if(!Z)Z=My.create();if(y.value!=null&&Object.hasOwnProperty.call(y,"value"))Z.uint32(10).string(y.value);return Z},f.encodeDelimited=function L(y,Z){return this.encode(y,Z).ldelim()},f.decode=function L(y,Z){if(!(y instanceof $))y=$.create(y);let X=Z===void 0?y.len:y.pos+Z,J=new R.common.ProtoUint;while(y.pos<X){let Q=y.uint32();switch(Q>>>3){case 1:J.value=y.string();break;default:y.skipType(Q&7);break}}return J},f.decodeDelimited=function L(y){if(!(y instanceof $))y=new $(y);return this.decode(y,y.uint32())},f.verify=function L(y){if(typeof y!=="object"||y===null)return"object expected";if(y.value!=null&&y.hasOwnProperty("value")){if(!I.isString(y.value))return"value: string expected"}return null},f.fromObject=function L(y){if(y instanceof R.common.ProtoUint)return y;let Z=new R.common.ProtoUint;if(y.value!=null)Z.value=String(y.value);return Z},f.toObject=function L(y,Z){if(!Z)Z={};let X={};if(Z.defaults)X.value="";if(y.value!=null&&y.hasOwnProperty("value"))X.value=y.value;return X},f.prototype.toJSON=function L(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},f})(),T})();R.types=(()=>{let T={};return T.MsgDeposit=(()=>{function f(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 f.prototype.coins=I.emptyArray,f.prototype.memo="",f.prototype.signer=I.newBuffer([]),f.create=function L(y){return new f(y)},f.encode=function L(y,Z){if(!Z)Z=My.create();if(y.coins?.length)for(let X=0;X<y.coins.length;++X)R.common.Coin.encode(y.coins[X],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},f.encodeDelimited=function L(y,Z){return this.encode(y,Z).ldelim()},f.decode=function L(y,Z){if(!(y instanceof $))y=$.create(y);let X=Z===void 0?y.len:y.pos+Z,J=new R.types.MsgDeposit;while(y.pos<X){let Q=y.uint32();switch(Q>>>3){case 1:if(!J.coins?.length)J.coins=[];J.coins.push(R.common.Coin.decode(y,y.uint32()));break;case 2:J.memo=y.string();break;case 3:J.signer=y.bytes();break;default:y.skipType(Q&7);break}}return J},f.decodeDelimited=function L(y){if(!(y instanceof $))y=new $(y);return this.decode(y,y.uint32())},f.verify=function L(y){if(typeof y!=="object"||y===null)return"object expected";if(y.coins!=null&&y.hasOwnProperty("coins")){if(!Array.isArray(y.coins))return"coins: array expected";for(let Z=0;Z<y.coins.length;++Z){let X=R.common.Coin.verify(y.coins[Z]);if(X)return"coins."+X}}if(y.memo!=null&&y.hasOwnProperty("memo")){if(!I.isString(y.memo))return"memo: string expected"}if(y.signer!=null&&y.hasOwnProperty("signer")){if(!(y.signer&&typeof y.signer.length==="number"||I.isString(y.signer)))return"signer: buffer expected"}return null},f.fromObject=function L(y){if(y instanceof R.types.MsgDeposit)return y;let Z=new R.types.MsgDeposit;if(y.coins){if(!Array.isArray(y.coins))throw TypeError(".types.MsgDeposit.coins: array expected");Z.coins=[];for(let X=0;X<y.coins.length;++X){if(typeof y.coins[X]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");Z.coins[X]=R.common.Coin.fromObject(y.coins[X])}}if(y.memo!=null)Z.memo=String(y.memo);if(y.signer!=null){if(typeof y.signer==="string")I.base64.decode(y.signer,Z.signer=I.newBuffer(I.base64.length(y.signer)),0);else if(y.signer.length)Z.signer=y.signer}return Z},f.toObject=function L(y,Z){if(!Z)Z={};let X={};if(Z.arrays||Z.defaults)X.coins=[];if(Z.defaults){if(X.memo="",Z.bytes===String)X.signer="";else if(X.signer=[],Z.bytes!==Array)X.signer=I.newBuffer(X.signer)}if(y.coins?.length){X.coins=[];for(let J=0;J<y.coins.length;++J)X.coins[J]=R.common.Coin.toObject(y.coins[J],Z)}if(y.memo!=null&&y.hasOwnProperty("memo"))X.memo=y.memo;if(y.signer!=null&&y.hasOwnProperty("signer"))X.signer=Z.bytes===String?I.base64.encode(y.signer,0,y.signer.length):Z.bytes===Array?Array.prototype.slice.call(y.signer):y.signer;return X},f.prototype.toJSON=function L(){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),Z=0;Z<y.length;++Z)if(L[y[Z]]!=null)this[y[Z]]=L[y[Z]]}}return f.prototype.fromAddress=I.newBuffer([]),f.prototype.toAddress=I.newBuffer([]),f.prototype.amount=I.emptyArray,f.create=function L(y){return new f(y)},f.encode=function L(y,Z){if(!Z)Z=My.create();if(y.fromAddress!=null&&Object.hasOwnProperty.call(y,"fromAddress"))Z.uint32(10).bytes(y.fromAddress);if(y.toAddress!=null&&Object.hasOwnProperty.call(y,"toAddress"))Z.uint32(18).bytes(y.toAddress);if(y.amount?.length)for(let X=0;X<y.amount.length;++X)R.cosmos.base.v1beta1.Coin.encode(y.amount[X],Z.uint32(26).fork()).ldelim();return Z},f.encodeDelimited=function L(y,Z){return this.encode(y,Z).ldelim()},f.decode=function L(y,Z){if(!(y instanceof $))y=$.create(y);let X=Z===void 0?y.len:y.pos+Z,J=new R.types.MsgSend;while(y.pos<X){let Q=y.uint32();switch(Q>>>3){case 1:J.fromAddress=y.bytes();break;case 2:J.toAddress=y.bytes();break;case 3:if(!J.amount?.length)J.amount=[];J.amount.push(R.cosmos.base.v1beta1.Coin.decode(y,y.uint32()));break;default:y.skipType(Q&7);break}}return J},f.decodeDelimited=function L(y){if(!(y instanceof $))y=new $(y);return this.decode(y,y.uint32())},f.verify=function L(y){if(typeof y!=="object"||y===null)return"object expected";if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress")){if(!(y.fromAddress&&typeof y.fromAddress.length==="number"||I.isString(y.fromAddress)))return"fromAddress: buffer expected"}if(y.toAddress!=null&&y.hasOwnProperty("toAddress")){if(!(y.toAddress&&typeof y.toAddress.length==="number"||I.isString(y.toAddress)))return"toAddress: buffer expected"}if(y.amount!=null&&y.hasOwnProperty("amount")){if(!Array.isArray(y.amount))return"amount: array expected";for(let Z=0;Z<y.amount.length;++Z){let X=R.cosmos.base.v1beta1.Coin.verify(y.amount[Z]);if(X)return"amount."+X}}return null},f.fromObject=function L(y){if(y instanceof R.types.MsgSend)return y;let Z=new R.types.MsgSend;if(y.fromAddress!=null){if(typeof y.fromAddress==="string")I.base64.decode(y.fromAddress,Z.fromAddress=I.newBuffer(I.base64.length(y.fromAddress)),0);else if(y.fromAddress.length)Z.fromAddress=y.fromAddress}if(y.toAddress!=null){if(typeof y.toAddress==="string")I.base64.decode(y.toAddress,Z.toAddress=I.newBuffer(I.base64.length(y.toAddress)),0);else if(y.toAddress.length)Z.toAddress=y.toAddress}if(y.amount){if(!Array.isArray(y.amount))throw TypeError(".types.MsgSend.amount: array expected");Z.amount=[];for(let X=0;X<y.amount.length;++X){if(typeof y.amount[X]!=="object")throw TypeError(".types.MsgSend.amount: object expected");Z.amount[X]=R.cosmos.base.v1beta1.Coin.fromObject(y.amount[X])}}return Z},f.toObject=function L(y,Z){if(!Z)Z={};let X={};if(Z.arrays||Z.defaults)X.amount=[];if(Z.defaults){if(Z.bytes===String)X.fromAddress="";else if(X.fromAddress=[],Z.bytes!==Array)X.fromAddress=I.newBuffer(X.fromAddress);if(Z.bytes===String)X.toAddress="";else if(X.toAddress=[],Z.bytes!==Array)X.toAddress=I.newBuffer(X.toAddress)}if(y.fromAddress!=null&&y.hasOwnProperty("fromAddress"))X.fromAddress=Z.bytes===String?I.base64.encode(y.fromAddress,0,y.fromAddress.length):Z.bytes===Array?Array.prototype.slice.call(y.fromAddress):y.fromAddress;if(y.toAddress!=null&&y.hasOwnProperty("toAddress"))X.toAddress=Z.bytes===String?I.base64.encode(y.toAddress,0,y.toAddress.length):Z.bytes===Array?Array.prototype.slice.call(y.toAddress):y.toAddress;if(y.amount?.length){X.amount=[];for(let J=0;J<y.amount.length;++J)X.amount[J]=R.cosmos.base.v1beta1.Coin.toObject(y.amount[J],Z)}return X},f.prototype.toJSON=function L(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},f})(),T})();R.cosmos=(()=>{let T={};return T.base=(()=>{let f={};return f.v1beta1=(()=>{let L={};return L.Coin=(()=>{function y(Z){if(Z){for(let X=Object.keys(Z),J=0;J<X.length;++J)if(Z[X[J]]!=null)this[X[J]]=Z[X[J]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function Z(X){return new y(X)},y.encode=function Z(X,J){if(!J)J=My.create();if(X.denom!=null&&Object.hasOwnProperty.call(X,"denom"))J.uint32(10).string(X.denom);if(X.amount!=null&&Object.hasOwnProperty.call(X,"amount"))J.uint32(18).string(X.amount);return J},y.encodeDelimited=function Z(X,J){return this.encode(X,J).ldelim()},y.decode=function Z(X,J){if(!(X instanceof $))X=$.create(X);let Q=J===void 0?X.len:X.pos+J,x=new R.cosmos.base.v1beta1.Coin;while(X.pos<Q){let q=X.uint32();switch(q>>>3){case 1:x.denom=X.string();break;case 2:x.amount=X.string();break;default:X.skipType(q&7);break}}return x},y.decodeDelimited=function Z(X){if(!(X instanceof $))X=new $(X);return this.decode(X,X.uint32())},y.verify=function Z(X){if(typeof X!=="object"||X===null)return"object expected";if(X.denom!=null&&X.hasOwnProperty("denom")){if(!I.isString(X.denom))return"denom: string expected"}if(X.amount!=null&&X.hasOwnProperty("amount")){if(!I.isString(X.amount))return"amount: string expected"}return null},y.fromObject=function Z(X){if(X instanceof R.cosmos.base.v1beta1.Coin)return X;let J=new R.cosmos.base.v1beta1.Coin;if(X.denom!=null)J.denom=String(X.denom);if(X.amount!=null)J.amount=String(X.amount);return J},y.toObject=function Z(X,J){if(!J)J={};let Q={};if(J.defaults)Q.denom="",Q.amount="";if(X.denom!=null&&X.hasOwnProperty("denom"))Q.denom=X.denom;if(X.amount!=null&&X.hasOwnProperty("amount"))Q.amount=X.amount;return Q},y.prototype.toJSON=function Z(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},y})(),L.DecCoin=(()=>{function y(Z){if(Z){for(let X=Object.keys(Z),J=0;J<X.length;++J)if(Z[X[J]]!=null)this[X[J]]=Z[X[J]]}}return y.prototype.denom="",y.prototype.amount="",y.create=function Z(X){return new y(X)},y.encode=function Z(X,J){if(!J)J=My.create();if(X.denom!=null&&Object.hasOwnProperty.call(X,"denom"))J.uint32(10).string(X.denom);if(X.amount!=null&&Object.hasOwnProperty.call(X,"amount"))J.uint32(18).string(X.amount);return J},y.encodeDelimited=function Z(X,J){return this.encode(X,J).ldelim()},y.decode=function Z(X,J){if(!(X instanceof $))X=$.create(X);let Q=J===void 0?X.len:X.pos+J,x=new R.cosmos.base.v1beta1.DecCoin;while(X.pos<Q){let q=X.uint32();switch(q>>>3){case 1:x.denom=X.string();break;case 2:x.amount=X.string();break;default:X.skipType(q&7);break}}return x},y.decodeDelimited=function Z(X){if(!(X instanceof $))X=new $(X);return this.decode(X,X.uint32())},y.verify=function Z(X){if(typeof X!=="object"||X===null)return"object expected";if(X.denom!=null&&X.hasOwnProperty("denom")){if(!I.isString(X.denom))return"denom: string expected"}if(X.amount!=null&&X.hasOwnProperty("amount")){if(!I.isString(X.amount))return"amount: string expected"}return null},y.fromObject=function Z(X){if(X instanceof R.cosmos.base.v1beta1.DecCoin)return X;let J=new R.cosmos.base.v1beta1.DecCoin;if(X.denom!=null)J.denom=String(X.denom);if(X.amount!=null)J.amount=String(X.amount);return J},y.toObject=function Z(X,J){if(!J)J={};let Q={};if(J.defaults)Q.denom="",Q.amount="";if(X.denom!=null&&X.hasOwnProperty("denom"))Q.denom=X.denom;if(X.amount!=null&&X.hasOwnProperty("amount"))Q.amount=X.amount;return Q},y.prototype.toJSON=function Z(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},y})(),L.IntProto=(()=>{function y(Z){if(Z){for(let X=Object.keys(Z),J=0;J<X.length;++J)if(Z[X[J]]!=null)this[X[J]]=Z[X[J]]}}return y.prototype.int="",y.create=function Z(X){return new y(X)},y.encode=function Z(X,J){if(!J)J=My.create();if(X.int!=null&&Object.hasOwnProperty.call(X,"int"))J.uint32(10).string(X.int);return J},y.encodeDelimited=function Z(X,J){return this.encode(X,J).ldelim()},y.decode=function Z(X,J){if(!(X instanceof $))X=$.create(X);let Q=J===void 0?X.len:X.pos+J,x=new R.cosmos.base.v1beta1.IntProto;while(X.pos<Q){let q=X.uint32();switch(q>>>3){case 1:x.int=X.string();break;default:X.skipType(q&7);break}}return x},y.decodeDelimited=function Z(X){if(!(X instanceof $))X=new $(X);return this.decode(X,X.uint32())},y.verify=function Z(X){if(typeof X!=="object"||X===null)return"object expected";if(X.int!=null&&X.hasOwnProperty("int")){if(!I.isString(X.int))return"int: string expected"}return null},y.fromObject=function Z(X){if(X instanceof R.cosmos.base.v1beta1.IntProto)return X;let J=new R.cosmos.base.v1beta1.IntProto;if(X.int!=null)J.int=String(X.int);return J},y.toObject=function Z(X,J){if(!J)J={};let Q={};if(J.defaults)Q.int="";if(X.int!=null&&X.hasOwnProperty("int"))Q.int=X.int;return Q},y.prototype.toJSON=function Z(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},y})(),L.DecProto=(()=>{function y(Z){if(Z){for(let X=Object.keys(Z),J=0;J<X.length;++J)if(Z[X[J]]!=null)this[X[J]]=Z[X[J]]}}return y.prototype.dec="",y.create=function Z(X){return new y(X)},y.encode=function Z(X,J){if(!J)J=My.create();if(X.dec!=null&&Object.hasOwnProperty.call(X,"dec"))J.uint32(10).string(X.dec);return J},y.encodeDelimited=function Z(X,J){return this.encode(X,J).ldelim()},y.decode=function Z(X,J){if(!(X instanceof $))X=$.create(X);let Q=J===void 0?X.len:X.pos+J,x=new R.cosmos.base.v1beta1.DecProto;while(X.pos<Q){let q=X.uint32();switch(q>>>3){case 1:x.dec=X.string();break;default:X.skipType(q&7);break}}return x},y.decodeDelimited=function Z(X){if(!(X instanceof $))X=new $(X);return this.decode(X,X.uint32())},y.verify=function Z(X){if(typeof X!=="object"||X===null)return"object expected";if(X.dec!=null&&X.hasOwnProperty("dec")){if(!I.isString(X.dec))return"dec: string expected"}return null},y.fromObject=function Z(X){if(X instanceof R.cosmos.base.v1beta1.DecProto)return X;let J=new R.cosmos.base.v1beta1.DecProto;if(X.dec!=null)J.dec=String(X.dec);return J},y.toObject=function Z(X,J){if(!J)J={};let Q={};if(J.defaults)Q.dec="";if(X.dec!=null&&X.hasOwnProperty("dec"))Q.dec=X.dec;return Q},y.prototype.toJSON=function Z(){return this.constructor.toObject(this,e.default.util.toJSONOptions)},y})(),L})(),f})(),T})()});async function py(){let{$root:T}=await Promise.resolve().then(() => (U1(),Y1)),f=await import("@cosmjs/proto-signing"),L=f.Registry??f.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 ly(T){let f=await import("@cosmjs/stargate"),L=f.AminoTypes??f.default?.AminoTypes,y=T===_1.Chain.THORChain?"thorchain":"mayachain";return new L({"/types.MsgDeposit":{aminoType:`${y}/MsgDeposit`,fromAmino:({signer:Z,...X})=>({...X,signer:YT(Z)}),toAmino:({signer:Z,...X})=>({...X,signer:UT(Z)})},"/types.MsgSend":{aminoType:`${y}/MsgSend`,fromAmino:({from_address:Z,to_address:X,...J})=>({...J,fromAddress:YT(Z),toAddress:YT(X)}),toAmino:({fromAddress:Z,toAddress:X,...J})=>({...J,from_address:UT(Z),to_address:UT(X)})}})}var _1;var u0=F(()=>{_1=require("@swapkit/helpers");V0()});function h0(T){return function f(L){let{assetValue:y,recipient:Z,memo:X,sender:J,asSignable:Q,asAminoMessage:x}=L;if(Z)return N1(T)({asAminoMessage:x,asSignable:Q,assetValue:y,memo:X,recipient:Z,sender:J});return k1(T)({asAminoMessage:x,asSignable:Q,assetValue:y,memo:X,sender:J})}}function $y(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=By.AssetValue.from({asset:f.asset}),y=(L.isSynthetic?L.symbol.split("/")?.[1]:L.symbol)?.toUpperCase(),Z=(L.isSynthetic?L.symbol.split("/")?.[0]:L.chain)?.toUpperCase();return{...f,asset:{chain:Z,symbol:y,synth:L.isSynthetic,ticker:L.ticker}}})}}}async function kT({chain:T,memo:f,msgs:L}){let y=await py(),Z=await ly(T),X={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:f,messages:L.map((J)=>Z.fromAmino(J))}};return y.encode(X)}var By,Q2,x2,b0=({sender:T,recipient:f,assetValue:L})=>{return{type:`${L.chain===By.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:L.getBaseValue("string"),denom:Fy(L.symbol,!0)}],from_address:T,to_address:f}}},j0=({sender:T,assetValue:f,memo:L=""})=>{return{type:`${f.chain===By.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:f.getBaseValue("string"),asset:_T(f)}],memo:L,signer:T}}},rT=({sender:T,recipient:f,assetValue:L,memo:y})=>{return!f?j0({assetValue:L,memo:y,sender:T}):b0({assetValue:L,recipient:f,sender:T})},Vy=async(T,f)=>{return(await ly(f)).fromAmino(T)},R1=async({rpcUrl:T,sender:f})=>{let y=await(await Oy(T)).getAccount(f);if(!y)throw new By.SwapKitError("toolbox_cosmos_account_not_found",{sender:f});return y},N1=(T)=>async({sender:f,recipient:L,assetValue:y,memo:Z="",asSignable:X=!0,asAminoMessage:J=!1,sequence:Q,accountNumber:x})=>{let q=await R1({rpcUrl:T,sender:f}),z=y.chain,G=b0({assetValue:y,recipient:L,sender:f}),M=X?await Vy(J?G:$y(G),z):G;return{accountNumber:x||q.accountNumber,chainId:By.ChainToChainId[z],fee:Cy(y.chain),memo:Z,msgs:[M],sequence:Q||q.sequence}},k1=(T)=>async({sender:f,assetValue:L,memo:y="",asSignable:Z=!0,asAminoMessage:X=!1,sequence:J,accountNumber:Q})=>{let x=await R1({rpcUrl:T,sender:f}),q=L.chain,z=j0({assetValue:L,memo:y,sender:f}),G=Z?await Vy(X?z:$y(z),q):z;return{accountNumber:Q||x.accountNumber,chainId:By.ChainToChainId[q],fee:Cy(L.chain),memo:y,msgs:[G],sequence:J||x.sequence}};var D1=F(()=>{By=require("@swapkit/helpers");NT();u0();Q2=Cy(By.Chain.THORChain).gas,x2=Cy(By.Chain.Maya).gas});var I1=()=>{};var C1=F(()=>{I1()});var n0=F(()=>{V0();D1();u0();C1()});async function m0(T,f){try{let y=(await o0.SwapKitApi.getGasRate()).find((Z)=>Z.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(L){return f}}async function p0({phrase:T,prefix:f,...L}){let y=await import("@cosmjs/proto-signing"),Z=y.DirectSecp256k1HdWallet??y.default?.DirectSecp256k1HdWallet,X=await import("@cosmjs/crypto"),J=X.stringToPath??X.default?.stringToPath,Q="derivationPath"in L?L.derivationPath:`${O.DerivationPath[L.chain]}/${L.index}`;return Z.fromMnemonic(T,{hdPaths:[J(Q)],prefix:f})}async function q2({privateKey:T,prefix:f}){let L=await import("@cosmjs/proto-signing");return(L.DirectSecp256k1Wallet??L.default?.DirectSecp256k1Wallet).fromKey(T,f)}function v1(T){return async function f({signature:L,message:y,address:Z}){let X=await T(Z);if(!X?.pubkey)throw new O.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let J=await import("@cosmjs/crypto"),Q=J.Secp256k1Signature??J.default?.Secp256k1Signature,x=J.Secp256k1??J.default?.Secp256k1,q=Q.fromFixedLength(Ky.base64.decode(L));return x.verifySignature(q,Ky.base64.decode(y),X.pubkey.value)}}async function IT({chain:T,...f}){let L=await O.getRPCUrl(T),y=O.CosmosChainPrefixes[T],Z="index"in f?f.index||0:0,X=O.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:O.updateDerivationPath(O.NetworkDerivationPath[T],{index:Z})),J=await DT.match(f).with({phrase:DT.P.string},({phrase:G})=>p0({derivationPath:X,phrase:G,prefix:y})).with({signer:DT.P.any},({signer:G})=>G).otherwise(()=>{return});async function Q(G){return(await Oy(L)).getAccount(G)}async function x(){let[G]=await J?.getAccounts()||[];return G?.address}async function q(){let[G]=await J?.getAccounts()||[];if(!G?.pubkey)throw new O.SwapKitError("toolbox_cosmos_signer_not_defined");return Ky.base64.encode(G?.pubkey)}async function z({recipient:G,assetValue:M,memo:W="",feeRate:B,feeOptionKey:N=O.FeeOption.Fast}){let D=await x();if(!(J&&D))throw new O.SwapKitError("toolbox_cosmos_signer_not_defined");let A=O.AssetValue.from({chain:T}),j=_T(A),r=B||W2((await w1(T,O1[T]))[N],j),g=await RT(L,J),fy=[{amount:M.getBaseValue("string"),denom:Fy(`u${M.symbol}`).toLowerCase()}],{transactionHash:s}=await g.sendTokens(D,G,fy,r,W);return s}return{createPrivateKeyFromPhrase:Y2(X),createTransaction:A0,fetchFeeRateFromSwapKit:m0,getAccount:Q,getAddress:x,getBalance:async(G,M)=>{let W=await E1(L)(G);return await Promise.all(W.filter(({denom:B})=>B&&!B.includes("IBC/")).map(({denom:B,amount:N})=>{let D=[O.Chain.THORChain,O.Chain.Maya].includes(T)&&(B.includes("/")||B.includes("˜"))?`${T}.${B}`:B;return S0(D,N)}))},getBalanceAsDenoms:E1(L),getFees:()=>w1(T,O1[T]),getPubKey:q,getSignerFromPhrase:async({phrase:G,derivationPath:M})=>p0({derivationPath:O.derivationPathToString(M),index:Z,phrase:G,prefix:y}),getSignerFromPrivateKey:async(G)=>{let M=await import("@cosmjs/proto-signing");return(M.DirectSecp256k1Wallet??M.default?.DirectSecp256k1Wallet).fromKey(G,y)},transfer:z,validateAddress:F1(y),verifySignature:v1(Q)}}async function P1(T,f){try{let y=(await o0.SwapKitApi.getGasRate()).find((Z)=>Z.chainId===T)?.value;return y?Number.parseFloat(y):f}catch(L){return f}}function G2({address:T,chain:f,prefix:L}){let y=L||B2(f);if(!(y&&T))throw new O.SwapKitError("toolbox_cosmos_validate_address_prefix_not_found");return F1(y)(T)}function M2({assetValue:{chain:T}}){return O.AssetValue.from({chain:T,value:H2(T)})}function B2(T){let{isStagenet:f}=O.SKConfig.get("envs"),L=T?[O.Chain.THORChain,O.Chain.Maya].includes(T)&&f:!1,y=T?O.CosmosChainPrefixes[T]:void 0;return L?`s${y}`:y}async function w1(T,f){let L=await m0(O.ChainToChainId[T],f);return{average:O.SwapKitNumber.fromBigInt(BigInt(L),O.BaseDecimal[T]),fast:O.SwapKitNumber.fromBigInt(BigInt(O.applyFeeMultiplier(L,O.FeeOption.Fast,!0)),O.BaseDecimal[T]),fastest:O.SwapKitNumber.fromBigInt(BigInt(O.applyFeeMultiplier(L,O.FeeOption.Fastest,!0)),O.BaseDecimal[T])}}function W2(T,f){return{amount:[{amount:T.getBaseValue("string"),denom:f}],gas:"200000"}}function H2(T){return{[O.Chain.Cosmos]:0.007,[O.Chain.Kujira]:0.02,[O.Chain.Noble]:0.01,[O.Chain.THORChain]:0.02,[O.Chain.Maya]:0.02}[T]||0}function F1(T){return function f(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 E1(T){return async function f(L){return(await(await Oy(T)).getAllBalances(L)).map((J)=>({...J,denom:J.denom.includes("/")?J.denom.toUpperCase():J.denom}))}}function Y2(T){return async function f(L){let y=await import("@cosmjs/crypto"),Z=y.stringToPath??y.default?.stringToPath,X=y.Slip10Curve??y.default?.Slip10Curve,J=y.Slip10??y.default?.Slip10,Q=y.EnglishMnemonic??y.default?.EnglishMnemonic,x=y.Bip39??y.default?.Bip39,q=new Q(L),z=await x.mnemonicToSeed(q),{privkey:G}=J.derivePath(X.Secp256k1,z,Z(T));return G}}var Ky,O,o0,DT,O1,z2;var aT=F(()=>{Ky=require("@scure/base"),O=require("@swapkit/helpers"),o0=require("@swapkit/helpers/api"),DT=require("ts-pattern");NT();O1={[O.Chain.Cosmos]:500,[O.Chain.Kujira]:1000,[O.Chain.Noble]:1000,[O.Chain.THORChain]:5000000,[O.Chain.Maya]:5000000};z2=P1});function U2({prefix:T,derivationPath:f}){return async function L(y,Z=0){let X=await import("@cosmjs/amino"),J=X.Secp256k1HdWallet??X.default?.Secp256k1HdWallet,Q=await import("@cosmjs/crypto"),x=Q.stringToPath??Q.default?.stringToPath;return J.fromMnemonic(y,{hdPaths:[x(`${f}/${Z}`)],prefix:T})}}function _2(T){return Ay.base64.encode(T)}function R2(T){return async function f({wallet:L,tx:y}){let{msgs:Z,accountNumber:X,sequence:J,chainId:Q,fee:x,memo:q}=typeof y==="string"?JSON.parse(y):y,z=(await L.getAccounts())?.[0]?.address||"",G=await ly(T),M=await py(),W=await K0(L,{aminoTypes:G,registry:M}),B=[];for(let A of Z){let j=await Vy(A,T);B.push(j)}let{signatures:[N]}=await W.sign(z,B,x,q,{accountNumber:X,chainId:Q,sequence:J});return{bodyBytes:await kT({chain:T,memo:q,msgs:Z.map($y)}),signature:_2(N)}}}function N2({prefix:T,rpcUrl:f}){return async function L(y,Z,X,J,Q){let{encodeSecp256k1Pubkey:x,pubkeyToAddress:q}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:z}=(await import("@cosmjs/stargate")).default,{sequence:G,fee:M}=JSON.parse(y),W=await l1(X,J),B=Z.map((A)=>[q(x(Ay.base64.decode(A.pubKey)),T),Ay.base64.decode(A.signature)]),N=await Oy(f),{transactionHash:D}=await N.broadcastTx(z(W,G,M,Q,new Map(B)));return D}}async function l1(T,f,L=!0){let{createMultisigThresholdPubkey:y,encodeSecp256k1Pubkey:Z}=(await import("@cosmjs/amino")).default;return y(T.map((X)=>Z(Ay.base64.decode(X))),f,L)}function k2(T){return Ay.base64.decode(T)}async function D2({privateKey:T,message:f}){let{Secp256k1:L}=(await import("@cosmjs/crypto")).default,y=await L.createSignature(Ay.base64.decode(f),T);return Ay.base64.encode(Buffer.concat([y.r(32),y.s(32)]))}async function c0({chain:T,...f}){let L=o.SKConfig.get("nodeUrls")[T],y=await o.getRPCUrl(T),{isStagenet:Z}=o.SKConfig.get("envs"),X=T===o.Chain.THORChain,J=`${Z?"s":""}${o.CosmosChainPrefixes[T]}`,Q="index"in f?f.index||0:0,x="derivationPath"in f&&f.derivationPath?f.derivationPath:o.updateDerivationPath(o.NetworkDerivationPath[T],{index:Q}),q=await IT({chain:T,...f}),z=await CT.match(f).with({phrase:CT.P.string},({phrase:B})=>q.getSignerFromPhrase({derivationPath:x,phrase:B})).with({signer:CT.P.any},({signer:B})=>B).otherwise(()=>{return}),G=Cy(T);async function M(){let B,N=`${L}/${X?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:D}}=await o.RequestClient.get(N);if(!D||Number.isNaN(D)||D<0)throw new o.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:D.toString()});B=new o.SwapKitNumber(D)}catch{B=new o.SwapKitNumber({decimal:o.BaseDecimal[T],value:X?0.02:1})}return{[o.FeeOption.Average]:B,[o.FeeOption.Fast]:B,[o.FeeOption.Fastest]:B}}async function W({assetValue:B,memo:N="",recipient:D}){let{TxRaw:A}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),j=(await z?.getAccounts())?.[0]?.address;if(!(j&&z))throw new o.SwapKitError("toolbox_cosmos_no_signer");let r="signAmino"in z,g=await py(),fy=await ly(T),s=await RT(y,z,{aminoTypes:fy,registry:g}),xy=rT({assetValue:B,memo:N,recipient:D,sender:j});if(r){let C=await Vy(xy,T),{signatures:P,authInfoBytes:w}=await s.sign(j,[C],G,N),K=A.encode({authInfoBytes:w,bodyBytes:await kT({chain:T,memo:N,msgs:[xy].map($y)}),signatures:P}).finish();return(await s.broadcastTx(K)).transactionHash}let v=$y(xy),U=await Vy(v,T);return(await s.signAndBroadcast(j,[U],G,N)).transactionHash}return{...q,broadcastMultisigTx:N2({prefix:J,rpcUrl:y}),buildAminoMsg:rT,buildEncodedTxBody:kT,convertToSignable:Vy,createDefaultAminoTypes:()=>ly(T),createDefaultRegistry:py,createMultisig:l1,createTransaction:h0(y),deposit:W,getFees:M,importSignature:k2,parseAminoMessageForDirectSigning:$y,pubkeyToAddress:async(B)=>{let{pubkeyToAddress:N}=(await import("@cosmjs/amino")).default;return N(B,J)},secp256k1HdWalletFromMnemonic:U2({derivationPath:o.derivationPathToString(x),prefix:J}),signMultisigTx:R2(T),signWithPrivateKey:D2,transfer:W}}var Ay,o,CT;var g0=F(()=>{Ay=require("@scure/base"),o=require("@swapkit/helpers"),CT=require("ts-pattern");n0();NT();aT()});var Sy,I2=(T,f)=>{switch(T){case Sy.Chain.Cosmos:case Sy.Chain.Kujira:case Sy.Chain.Noble:return IT({chain:T,...f});case Sy.Chain.Maya:case Sy.Chain.THORChain:return c0({chain:T,...f});default:throw new Sy.SwapKitError("toolbox_cosmos_not_supported",{chain:T})}};var V1=F(()=>{Sy=require("@swapkit/helpers");aT();g0();aT();g0()});var sT={};Gy(sT,{verifySignature:()=>v1,transferMsgAmino:()=>b0,toBase64:()=>X2,parseAminoMessageForDirectSigning:()=>$y,getSignerFromPrivateKey:()=>q2,getSignerFromPhrase:()=>p0,getMsgSendDenom:()=>Fy,getFeeRateFromThorswap:()=>z2,getFeeRateFromSwapKit:()=>P1,getDenomWithChain:()=>_T,getDefaultChainFee:()=>Cy,getCreateTransaction:()=>h0,getCosmosToolbox:()=>I2,getAssetFromDenom:()=>S0,fromBase64:()=>Z2,fetchFeeRateFromSwapKit:()=>m0,estimateTransactionFee:()=>M2,depositMsgAmino:()=>j0,createThorchainToolbox:()=>c0,createStargateClient:()=>Oy,createSigningStargateClient:()=>RT,createOfflineStargateClient:()=>K0,createDefaultRegistry:()=>py,createDefaultAminoTypes:()=>ly,createCosmosToolbox:()=>IT,cosmosValidateAddress:()=>G2,cosmosCreateTransaction:()=>A0,convertToSignable:()=>Vy,buildTransferTx:()=>N1,buildEncodedTxBody:()=>kT,buildDepositTx:()=>k1,buildAminoMsg:()=>rT,bech32ToBase64:()=>YT,base64ToBech32:()=>UT,YUM_KUJIRA_FACTORY_DENOM:()=>M1,USK_KUJIRA_FACTORY_DENOM:()=>$0,THORCHAIN_GAS_VALUE:()=>Q2,MAYA_GAS_VALUE:()=>x2,DEFAULT_NOBLE_FEE_MAINNET:()=>H1,DEFAULT_KUJI_FEE_MAINNET:()=>W1,DEFAULT_COSMOS_FEE_MAINNET:()=>B1});module.exports=_y(sT);var eT=F(()=>{n0();V1();NT()});function K1(){function T(){let f=Date.now(),L=d0||f;return d0=L,f>d0?f:L+1}return C2+T().toString(36)}function T0(T){return async function f(L,y=!0){return(await $1.SwapKitApi.getChainBalance({address:L,chain:T,scamFilter:y})).map(({identifier:X,value:J,decimal:Q})=>{return new y0.AssetValue({decimal:Q||y0.BaseDecimal[T],identifier:X,value:J})})}}var y0,$1,C2,d0=0;var f0=F(()=>{y0=require("@swapkit/helpers"),$1=require("@swapkit/helpers/api"),C2=typeof process!=="undefined"&&process.pid?process.pid.toString(36):""});function OT(T){let f=X0.SKConfig.get("apis")[T];if(f)return X0.warnOnce({condition:!0,id:"custom_evm_api_warning",warning:"Using custom EVM API. Be sure to implement all methods to avoid issues."}),f;return w2(T)}function O2(T){return T}function w2(T){return{getBalance:T0(T)}}var X0;var Z0=F(()=>{X0=require("@swapkit/helpers");f0()});async function oy(T,f){let{JsonRpcProvider:L}=await import("ethers");return new L(f||await n.getRPCUrl(T))}function wT(T){return T>0n?`0x${T.toString(16)}`:"0x0"}function t0(T){return()=>n.Chain.Ethereum===T?void 0:{...E2({chain:T}),blockExplorerUrls:[n.ChainToExplorerUrl[T]],chainId:n.ChainToHexChainId[T],rpcUrls:[n.SKConfig.get("rpcUrls")[T]]}}function i0(T){return![n.Chain.Arbitrum,n.Chain.BinanceSmartChain].includes(T)}function E2({chain:T}){let f=n.BaseDecimal[T];switch(T){case n.Chain.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{decimals:f,name:"Ethereum",symbol:n.Chain.Ethereum}};case n.Chain.Aurora:return{chainName:"Aurora Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:n.Chain.Ethereum}};case n.Chain.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{decimals:f,name:"Avalanche",symbol:T}};case n.Chain.Base:return{chainName:"Base Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:n.Chain.Ethereum}};case n.Chain.Berachain:return{chainName:"Berachain",nativeCurrency:{decimals:f,name:"Berachain",symbol:"BERA"}};case n.Chain.BinanceSmartChain:return{chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:f,name:"Binance Coin",symbol:"BNB"}};case n.Chain.Gnosis:return{chainName:"Gnosis",nativeCurrency:{decimals:f,name:"xDAI",symbol:"XDAI"}};case n.Chain.Optimism:return{chainName:"OP Mainnet",nativeCurrency:{decimals:f,name:"Ethereum",symbol:n.Chain.Ethereum}};case n.Chain.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{decimals:f,name:"Polygon",symbol:n.Chain.Polygon}};default:throw new n.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var n;var sy=F(()=>{n=require("@swapkit/helpers")});var A1;var S1=F(()=>{A1=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}]});function yT({chain:T=H.Chain.Ethereum,provider:f,signer:L,isEIP1559Compatible:y=!0}){return{approve:l2({chain:T,isEIP1559Compatible:y,provider:f,signer:L}),approvedAmount:j1({chain:T,provider:f}),broadcastTransaction:f.broadcastTransaction,call:y5({chain:T,isEIP1559Compatible:y,provider:f,signer:L}),createApprovalTx:A2({chain:T,provider:f,signer:L}),createContract:s0({chain:T,provider:f}),createContractTxObject:my({chain:T,provider:f}),createTransaction:r0({chain:T,provider:f,signer:L}),createTransferTx:r0({chain:T,provider:f,signer:L}),EIP1193SendTransaction:fT(f),estimateCall:h1({provider:f,signer:L}),estimateGasLimit:$2({chain:T,provider:f,signer:L}),estimateGasPrices:cy({chain:T,isEIP1559Compatible:y,provider:f}),estimateTransactionFee:S2({chain:T,isEIP1559Compatible:y,provider:f}),getAddress:()=>{return L?L.getAddress():void 0},isApproved:F2({chain:T,provider:f}),sendTransaction:n1({chain:T,isEIP1559Compatible:y,provider:f,signer:L}),signMessage:L?.signMessage,transfer:V2({chain:T,isEIP1559Compatible:y,provider:f,signer:L}),validateAddress:(Z)=>a0({address:Z})}}function a0({address:T}){try{return Ly.getAddress(T),!0}catch(f){return!1}}function TT(T){return T instanceof Ly.BrowserProvider}function vT(T,f,L){return new Ly.Contract(T,Ly.Interface.from(f),L)}function s0({provider:T}){return function f(L,y){return new Ly.Contract(L,Ly.Interface.from(y),T)}}function e0({abi:T,funcName:f}){let L=T.find((y)=>y.name===f);if(!L)throw new H.SwapKitError("toolbox_evm_no_abi_fragment",{funcName:f});return L.stateMutability&&v2.includes(L.stateMutability)}function u1(T){return Ly.getAddress(T)}function fT(T){return function f({value:L,...y}){if(!TT(T))throw new H.SwapKitError("toolbox_evm_provider_not_eip1193_compatible");return T.send("eth_sendTransaction",[{value:wT(BigInt(L||0)),...y}])}}function b1(T,f){let L=XT(T,f);if(L)return Ly.getAddress(L.toLowerCase());throw new H.SwapKitError("toolbox_evm_invalid_gas_asset_address")}function XT({chain:T,symbol:f,ticker:L},y){try{let Z=T===H.Chain.BinanceSmartChain&&f==="BNB"&&L==="BNB",X=T===y&&f===y&&L===y,J=[H.Chain.Arbitrum,H.Chain.Aurora,H.Chain.Base,H.Chain.Optimism].includes(T)&&f==="ETH"&&L==="ETH";if(X||Z||J)return P2[y];return Ly.getAddress(f.slice(L.length+1).replace(/^0X/,""))}catch(Z){return null}}function my({provider:T}){return async({contractAddress:f,abi:L,funcName:y,funcParams:Z=[],txOverrides:X})=>vT(f,L,T).getFunction(y).populateTransaction(...Z.concat(X).filter((J)=>typeof J!=="undefined"))}function cy({chain:T,provider:f,isEIP1559Compatible:L=!0}){if(T===H.Chain.Arbitrum)return async function y(){try{let{gasPrice:Z}=await f.getFeeData();if(!Z)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{gasPrice:Z},[H.FeeOption.Fast]:{gasPrice:Z},[H.FeeOption.Fastest]:{gasPrice:Z}}}catch(Z){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:Z.msg??Z.toString()})}};return async function y(){try{let{maxFeePerGas:Z,maxPriorityFeePerGas:X,gasPrice:J}=await f.getFeeData();if(L){if(Z===null||X===null)throw new H.SwapKitError("toolbox_evm_no_fee_data");return{[H.FeeOption.Average]:{maxFeePerGas:Z,maxPriorityFeePerGas:X},[H.FeeOption.Fast]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(Z,H.FeeOption.Fast),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(X,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{maxFeePerGas:H.applyFeeMultiplierToBigInt(Z,H.FeeOption.Fastest),maxPriorityFeePerGas:H.applyFeeMultiplierToBigInt(X,H.FeeOption.Fastest)}}}if(!J)throw new H.SwapKitError("toolbox_evm_no_gas_price");return{[H.FeeOption.Average]:{gasPrice:J},[H.FeeOption.Fast]:{gasPrice:H.applyFeeMultiplierToBigInt(J,H.FeeOption.Fast)},[H.FeeOption.Fastest]:{gasPrice:H.applyFeeMultiplierToBigInt(J,H.FeeOption.Fastest)}}}catch(Z){throw new H.SwapKitError("toolbox_evm_gas_estimation_error",{error:Z.msg??Z.toString()})}}}function y5({provider:T,isEIP1559Compatible:f,signer:L,chain:y}){return async function Z({callProvider:X,contractAddress:J,abi:Q,funcName:x,funcParams:q=[],txOverrides:z={},feeOption:G=H.FeeOption.Fast}){let M=X||T;if(!J)throw new H.SwapKitError("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let W=e0({abi:Q,funcName:x});if(W&&TT(M)&&L){let D=my({chain:y,provider:M}),A=z?.from||await L?.getAddress(),j=await D({abi:Q,contractAddress:J,funcName:x,funcParams:q,txOverrides:{...z,from:A}});return fT(M)(j)}let B=vT(J,Q,M);if(W){if(!L)throw new H.SwapKitError("toolbox_evm_no_signer");let D=z?.from||await L.getAddress();if(!D)throw new H.SwapKitError("toolbox_evm_no_signer_address");let A=B.connect(L),j=cy({chain:y,isEIP1559Compatible:f,provider:T}),{maxFeePerGas:r,maxPriorityFeePerGas:g,gasPrice:fy}=(await j())[G],s=await B.getFunction(x).estimateGas(...q,z),xy=await A[x](...q,{...z,gasLimit:s,gasPrice:fy,maxFeePerGas:r,maxPriorityFeePerGas:g,nonce:z?.nonce||await M.getTransactionCount(D)});return typeof xy?.hash==="string"?xy?.hash:xy}let N=await B[x]?.(...q);return typeof N?.hash==="string"?N?.hash:N}}function j1({provider:T,chain:f}){return function L({assetAddress:y,spenderAddress:Z,from:X}){return y5({chain:f,isEIP1559Compatible:!0,provider:T})({abi:ey.erc20ABI,contractAddress:y,funcName:"allowance",funcParams:[X,Z]})}}function F2({provider:T,chain:f}){return async function L({assetAddress:y,spenderAddress:Z,from:X,amount:J=ET}){let Q=await j1({chain:f,provider:T})({assetAddress:y,from:X,spenderAddress:Z});return H.SwapKitNumber.fromBigInt(Q).gte(H.SwapKitNumber.fromBigInt(BigInt(J)))}}function l2({signer:T,isEIP1559Compatible:f=!0,provider:L,chain:y}){return async function Z({assetAddress:X,spenderAddress:J,feeOptionKey:Q=H.FeeOption.Fast,amount:x,gasLimitFallback:q,from:z,nonce:G}){let M=[J,BigInt(x||ET)],W=await T?.getAddress()||z,B={abi:ey.erc20ABI,contractAddress:X,funcName:"approve",funcParams:M,signer:T,txOverrides:{from:W}};if(TT(L)){let D=my({chain:y,provider:L}),A=fT(L),j=await D(B);return A(j)}return y5({chain:y,isEIP1559Compatible:f,provider:L,signer:T})({...B,feeOption:Q,funcParams:M,txOverrides:{from:W,gasLimit:q?BigInt(q.toString()):void 0,nonce:G}})}}function V2({signer:T,isEIP1559Compatible:f=!0,provider:L}){return async function y({assetValue:Z,memo:X,recipient:J,feeOptionKey:Q=H.FeeOption.Fast,sender:x,...q}){let{hexlify:z,toUtf8Bytes:G}=await import("ethers"),M=Z.getBaseValue("bigint"),W=Z.chain,B=x||await T?.getAddress(),N=n1({chain:W,isEIP1559Compatible:f,provider:L,signer:T});if(!B)throw new H.SwapKitError("toolbox_evm_no_from_address");if(Z.isGasAsset){let fy={...q,data:z(G(X||"")),feeOptionKey:Q,from:B,to:J,value:M};return N(fy)}if(!XT(Z,W))throw new H.SwapKitError("toolbox_evm_no_contract_address");let{maxFeePerGas:A,maxPriorityFeePerGas:j,gasPrice:r}=(await cy({chain:W,isEIP1559Compatible:f,provider:L})())[Q],g=await r0({chain:W,provider:L,signer:T})({assetValue:Z,data:z(G(X||"")),gasPrice:r,maxFeePerGas:A,maxPriorityFeePerGas:j,memo:X,recipient:J,sender:B});return N(g)}}function h1({provider:T,signer:f}){return function L({contractAddress:y,abi:Z,funcName:X,funcParams:J=[],txOverrides:Q}){if(!y)throw new H.SwapKitError("toolbox_evm_no_contract_address");let x=vT(y,Z,T);return f?x.connect(f).getFunction(X).estimateGas(...J,Q):x.getFunction(X).estimateGas(...J,Q)}}function $2({provider:T,signer:f}){return async function L({assetValue:y,recipient:Z,memo:X,data:J,sender:Q,funcName:x,funcParams:q,txOverrides:z}){let G=y.bigIntValue,M=y.isGasAsset?null:XT(y,y.chain);if(M&&x)return h1({provider:T,signer:f})({abi:ey.erc20ABI,contractAddress:M,funcName:x,funcParams:q,txOverrides:z});let{hexlify:W,toUtf8Bytes:B}=await import("ethers");return T.estimateGas({data:J?J:X?W(B(X)):void 0,from:Q,to:Z,value:G})}}function n1({provider:T,signer:f,isEIP1559Compatible:L=!0,chain:y}){return async function Z({feeOptionKey:X=H.FeeOption.Fast,...J}){let{from:Q,to:x,data:q,value:z,...G}=J;if(!f)throw new H.SwapKitError("toolbox_evm_no_signer");if(!x)throw new H.SwapKitError("toolbox_evm_no_to_address");let M={...G,data:q||"0x",from:Q,to:x,value:BigInt(z||0)};if(TT(T))return fT(T)(M);let W=Q||await f.getAddress(),B=J.nonce||await T.getTransactionCount(W),N=(await T.getNetwork()).chainId,D=K2(M)||L,A=cy({chain:y,isEIP1559Compatible:L,provider:T}),j=D&&!(M.maxFeePerGas&&M.maxPriorityFeePerGas)||!M.gasPrice?Object.entries((await A())[X]).reduce((g,[fy,s])=>({...g,[fy]:wT(BigInt(s))}),{}):{},r;try{r=wT(M.gasLimit||await T.estimateGas(M)*11n/10n)}catch(g){throw new H.SwapKitError("toolbox_evm_error_estimating_gas_limit",{error:g})}try{let g={...M,chainId:N,gasLimit:r,nonce:B,type:D?2:0,...j};try{return(await f.sendTransaction(g)).hash}catch(fy){let s=await f.signTransaction({...g,from:W});return(await T.broadcastTransaction(s)).hash}}catch(g){throw new H.SwapKitError("toolbox_evm_error_sending_transaction",{error:g})}}}function r0({provider:T,signer:f}){return async function L({assetValue:y,memo:Z,recipient:X,data:J,sender:Q,maxFeePerGas:x,maxPriorityFeePerGas:q,gasPrice:z,...G}){let M=y.getBaseValue("bigint"),W=y.chain,B=Q||await f?.getAddress();if(!B)throw new H.SwapKitError("toolbox_evm_no_from_address");if(H.isGasAsset(y)){let{hexlify:A,toUtf8Bytes:j}=await import("ethers");return{...G,data:J||A(j(Z||"")),from:B,to:X,value:M}}let N=XT(y,W);if(!N)throw new H.SwapKitError("toolbox_evm_no_contract_address");return my({chain:y.chain,provider:T})({abi:ey.erc20ABI,contractAddress:N,funcName:"transfer",funcParams:[X,M],txOverrides:{from:B,gasPrice:z,maxFeePerGas:x,maxPriorityFeePerGas:q}})}}function A2({provider:T,signer:f,chain:L}){return async function y({assetAddress:Z,spenderAddress:X,amount:J,from:Q}){let x=await f?.getAddress()||Q,q=my({chain:L,provider:T}),z=["bigint","number"].includes(typeof J)?J:J||ET;return await q({abi:ey.erc20ABI,contractAddress:Z,funcName:"approve",funcParams:[X,BigInt(z)],txOverrides:{from:x}})}}function S2({provider:T,isEIP1559Compatible:f=!0}){return async function L({feeOption:y=H.FeeOption.Fast,chain:Z,...X}){let Q=await cy({chain:Z,isEIP1559Compatible:f,provider:T})(),x=await T.estimateGas(X),q=H.AssetValue.from({chain:Z}),{gasPrice:z,maxFeePerGas:G,maxPriorityFeePerGas:M}=Q[y];if(!f&&z)return q.set(H.SwapKitNumber.fromBigInt(z*x,q.decimal));if(G&&M){let W=(G+M)*x;return q.set(H.SwapKitNumber.fromBigInt(W,q.decimal))}throw new H.SwapKitError("toolbox_evm_no_gas_price")}}var H,ey,Ly,ET,v2,P2,K2=(T)=>T.type===2||!!T.maxFeePerGas||!!T.maxPriorityFeePerGas;var L0=F(()=>{H=require("@swapkit/helpers"),ey=require("@swapkit/helpers/contracts"),Ly=require("ethers");sy();ET=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");v2=["payable","nonpayable"];P2={[H.Chain.Arbitrum]:H.ContractAddress.ARB,[H.Chain.Aurora]:H.ContractAddress.AURORA,[H.Chain.Avalanche]:H.ContractAddress.AVAX,[H.Chain.Base]:H.ContractAddress.BASE,[H.Chain.Berachain]:H.ContractAddress.BERA,[H.Chain.BinanceSmartChain]:H.ContractAddress.BSC,[H.Chain.Ethereum]:H.ContractAddress.ETH,[H.Chain.Gnosis]:H.ContractAddress.GNO,[H.Chain.Optimism]:H.ContractAddress.OP,[H.Chain.Polygon]:H.ContractAddress.MATIC}});async function J0({provider:T,...f}){let L=await wy(Xy.Chain.Ethereum)({provider:T,...f});async function y(Z,X="0x5ba1e12693dc8f9c48aad8770482f4739beed696",J="aggregate",Q=Xy.FeeOption.Fast){let x=await L.createContractTxObject({abi:A1,contractAddress:X,funcName:J,funcParams:[Z]});return L.sendTransaction({...x,feeOptionKey:Q})}return{...L,multicall:y}}function wy(T){return async function f({provider:L,...y}){let Z=await Xy.getRPCUrl(T),X=L||await oy(T,Z),J=i0(T),Q=PT.match(y).with({phrase:PT.P.string},({phrase:q})=>p1.HDNodeWallet.fromPhrase(q).connect(X)).with({signer:PT.P.any},({signer:q})=>q).otherwise(()=>{return});return{...yT({chain:T,isEIP1559Compatible:J,provider:X,signer:Q}),getBalance:OT(T).getBalance,getNetworkParams:t0(T)}}}var Xy,p1,PT,Q0,x0,q0,z0,G0,M0,B0,W0;var T5=F(()=>{Xy=require("@swapkit/helpers"),p1=require("ethers"),PT=require("ts-pattern");Z0();S1();sy();L0();Q0=wy(Xy.Chain.Arbitrum),x0=wy(Xy.Chain.Aurora),q0=wy(Xy.Chain.Avalanche),z0=wy(Xy.Chain.Base),G0=wy(Xy.Chain.Berachain),M0=wy(Xy.Chain.BinanceSmartChain),B0=wy(Xy.Chain.Gnosis),W0=wy(Xy.Chain.Polygon)});var o1;var m1=F(()=>{o1=[{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 f5(T){return new H0.Contract(u2,o1,T)}function c1(T){return function f(){let L=f5(T);if(L&&"l1BaseFee"in L)return L?.l1BaseFee();return}}function g1(T){return async function f({from:L,to:y,nonce:Z,...X}){let{Transaction:J}=await import("ethers");if(!y)throw new b.SwapKitError("toolbox_evm_invalid_transaction",{error:"Missing to address"});return J.from({...X,authorizationList:X.authorizationList,nonce:Z?Z:L?await T.getTransactionCount(L):0,to:y}).serialized}}function d1(T){return async function f(L){let y=f5(T),Z=await g1(T)(L);if(y&&"getL1Fee"in y)return y.getL1Fee(Z)}}function t1(T){return async function f(L){let y=await T.send("eth_gasPrice",[]),Z=await T.estimateGas(L);return y.mul(Z)}}function b2(T){return async function f(L){let y=await d1(T)(L),Z=await t1(T)(L);return y.add(Z)}}function j2(T){return async function f(L){let y=f5(T),Z=await g1(T)(L);if(y&&"getL1GasUsed"in y)return y.getL1GasUsed(Z)}}async function n2(T){try{let{maxFeePerGas:f,maxPriorityFeePerGas:L,gasPrice:y}=await T.getFeeData(),Z=c1(T)(),X=y;if(!(f&&L))throw new b.SwapKitError("toolbox_evm_no_fee_data");return{[b.FeeOption.Average]:{gasPrice:X,l1GasPrice:Z,maxFeePerGas:f,maxPriorityFeePerGas:L},[b.FeeOption.Fast]:{gasPrice:b.applyFeeMultiplierToBigInt(X,b.FeeOption.Fast),l1GasPrice:b.applyFeeMultiplierToBigInt(Z||0n,b.FeeOption.Fast),maxFeePerGas:f,maxPriorityFeePerGas:b.applyFeeMultiplierToBigInt(L,b.FeeOption.Fast)},[b.FeeOption.Fastest]:{gasPrice:b.applyFeeMultiplierToBigInt(X,b.FeeOption.Fastest),l1GasPrice:b.applyFeeMultiplierToBigInt(Z||0n,b.FeeOption.Fastest),maxFeePerGas:f,maxPriorityFeePerGas:b.applyFeeMultiplierToBigInt(L,b.FeeOption.Fastest)}}}catch(f){throw new b.SwapKitError("toolbox_evm_gas_estimation_error",{error:f.msg??f.toString()})}}async function Y0({provider:T,...f}){let L=b.Chain.Optimism,y=await b.getRPCUrl(L),Z=T||await oy(L,y),X=FT.match(f).with({phrase:FT.P.string},({phrase:x})=>H0.HDNodeWallet.fromPhrase(x).connect(Z)).with({signer:FT.P.any},({signer:x})=>x).otherwise(()=>{return}),J=yT({provider:Z,signer:X}),Q=c1(Z);return{...J,estimateGasPrices:n2(Z),estimateL1Gas:j2(Z),estimateL1GasCost:d1(Z),estimateL2GasCost:t1(Z),estimateTotalGasCost:b2(Z),getBalance:OT(b.Chain.Optimism).getBalance,getL1GasPrice:Q,getNetworkParams:h2}}var b,H0,FT,u2="0x420000000000000000000000000000000000000f",h2=()=>({blockExplorerUrls:[b.ChainToExplorerUrl[b.Chain.Optimism]],chainId:b.ChainId.OptimismHex,chainName:"Optimism",nativeCurrency:{decimals:b.BaseDecimal.ETH,name:"Ethereum",symbol:b.Chain.Ethereum},rpcUrls:[b.SKConfig.get("rpcUrls")[b.Chain.Optimism]]});var X5=F(()=>{b=require("@swapkit/helpers"),H0=require("ethers"),FT=require("ts-pattern");Z0();m1();sy();L0()});var r1={};Gy(r1,{toChecksumAddress:()=>u1,isStateChangingCall:()=>e0,isBrowserProvider:()=>TT,getTokenAddress:()=>XT,getEvmToolbox:()=>i1,getEstimateGasPrices:()=>cy,getEIP1193SendTransaction:()=>fT,getCreateContractTxObject:()=>my,getCreateContract:()=>s0,getChecksumAddressFromAsset:()=>b1,evmValidateAddress:()=>a0,createContract:()=>vT,OPToolbox:()=>Y0,MAX_APPROVAL:()=>ET,MATICToolbox:()=>W0,GNOToolbox:()=>B0,ETHToolbox:()=>J0,BaseEVMToolbox:()=>yT,BSCToolbox:()=>M0,BERAToolbox:()=>G0,BASEToolbox:()=>z0,AVAXToolbox:()=>q0,AURORAToolbox:()=>x0,ARBToolbox:()=>Q0});async function i1(T,f){let L={...f,provider:f?.provider||await oy(T)};switch(T){case Jy.Chain.Arbitrum:return Q0(L);case Jy.Chain.Aurora:return x0(L);case Jy.Chain.Avalanche:return q0(L);case Jy.Chain.Base:return z0(L);case Jy.Chain.Berachain:return G0(L);case Jy.Chain.BinanceSmartChain:return M0(L);case Jy.Chain.Gnosis:return B0(L);case Jy.Chain.Optimism:return Y0(L);case Jy.Chain.Polygon:return W0(L);case Jy.Chain.Ethereum:return J0(L);default:throw new Jy.SwapKitError("toolbox_evm_not_supported",{chain:T})}}var Jy;var Z5=F(()=>{Jy=require("@swapkit/helpers");sy();T5();X5();L0();T5();X5()});var a1;var s1=F(()=>{((L)=>{L.Test="goerli";L.Main="homestead"})(a1||={})});var e1={};Gy(e1,{toHexString:()=>wT,toChecksumAddress:()=>u1,isStateChangingCall:()=>e0,isBrowserProvider:()=>TT,getTokenAddress:()=>XT,getProvider:()=>oy,getNetworkParams:()=>t0,getIsEIP1559Compatible:()=>i0,getEvmToolbox:()=>i1,getEvmApi:()=>OT,getEstimateGasPrices:()=>cy,getEIP1193SendTransaction:()=>fT,getCreateContractTxObject:()=>my,getCreateContract:()=>s0,getChecksumAddressFromAsset:()=>b1,evmValidateAddress:()=>a0,createCustomEvmApi:()=>O2,createContract:()=>vT,OPToolbox:()=>Y0,MAX_APPROVAL:()=>ET,MATICToolbox:()=>W0,GNOToolbox:()=>B0,EthNetwork:()=>a1,ETHToolbox:()=>J0,BaseEVMToolbox:()=>yT,BSCToolbox:()=>M0,BERAToolbox:()=>G0,BASEToolbox:()=>z0,AVAXToolbox:()=>q0,AURORAToolbox:()=>x0,ARBToolbox:()=>Q0});module.exports=_y(e1);var yf=F(()=>{Z0();sy();Z5();s1()});async function p2(T,f,L){try{let y=await T.query.system?.account?.(L);if(!y)return[f.set(0)];let{data:{free:Z}}=y,X=gy.SwapKitNumber.fromBigInt(BigInt(Z.toString()),f.decimal).getValue("string");return[f.set(X)]}catch(y){return console.error("Error fetching substrate balance:",y),[f.set(0)]}}async function o2(T,f,L){try{let y=await T.query.flip?.account?.(L);if(!y)return[f.set(0)];let Z=y.balance||y.data?.balance;if(!Z||Z.isEmpty)return[f.set(0)];let X=gy.SwapKitNumber.fromBigInt(BigInt(Z.toString()),f.decimal).getValue("string");return[f.set(X)]}catch(y){return console.error("Error fetching chainflip balance:",y),[f.set(0)]}}function Tf(T,f){return function L(y){let Z=gy.AssetValue.from({chain:T});switch(T){case gy.Chain.Chainflip:return o2(f,Z,y);default:return p2(f,Z,y)}}}var gy;var ff=F(()=>{gy=require("@swapkit/helpers")});var m2,c2,g2,uy;var L5=F(()=>{m2={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:m2,FLIP:c2,GENERIC:g2}});function d2(T,f){switch(T){case t.Chain.Chainflip:return Zf(f);case t.Chain.Polkadot:return Xf(f);default:throw new t.SwapKitError("toolbox_substrate_not_supported",{chain:T})}}function ZT(T){return"address"in T}async function Q5(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 y8(T,f){let L=JT.decodeAddress(T);return JT.encodeAddress(L,f)}function Lf(T,f){return LT.isHex(T)?LT.hexToU8a(T):JT.decodeAddress(T,void 0,f)}function Jf(T,f="ss58",L){if(f==="hex")return LT.u8aToHex(T);return JT.encodeAddress(T,L)}async function z5({generic:T,chain:f,...L}){let{ApiPromise:y,WsProvider:Z}=await import("@polkadot/api"),X=await t.getRPCUrl(f),J=new Z(X),Q=await y.create({provider:J}),x=t.AssetValue.from({chain:f}),q=T?uy.GENERIC:uy[f],z=await lT.match(L).with({phrase:lT.P.string},({phrase:G})=>Q5(G,uy[f].prefix)).with({signer:lT.P.any},({signer:G})=>G).otherwise(()=>{return});return Qf({api:Q,chain:f,gasAsset:x,network:q,signer:z})}var LT,JT,t,lT,Xf=({generic:T=!1,...f}={})=>{return z5({chain:t.Chain.Polkadot,generic:T,...f})},Zf=async({generic:T=!1,...f}={})=>{return{...await z5({chain:t.Chain.Chainflip,generic:T,...f})}},x5=(T,f)=>T.rpc.system.accountNextIndex(f),J5=(T,f)=>{try{let L=Lf(T,f);return Jf(L,"ss58",f),!0}catch(L){return!1}},q5=(T,{recipient:f,assetValue:L})=>T.tx.balances?.transferAllowDeath?.(f,L.getBaseValue("number")),t2=async(T,f,{recipient:L,assetValue:y,sender:Z})=>{let X=q5(T,{assetValue:y,recipient:L}),J=ZT(f);if(!X)return;let Q=J?f.address:Z;if(!Q)throw new t.SwapKitError("core_transaction_invalid_sender_address");let x=await x5(T,Q);return(await X.signAndSend(J?f:Q,{nonce:x,signer:J?void 0:f}))?.toString()},i2=async(T,f,L,{recipient:y,assetValue:Z,sender:X})=>{let J=q5(T,{assetValue:Z,recipient:y}),Q=ZT(f)?f.address:X;if(!Q)return;let x=await J?.paymentInfo(Q,{nonce:await x5(T,Q)})||{partialFee:0};return L.set(t.SwapKitNumber.fromBigInt(BigInt(x.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:Z})=>{let X=await x5(Z,f);if(y)L.signAndSend(f,{nonce:X,signer:T},y);return L.signAndSend(f,{nonce:X,signer:T}).toString()},Qf=({api:T,network:f,gasAsset:L,signer:y,chain:Z})=>({api:T,broadcast:r2,convertAddress:y8,createKeyring:(X)=>Q5(X,f.prefix),createTransaction:(X)=>q5(T,X),decodeAddress:Lf,encodeAddress:Jf,estimateTransactionFee:(X)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return i2(T,y,L,X)},gasAsset:L,getAddress:(X)=>{let J=X||y;if(!J)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return ZT(J)?J.address:void 0},getBalance:Tf(Z||t.Chain.Polkadot,T),network:f,sign:(X)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");if(ZT(y))return a2(y,X);throw new t.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},signAndBroadcast:({tx:X,callback:J,address:Q})=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");if(ZT(y))return s2(y,X,J);if(Q)return e2({address:Q,api:T,callback:J,signer:y,tx:X});throw new t.SwapKitError("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},transfer:(X)=>{if(!y)throw new t.SwapKitError("core_wallet_not_keypair_wallet");return t2(T,y,X)},validateAddress:(X)=>J5(X,f.prefix)}),T8=({address:T,chain:f})=>{let{prefix:L}=f===t.Chain.Polkadot?uy.DOT:uy.FLIP;return J5(T,L)||J5(T,uy.GENERIC.prefix)};var xf=F(()=>{LT=require("@polkadot/util"),JT=require("@polkadot/util-crypto"),t=require("@swapkit/helpers"),lT=require("ts-pattern");ff();L5()});var G5={};Gy(G5,{substrateValidateAddress:()=>T8,isKeyringPair:()=>ZT,getSubstrateToolbox:()=>d2,createSubstrateToolbox:()=>z5,createKeyring:()=>Q5,SubstrateNetwork:()=>uy,PolkadotToolbox:()=>Xf,ChainflipToolbox:()=>Zf,BaseSubstrateToolbox:()=>Qf});module.exports=_y(G5);var M5=F(()=>{xf();L5()});async function f8({chain:T,txHash:f}){let L=`${U0(T)}/push/transaction`,y=JSON.stringify({data:f});try{let Z=await u.RequestClient.post(L,{body:y,headers:{"Content-Type":"application/json"}});if(Z.context.code!==200)throw new u.SwapKitError("toolbox_utxo_broadcast_failed",{error:Z.context.error||"Transaction broadcast failed"});return Z.data?.transaction_hash||f}catch(Z){let X=await u.getRPCUrl(T);if(X){let J=JSON.stringify({id:K1(),jsonrpc:"2.0",method:"sendrawtransaction",params:[f]}),Q=await u.RequestClient.post(X,{body:J,headers:{"Content-Type":"application/json"}});if(Q.error)throw new u.SwapKitError("toolbox_utxo_broadcast_failed",{error:Q.error?.message});if(Q.result.includes('"code":-26'))throw new u.SwapKitError("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return Q.result}throw Z}}function U0(T){return`https://api.blockchair.com/${X8(T)}`}function qf(T){switch(T){case u.Chain.Bitcoin:return 5;case u.Chain.Dogecoin:return 1e4;case u.Chain.Litecoin:return 1;case u.Chain.Zcash:return 1;default:return 2}}function X8(T){switch(T){case u.Chain.BitcoinCash:return"bitcoin-cash";case u.Chain.Litecoin:return"litecoin";case u.Chain.Dash:return"dash";case u.Chain.Dogecoin:return"dogecoin";case u.Chain.Zcash:return"zcash";case u.Chain.Polkadot:return"polkadot";default:return"bitcoin"}}async function Z8(T){try{let{feePerKb:f}=await u.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 B5(T,f){let L=await u.RequestClient.get(`${T}${f?`${T.includes("?")?"&":"?"}key=${f}`:""}`);if(!L||L.context.code!==200)throw new u.SwapKitError("toolbox_utxo_api_error",{error:`Failed to query ${T}`});return L.data}async function Bf({address:T,chain:f,apiKey:L}){if(!T)throw new u.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await B5(`${U0(f)}/dashboards/address/${T}?transaction_details=true`,L))[T]}catch(y){return{address:{balance:0,transaction_count:0},utxo:[]}}}async function L8({address:T,chain:f,apiKey:L}){return(await Bf({address:T,apiKey:L,chain:f}))?.address.balance||0}async function Wf({chain:T,apiKey:f,txHash:L}){if(!L)throw new u.SwapKitError("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await B5(`${U0(T)}/raw/transaction/${L}`,f))?.[L]?.raw_transaction||""}catch(y){return console.error("Failed to fetch raw transaction:",y),""}}async function J8({chain:T,address:f,apiKey:L,offset:y=0,limit:Z=30}){return(await B5(`${U0(T)}/outputs?q=recipient(${f}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${Z}&offset=${y}`,L)).map(({is_spent:x,script_hex:q,block_id:z,transaction_hash:G,index:M,value:W,spending_signature_hex:B})=>({hash:G,index:M,is_confirmed:z!==-1,is_spent:x,script_hex:q,txHex:B,value:W}))}function Q8(T){return T.reduce((f,L)=>f+L.value,0)}function zf(T,f){let L=[...T].sort((y,Z)=>Z.value-y.value);if(f){let y=[],Z=0;for(let X of L)if(y.push(X),Z+=X.value,Z>=f)break;return y}return L}async function Hf({chain:T,address:f,apiKey:L,targetValue:y,accumulativeValue:Z=0,offset:X=0,limit:J=30}){if(!f)throw new u.SwapKitError("toolbox_utxo_invalid_params",{error:"Address is required"});try{let Q=await J8({address:f,apiKey:L,chain:T,limit:J,offset:X,targetValue:y}),q=Q.length<J,z=Q.filter(({is_spent:D})=>!D),G=Q8(z),M=Z+G,W=y&&M>=y;if(q||W)return zf(z,y);let B=await Hf({accumulativeValue:M,address:f,apiKey:L,chain:T,limit:J,offset:X+J,targetValue:y}),N=[...z,...B];return zf(N,y)}catch(Q){return console.error("Failed to fetch unspent UTXOs:",Q),[]}}async function x8({address:T,chain:f,apiKey:L,fetchTxHex:y=!0,targetValue:Z}){let X=await Hf({address:T,apiKey:L,chain:f,targetValue:Z}),J=[];for(let{hash:Q,index:x,script_hex:q,value:z}of X){let G;if(y)G=await Wf({apiKey:L,chain:f,txHash:Q});J.push({address:T,hash:Q,index:x,txHex:G,value:z,witnessUtxo:{script:Buffer.from(q,"hex"),value:z}})}return J}function q8(T){let f=u.SKConfig.get("apiKeys").blockchair||"";return u.warnOnce({condition:!f,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(L)=>f8({chain:T,txHash:L}),getAddressData:(L)=>Bf({address:L,apiKey:f,chain:T}),getBalance:(L)=>L8({address:L,apiKey:f,chain:T}),getRawTx:(L)=>Wf({apiKey:f,chain:T,txHash:L}),getSuggestedTxFee:()=>Z8(T),getUtxos:(L)=>x8({...L,apiKey:f,chain:T})}}function z8(T){return T}function Qy(T){let f=u.SKConfig.get("apis")[T];if(f)return u.warnOnce({condition:!0,id:"custom_utxo_api_warning",warning:"Using custom UTXO API. Be sure to implement all methods to avoid issues."}),f;return q8(T)}function Ry(){return function T(f){switch(f){case u.Chain.Bitcoin:return Mf.networks.bitcoin;case u.Chain.BitcoinCash:return QT.default.bitcoincash.main.toBitcoinJS();case u.Chain.Dash:return QT.default.dash.main.toBitcoinJS();case u.Chain.Litecoin:return QT.default.litecoin.main.toBitcoinJS();case u.Chain.Dogecoin:{let L={private:70615956,public:70617039},y=QT.default.dogecoin.test;return y.versions.bip32=L,QT.default.dogecoin.main.toBitcoinJS()}case u.Chain.Zcash:return Gf.networks.zcash;default:throw new u.SwapKitError("toolbox_utxo_not_supported",{chain:f})}}}var Gf,u,Mf,QT;var Yf=F(()=>{Gf=require("@bitgo/utxo-lib"),u=require("@swapkit/helpers"),Mf=require("bitcoinjs-lib"),QT=Y(require("coininfo"));f0()});function _5(T){try{return _0(T),!0}catch(f){return!1}}function R5(T){return _0(T)?.network}function xT(T){let f=_0(T);if(f?.format==="legacy")return T;return B8(f)}function VT(T){let f=_0(T);return W8(f)}function _0(T){try{let f=G8(T);if(f)return f}catch(f){}try{let f=M8(T);if(f)return f}catch(f){}throw new W5.SwapKitError("toolbox_utxo_invalid_address",{address:T})}function G8(T){try{let f=H5.default.decode(T);if(f.length!==21)throw new W5.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 M8(T){if(T.indexOf(":")!==-1)try{return Uf(T)}catch(f){}else{let f=["bitcoincash","bchtest","bchreg"];for(let L of f)try{return Uf(`${L}:${T}`)}catch(y){}}return}function Uf(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 B8(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),H5.default.encode(L)}function W8(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 W5,H5,Y5,U5,c;var _f=F(()=>{W5=require("@swapkit/helpers"),H5=Y(require("bs58check")),Y5=Y(require("cashaddrjs"));((L)=>{L.Mainnet="mainnet";L.Testnet="testnet"})(U5||={});c={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});function Ny(T){let f=Buffer.from(T,"utf8");return N0.script.compile([N0.opcodes.OP_RETURN,f])}var Rf,N0,H8=1000,k0=10,Nf=10,Y8=41,U8=107,D0,R0,$T,KT=(T)=>{if(T.startsWith("bc1")||T.startsWith("tb1")||T.startsWith("ltc1")||T.startsWith("tltc1"))return"P2WPKH";if(T.startsWith("1")||T.startsWith("m")||T.startsWith("n")||T.startsWith("bitcoincash:q")||T.startsWith("bitcoincash:p")||T.startsWith("q")||T.startsWith("p")||T.startsWith("L")||T.startsWith("M")||T.startsWith("3")||T.startsWith("D")||T.startsWith("A")||T.startsWith("9")||T.startsWith("X")||T.startsWith("7")||T.startsWith("y")||T.startsWith("t1")||T.startsWith("t3")||T.startsWith("tm"))return"P2PKH";throw new Rf.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?KT(T[0].address):"P2PKH",Z=T.filter((J)=>J.value>=R0["type"in J?J.type:"P2PKH"]*Math.ceil(L)).reduce((J,Q)=>J+by(Q),0),X=f?.reduce((J,Q)=>J+AT(Q),0)||$T[y];return k0+Z+X},by=(T)=>{if("type"in T)return R0[T.type];if("address"in T&&T.address)return R0[KT(T.address)];return Y8+U8},AT=(T,f)=>{if(T?.script)return Nf+T.script.length+(T.script.length>=74?2:1);if(f)return $T[f];return $T.P2PKH};var N5=F(()=>{Rf=require("@swapkit/helpers"),N0=require("bitcoinjs-lib");((L)=>{L.P2PKH="P2PKH";L.P2WPKH="P2WPKH"})(D0||={});R0={["P2PKH"]:148,["P2WPKH"]:68},$T={["P2PKH"]:34,["P2WPKH"]:31}});function I0(T){switch(T){case ky.Chain.Bitcoin:case ky.Chain.BitcoinCash:return 550;case ky.Chain.Dash:case ky.Chain.Litecoin:return 5500;case ky.Chain.Dogecoin:return 1e5;case ky.Chain.Zcash:return 546;default:throw new ky.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}function Dy({inputs:T,outputs:f,feeRate:L=1,chain:y=ky.Chain.Bitcoin,changeAddress:Z=""}){let X=Math.ceil(L),J=T[0]&&"address"in T[0]&&T[0].address?KT(T[0].address):"P2PKH",Q=T.filter((W)=>by(W)*X<=W.value),x=k0+f.reduce((W,B)=>W+AT(B,J),0),q=f.reduce((W,B)=>W+B.value,0),z=x*X,G=0,M=[];for(let W of Q){let B=by(W),N=X*B;z+=N,G+=W.value,M.push(W);let D=z+q;if(G<D)continue;let A=G-D,j=X*AT({address:"",value:0},J);if(A>j){let r=j+z,g=G-(q+r);if(g>Math.max(by({})*X,I0(y)))return{fee:r,inputs:M,outputs:f.concat({address:Z,value:g})}}return{fee:z,inputs:M,outputs:f}}return{fee:X*qT({feeRate:X,inputs:T,outputs:f})}}var ky;var kf=F(()=>{ky=require("@swapkit/helpers");N5()});var zT=F(()=>{Yf();_f();kf();N5()});function dy(T){return T.replace(/(bchtest:|bitcoincash:)/,"")}function jy(T){let f=dy(T);return _5(f)&&R5(f)==="mainnet"}function GT(T){try{if(T.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let f=C0.networks.zcash;try{return C0.address.toOutputScript(T,f),!0}catch{let L=Df.default.decode(T);if(L.length<21)return!1;let y=L[0];return y===f.pubKeyHash||y===f.scriptHash}}catch{return!1}}var C0,Df;var ST=F(()=>{C0=require("@bitgo/utxo-lib"),Df=Y(require("bs58check"));zT()});function Of({inputs:T,outputs:f,chain:L,psbt:y,sender:Z,compiledMemo:X}){for(let J of T){let Q=!!J.witnessUtxo&&!uT.includes(L)&&{witnessUtxo:J.witnessUtxo},x=uT.includes(L)&&{nonWitnessUtxo:J.txHex?Buffer.from(J.txHex,"hex"):void 0};y.addInput({hash:J.hash,index:J.index,...Q,...x})}for(let J of f){let Q="address"in J&&J.address?J.address:Z,x=J.script;if(x&&!X)continue;let q=x?{script:X,value:0}:{address:Q,value:J.value};Iy.initEccLib(O0.default),y.addOutput(q)}return{inputs:T,psbt:y}}async function wf({assetValue:T,recipient:f,memo:L,feeRate:y,sender:Z,fetchTxHex:X=!1}){let J=T.chain,Q=L?await Ny(L):null,x=await Pf({assetValue:T,fetchTxHex:X,memo:L,recipient:f,sender:Z}),{inputs:q,outputs:z}=Dy({...x,chain:J,feeRate:y});if(!(q&&z))throw new V.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:Z});let G=await Ry(),M=new Iy.Psbt({network:G(J)});if(J===V.Chain.Dogecoin)M.setMaximumFeeRate(650000000);let{psbt:W,inputs:B}=await Of({chain:J,compiledMemo:Q,inputs:q,outputs:z,psbt:M,sender:Z});return{inputs:B,psbt:W,utxos:x.inputs}}async function Ef(){let T=await Ry();return function f({address:L,chain:y}){if(y===V.Chain.BitcoinCash)return jy(L);if(y===V.Chain.Zcash)return GT(L);try{return Iy.initEccLib(O0.default),Iy.address.toOutputScript(L,T(y)),!0}catch(Z){return!1}}}async function _8({chain:T,phrase:f,derivationPath:L}){let y=(await bT(T))({derivationPath:L,phrase:f});async function Z(J){return await J.signAllInputs(y),J}async function X(){return(await D5(T))(y)}return{getAddress:X,signTransaction:Z}}async function ty({chain:T,...f}){let L="phrase"in f?f.phrase:void 0,y="index"in f?f.index||0:0,Z=V.derivationPathToString("derivationPath"in f&&f.derivationPath?f.derivationPath:V.updateDerivationPath(V.NetworkDerivationPath[T],{index:y})),X=L?await _8({chain:T,derivationPath:Z,phrase:L}):("signer"in f)?f.signer:void 0;function J(){return Promise.resolve(X?.getAddress())}let Q=await D5(T),x=await Ef(),q=await bT(T);return{accumulative:Dy,broadcastTx:(z)=>Qy(T).broadcastTx(z),calculateTxSize:qT,createKeysForPath:q,createTransaction:wf,estimateMaxSendableAmount:R8(T),estimateTransactionFee:N8(T),getAddress:J,getAddressFromKeys:Q,getBalance:T0(T),getFeeRates:()=>jT(T),getInputsOutputsFee:vf,getPrivateKeyFromMnemonic:(z)=>{return q(z).toWIF()},transfer:k8(X),validateAddress:(z)=>x({address:z,chain:T})}}async function vf({assetValue:T,feeOptionKey:f=V.FeeOption.Fast,feeRate:L,memo:y,sender:Z,recipient:X}){let J=T.chain,Q=await Pf({assetValue:T,memo:y,recipient:X,sender:Z}),x=L?Math.floor(L):(await jT(J))[f];return Dy({...Q,chain:J,feeRate:x})}function R8(T){return async function f({from:L,memo:y,feeRate:Z,feeOptionKey:X=V.FeeOption.Fast,recipients:J=1}){let Q=await Qy(T).getAddressData(L),x=Z?Math.ceil(Z):(await jT(T))[X],q=Q?.utxo.map((B)=>({...B,hash:"",type:"P2PKH"})).filter((B)=>B.value>Math.max(I0(T),by(B)*x));if(!q?.length)return V.AssetValue.from({chain:T});let z=V.AssetValue.from({chain:T,value:q.reduce((B,N)=>B+N.value,0)}),G=typeof J==="number"?Array.from({length:J},()=>({address:L,value:0})):J;if(y){let B=await Ny(y);G.push({address:L,script:B,value:0})}let W=qT({feeRate:x,inputs:q,outputs:G})*x;return z.sub(W)}}function N8(T){return async(f)=>{let L=await vf(f);return V.AssetValue.from({chain:T,value:V.SwapKitNumber.fromBigInt(BigInt(L.fee),8).getValue("string")})}}async function bT(T){let f=await Ry();switch(T){case V.Chain.BitcoinCash:return function L({phrase:y,derivationPath:Z=`${V.DerivationPath.BCH}/0`,wif:X}){let J=f(T);if(X)return w0.ECPair.fromWIF(X,J);if(!y)throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"No phrase provided"});return w0.HDNode.fromSeedBuffer(Buffer.from(k5.mnemonicToSeedSync(y)),J).derivePath(Z).keyPair};case V.Chain.Bitcoin:case V.Chain.Dogecoin:case V.Chain.Litecoin:case V.Chain.Zcash:case V.Chain.Dash:return function L({phrase:y,wif:Z,derivationPath:X}){if(!(Z||y))throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let J=Cf.ECPairFactory(O0.default),Q=f(T);if(Z)return J.fromWIF(Z,Q);let x=k5.mnemonicToSeedSync(y),q=If.HDKey.fromMasterSeed(x,Q).derive(X);if(!q.privateKey)throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return J.fromPrivateKey(Buffer.from(q.privateKey),{network:Q})};default:throw new V.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}async function D5(T){let f=await Ry();return function L(y){if(!y)throw new V.SwapKitError("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let Z=uT.includes(T)?Iy.payments.p2pkh:Iy.payments.p2wpkh,{address:X}=Z({network:f(T),pubkey:y.publicKey});if(!X)throw new V.SwapKitError("toolbox_utxo_invalid_address",{error:"Address not defined"});return X}}function k8(T){return async function f({memo:L,recipient:y,feeOptionKey:Z,feeRate:X,assetValue:J}){let Q=await T?.getAddress(),x=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 q=X||(await jT(x))[Z||V.FeeOption.Fast],{psbt:z}=await wf({assetValue:J,feeRate:q,memo:L,recipient:y,sender:Q}),G=await T.signTransaction(z);return G.finalizeAllInputs(),Qy(x).broadcastTx(G.extractTransaction().toHex())}}async function jT(T){let f=await Qy(T).getSuggestedTxFee();return{[V.FeeOption.Average]:f,[V.FeeOption.Fast]:V.applyFeeMultiplier(f,V.FeeOption.Fast),[V.FeeOption.Fastest]:V.applyFeeMultiplier(f,V.FeeOption.Fastest)}}async function Pf({assetValue:T,recipient:f,memo:L,sender:y,fetchTxHex:Z=!1}){let X=T.chain,J=(await jT(X))[V.FeeOption.Fastest],Q=Z||uT.includes(X),x=T.getBaseValue("number"),q=Math.ceil(x+J*5000);return{inputs:await Qy(X).getUtxos({address:y,fetchTxHex:Q,targetValue:q}),outputs:[{address:f,value:x},...L?[{address:"",script:await Ny(L),value:0}]:[]]}}var O0,w0,If,k5,V,Iy,Cf,uT;var hT=F(()=>{O0=Y(require("@bitcoinerlab/secp256k1")),w0=require("@psf/bitcoincashjs-lib"),If=require("@scure/bip32"),k5=require("@scure/bip39"),V=require("@swapkit/helpers"),Iy=require("bitcoinjs-lib"),Cf=require("ecpair");f0();zT();ST();uT=[V.Chain.Dash,V.Chain.Dogecoin]});function iy(T){return dy(VT(T))}function D8(T){function f({builder:y,utxos:Z}){return Z.forEach((X,J)=>{y.sign(J,T,void 0,65,X.witnessUtxo?.value)}),y.build()}return{getAddress:()=>{let y=T.getAddress(0);return Promise.resolve(iy(y))},signTransaction:f}}async function I5(T){let f="phrase"in T?T.phrase:void 0,L="index"in T?T.index||0:0,y=yy.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:yy.updateDerivationPath(yy.NetworkDerivationPath[Yy],{index:L})),Z=f?(await bT(Yy))({derivationPath:y,phrase:f}):void 0,X=Z?D8(Z):("signer"in T)?T.signer:void 0;function J(){return Promise.resolve(X?.getAddress())}let{getBalance:Q,getFeeRates:x,broadcastTx:q,...z}=await ty({chain:Yy});function G(M,W=!0){return Q(dy(VT(M)))}return{...z,broadcastTx:q,buildTx:C8,createTransaction:lf,getAddress:J,getAddressFromKeys:O8,getBalance:G,getFeeRates:x,stripPrefix:dy,stripToCashAddress:iy,transfer:I8({broadcastTx:q,getFeeRates:x,signer:X}),validateAddress:jy}}async function lf({assetValue:T,recipient:f,memo:L,feeRate:y,sender:Z}){if(!jy(f))throw new yy.SwapKitError("toolbox_utxo_invalid_address",{address:f});let X=Math.ceil(T.getBaseValue("number")+y*7500),J=await Qy(Yy).getUtxos({address:iy(Z),fetchTxHex:!0,targetValue:X}),Q=L?await Ny(L):null,x=[];x.push({address:f,value:T.getBaseValue("number")});let{inputs:q,outputs:z}=Dy({chain:Yy,feeRate:y,inputs:J,outputs:x});if(!(q&&z))throw new yy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:Z});let G=await Ry(),M=new MT.TransactionBuilder(G(Yy));await Promise.all(q.map(async(W)=>{let B=await Qy(Yy).getRawTx(W.hash);M.addInput(MT.Transaction.fromBuffer(Buffer.from(B,"hex")),W.index)}));for(let W of z){let B="address"in W&&W.address?W.address:xT(Z),N=await Ry(),D=MT.address.toOutputScript(xT(B),N(Yy));M.addOutput(D,W.value)}if(Q)M.addOutput(Q,0);return{builder:M,utxos:q}}function I8({broadcastTx:T,getFeeRates:f,signer:L}){return async function y({recipient:Z,assetValue:X,feeOptionKey:J=yy.FeeOption.Fast,...Q}){let x=await L?.getAddress();if(!(L&&x))throw new yy.SwapKitError("toolbox_utxo_no_signer");if(!Z)throw new yy.SwapKitError("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let q=Q.feeRate||(await f())[J],{builder:z,utxos:G}=await lf({...Q,assetValue:X,feeRate:q,recipient:Z,sender:x}),W=(await L.signTransaction({builder:z,utxos:G})).toHex();return T(W)}}async function C8({assetValue:T,recipient:f,memo:L,feeRate:y,sender:Z,setSigHashType:X}){let J=VT(f);if(!jy(J))throw new yy.SwapKitError("toolbox_utxo_invalid_address",{address:J});let Q=Math.ceil(T.getBaseValue("number")+y*7500),x=await Qy(Yy).getUtxos({address:iy(Z),fetchTxHex:!1,targetValue:Q}),q=Number(y.toFixed(0)),z=L?await Ny(L):null,G=[];if(G.push({address:xT(f),value:T.getBaseValue("number")}),z)G.push({script:z,value:0});let{inputs:M,outputs:W}=Dy({chain:Yy,feeRate:q,inputs:x,outputs:G});if(!(M&&W))throw new yy.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:T,sender:Z});let B=await Ry(),N=new Ff.Psbt({network:B(Yy)});for(let{hash:D,index:A,witnessUtxo:j}of M)N.addInput({hash:D,index:A,sighashType:X?65:void 0,witnessUtxo:j});for(let D of W){let A="address"in D&&D.address?D.address:xT(Z),j=D.script?z?{script:z,value:0}:void 0:{address:A,value:D.value};if(j)N.addOutput(j)}return{inputs:M,psbt:N,utxos:x}}function O8(T){let f=T.getAddress(0);return iy(f)}var MT,yy,Ff,Yy;var E0=F(()=>{MT=require("@psf/bitcoincashjs-lib"),yy=require("@swapkit/helpers"),Ff=require("bitcoinjs-lib");zT();hT();ST();Yy=yy.Chain.BitcoinCash});function Kf(){return Uy.networks.zcash}function Af(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
2
+ `,pubKeyHash:28,scriptHash:28,wif:128}}function w8({phrase:T,derivationPath:f}){let L=O5.mnemonicToSeedSync(T),Z=C5.HDKey.fromMasterSeed(L).derive(f);if(!Z.privateKey)throw new a.SwapKitError("toolbox_utxo_invalid_params");let X=Af(),J=Uy.ECPair.fromPrivateKey(Buffer.from(Z.privateKey),{network:X}),Q=Uy.crypto.hash160(J.publicKey),{isStagenet:x}=a.SKConfig.get("envs"),q=x?Buffer.from([29,37]):Buffer.from([28,184]),z=Buffer.concat([q,Q]),G=$f.default.encode(z);return{getAddress:()=>Promise.resolve(G),signTransaction:(M)=>{let W=M.signAllInputs(J);return Promise.resolve(W)}}}function E8({inputs:T,outputs:f,psbt:L,sender:y,compiledMemo:Z}){for(let X of T){let J=!!X.witnessUtxo&&{witnessUtxo:{...X.witnessUtxo,value:BigInt(X.value)}},Q=!X.witnessUtxo&&{nonWitnessUtxo:X.txHex?Buffer.from(X.txHex,"hex"):void 0};L.addInput({hash:X.hash,index:X.index,...J,...Q})}for(let X of f){let J="address"in X&&X.address?X.address:y,Q=X.script;if(Q&&!Z)continue;let x=Q?{script:Z,value:0n}:{script:Uy.address.toOutputScript(J,Kf()),value:BigInt(X.value)};L.addOutput(x)}return{inputs:T,psbt:L}}async function Vf(T){let{assetValue:f,recipient:L,memo:y,feeRate:Z,sender:X,fetchTxHex:J}=T,Q=y?Ny(y):null,x=await Qy(a.Chain.Zcash).getUtxos({address:X,fetchTxHex:J!==!1}),q=[{address:L,value:Number(f.getBaseValue("string"))},...Q?[{script:Q,value:0}]:[]],{inputs:z,outputs:G}=Dy({chain:a.Chain.Zcash,changeAddress:X,feeRate:Z,inputs:x,outputs:q});if(!(z&&G))throw new a.SwapKitError("toolbox_utxo_insufficient_balance",{assetValue:f,sender:X});let M=Uy.bitgo.createPsbtForNetwork({network:Kf()},{version:455});M.setVersion(4,!0);let W=Buffer.concat([Buffer.of(252),Buffer.of(5),Buffer.from("BITGO"),Buffer.of(0)]),B=3370586197,N=Buffer.allocUnsafe(4);N.writeUInt32LE(B>>>0,0),M.addUnknownKeyValToGlobal({key:W,value:N});let{psbt:D,inputs:A}=await E8({compiledMemo:Q,inputs:z,outputs:G,psbt:M,sender:X});return{inputs:A,outputs:G,psbt:D}}async function w5(T){let f=await BT.match(T).with({signer:BT.P.not(BT.P.nullish)},({signer:J})=>Promise.resolve(J)).with({phrase:BT.P.string},({phrase:J,derivationPath:Q,index:x=0})=>{let q=Q||a.NetworkDerivationPath[a.Chain.Zcash]||[44,133,0,0,0],z=a.updateDerivationPath(q,{index:x}),G=a.derivationPathToString(z);return w8({derivationPath:G,phrase:J})}).otherwise(()=>Promise.resolve(void 0)),L=await ty({chain:a.Chain.Zcash,signer:f});async function y({recipient:J,assetValue:Q,feeOptionKey:x=a.FeeOption.Fast,...q}){let z=await f?.getAddress();if(!(f&&z))throw new a.SwapKitError("toolbox_utxo_no_signer");let G=q.feeRate||(await L.getFeeRates())[x],{psbt:M}=await Vf({...q,assetValue:Q,feeRate:G,recipient:J,sender:z}),W=await f.signTransaction(M);return W.finalizeAllInputs(),L.broadcastTx(W.extractTransaction().toHex())}function Z({phrase:J,derivationPath:Q="m/44'/133'/0'/0/0"}){let x=O5.mnemonicToSeedSync(J),z=C5.HDKey.fromMasterSeed(x).derive(Q);if(!z.privateKey)throw new a.SwapKitError("toolbox_utxo_invalid_params");let G=Af();return Uy.ECPair.fromPrivateKey(Buffer.from(z.privateKey),{network:G})}function X({phrase:J,derivationPath:Q="m/44'/133'/0'/0/0"}){return Z({derivationPath:Q,phrase:J}).toWIF()}return{...L,createKeysForPath:Z,createTransaction:Vf,getPrivateKeyFromMnemonic:X,transfer:y,validateAddress:GT}}var Uy,C5,O5,a,$f,BT;var E5=F(()=>{Uy=require("@bitgo/utxo-lib"),C5=require("@scure/bip32"),O5=require("@scure/bip39"),a=require("@swapkit/helpers"),$f=Y(require("bs58check")),BT=require("ts-pattern");zT();hT();ST()});async function v8(T,f){switch(T){case Ey.Chain.BitcoinCash:return await I5(f||{});case Ey.Chain.Zcash:return await w5(f);case Ey.Chain.Bitcoin:case Ey.Chain.Dogecoin:case Ey.Chain.Litecoin:case Ey.Chain.Dash:return await ty({chain:T,...f});default:throw new Ey.SwapKitError("toolbox_utxo_not_supported",{chain:T})}}var Ey;var Sf=F(()=>{Ey=require("@swapkit/helpers");E0();hT();E5();E0();ST()});var v5={};Gy(v5,{validateZcashAddress:()=>GT,toLegacyAddress:()=>xT,toCashAddress:()=>VT,stripToCashAddress:()=>iy,stripPrefix:()=>dy,nonSegwitChains:()=>uT,isValidAddress:()=>_5,getUtxoToolbox:()=>v8,getUtxoNetwork:()=>Ry,getUtxoApi:()=>Qy,getUTXOAddressValidator:()=>Ef,getScriptTypeForAddress:()=>KT,getOutputSize:()=>AT,getInputSize:()=>by,getDustThreshold:()=>I0,getCreateKeysForPath:()=>bT,detectAddressNetwork:()=>R5,createZcashToolbox:()=>w5,createUTXOToolbox:()=>ty,createCustomUtxoApi:()=>z8,createBCHToolbox:()=>I5,compileMemo:()=>Ny,calculateTxSize:()=>qT,bchValidateAddress:()=>jy,addressFromKeysGetter:()=>D5,addInputsAndOutputs:()=>Of,accumulative:()=>Dy,UtxoNetwork:()=>U5,UTXOScriptType:()=>D0,TX_OVERHEAD:()=>k0,OutputSizes:()=>$T,OP_RETURN_OVERHEAD:()=>Nf,MIN_TX_FEE:()=>H8,InputSizes:()=>R0});module.exports=_y(v5);var P5=F(()=>{zT();Sf();E0();hT();E5()});async function P8(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 F8(T){let f=await ry(),{PublicKey:L}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:y}=await import("@solana/spl-token"),Z=new L(T),X=[],J=await f.getBalance(Z);if(J>0)X.push(h.AssetValue.from({chain:h.Chain.Solana,fromBaseDecimal:h.BaseDecimal[h.Chain.Solana],value:J}));let Q=await f.getParsedTokenAccountsByOwner(Z,{programId:y});for(let{account:x}of Q.value){let q=x.data.parsed.info,z=q.mint,G=q.tokenAmount.amount;if(Number(G)===0)continue;let M=await P8(z),W=M?.symbol||"UNKNOWN",B=M?.decimals||q.tokenAmount.decimals;X.push(h.AssetValue.from({asset:`${h.Chain.Solana}.${W}-${z}`,fromBaseDecimal:B,value:G}))}return X}async function V5(){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 l8(T){let f=T&&"index"in T?T.index||0:0,L=h.derivationPathToString(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:h.updateDerivationPath(h.NetworkDerivationPath[h.Chain.Solana],{index:f})),y=await nT.match(T).with({phrase:nT.P.string},({phrase:X})=>l5({derivationPath:L,phrase:X})).with({signer:nT.P.any},({signer:X})=>X).otherwise(()=>{return});function Z(){return y?.publicKey?uf(y.publicKey):""}return{broadcastTransaction:F5(ry),createKeysForPath:l5,createTransaction:$5(ry),createTransactionFromInstructions:A8,estimateTransactionFee:V8(ry),getAddress:Z,getAddressFromPubKey:uf,getAddressValidator:V5,getBalance:(X)=>{let J=X||Z();if(!J)throw new h.SwapKitError("core_wallet_connection_not_found");return F8(J)},getConnection:ry,getPubkeyFromAddress:K5,signTransaction:u8(ry,y),transfer:S8(ry,y)}}function V8(T){return async({recipient:f,assetValue:L,memo:y,isProgramDerivedAddress:Z,sender:X})=>{let J=await T(),x=(await $5(T)({assetValue:L,isProgramDerivedAddress:Z,memo:y,recipient:f,sender:X})).compileMessage(),q=await J.getFeeForMessage(x);if(q.value===null)throw new h.SwapKitError("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");return h.AssetValue.from({chain:h.Chain.Solana,fromBaseDecimal:h.BaseDecimal[h.Chain.Solana],value:q.value})}}async function ry(){let{Connection:T}=await import("@solana/web3.js"),f=await h.getRPCUrl(h.Chain.Solana);return new T(f,"confirmed")}function $8(T){return async({assetValue:f,recipient:L,sender:y,isProgramDerivedAddress:Z})=>{let X=await T(),J=await K5(y);if(f.isGasAsset){let{Transaction:Q,SystemProgram:x,PublicKey:q}=await import("@solana/web3.js");return new Q().add(x.transfer({fromPubkey:J,lamports:f.getBaseValue("number"),toPubkey:new q(L)}))}if(f.address)return K8({amount:f.getBaseValue("number"),connection:X,decimals:f.decimal,from:J,isProgramDerivedAddress:Z,recipient:L,tokenAddress:f.address});return}}async function K8({tokenAddress:T,recipient:f,from:L,connection:y,amount:Z,decimals:X,isProgramDerivedAddress:J}){let{getAssociatedTokenAddress:Q,getAccount:x,createAssociatedTokenAccountInstruction:q,createTransferCheckedInstruction:z}=await import("@solana/spl-token"),{Transaction:G,PublicKey:M}=await import("@solana/web3.js"),W=new G,B=new M(T),N=await Q(B,L),D=new M(f),A=await Q(B,D,J),j=!1;try{await x(y,A),j=!0}catch(r){}if(!j)W.add(q(L,A,D,B));return W.add(z(N,B,A,L,Z,X)),W}function $5(T){return async({recipient:f,assetValue:L,memo:y,isProgramDerivedAddress:Z,sender:X})=>{let{createMemoInstruction:J}=await import("@solana/spl-memo"),Q=await K5(X),x=await V5();if(!(Z||x(f)))throw new h.SwapKitError("core_transaction_invalid_recipient_address");let q=await T(),z=await $8(T)({assetValue:L,isProgramDerivedAddress:Z,recipient:f,sender:X});if(!z)throw new h.SwapKitError("core_transaction_invalid_sender_address");if(y)z.add(J(y));let G=await q.getLatestBlockhash();return z.recentBlockhash=G.blockhash,z.feePayer=Q,z}}async function A8({instructions:T}){let{Transaction:f}=await import("@solana/web3.js"),L=new f().add(...T);if(!L)throw new h.SwapKitError("core_transaction_invalid_sender_address");return L}function S8(T,f){return async({recipient:L,assetValue:y,memo:Z,isProgramDerivedAddress:X})=>{if(!f)throw new h.SwapKitError("core_transaction_invalid_sender_address");let J=f.publicKey?.toString()??(await f.connect()).publicKey.toString(),Q=await $5(T)({assetValue:y,isProgramDerivedAddress:X,memo:Z,recipient:L,sender:J});if("connect"in f){let x=await f.signTransaction(Q);return F5(T)(x)}return Q.sign(f),F5(T)(Q)}}function F5(T){return async(f)=>{return(await T()).sendRawTransaction(f.serialize())}}function u8(T,f){return async(L)=>{let{VersionedTransaction:y}=await import("@solana/web3.js");if(!f)throw new h.SwapKitError("toolbox_solana_no_signer");if(!(L instanceof y)){let X=await(await T()).getLatestBlockhash();L.recentBlockhash=X.blockhash,L.feePayer=f.publicKey||void 0}if("connect"in f)return await f.signTransaction(L);return await L.sign([f]),L}}async function l5({phrase:T,derivationPath:f=h.DerivationPath.SOL}){let{HDKey:L}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:y}=await import("@scure/bip39"),{Keypair:Z}=await import("@solana/web3.js"),X=y(T),J=L.fromMasterSeed(X);return Z.fromSeed(J.derive(f,!0).privateKey)}function uf(T){return T.toString()}async function K5(T){let{PublicKey:f}=await import("@solana/web3.js");return new f(T)}var h,nT;var bf=F(()=>{h=require("@swapkit/helpers"),nT=require("ts-pattern")});var A5={};Gy(A5,{getSolanaToolbox:()=>l8,getSolanaAddressValidator:()=>V5,createKeysForPath:()=>l5});module.exports=_y(A5);var S5=F(()=>{bf()});async function pT(){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 P0(T){let{parseSeedPhrase:f}=await import("near-seed-phrase"),{KeyPair:L}=await import("near-api-js"),y=T.index||0,Z=T.derivationPath?v0.derivationPathToString(T.derivationPath.slice(0,3)):`m/44'/397'/${y}'`,{secretKey:X}=f(T.phrase,Z),J=L.fromString(X);return nf(J)}async function u5(T){let{KeyPair:f}=await import("near-api-js/lib/utils"),L=f.fromString(T);return nf(L)}function nf(T){return new hf(T)}async function F0(T,f){let y=(await T.query({account_id:f,finality:"final",request_type:"view_access_key_list"})).keys.find((Q)=>Q.access_key.permission==="FullAccess");if(!y)throw new v0.SwapKitError("toolbox_near_invalid_address");let{utils:Z}=await import("near-api-js"),X=Z.PublicKey.fromString(y.public_key);return{nonce:y.access_key.nonce||0,publicKey:X}}var v0,jf,hf;var b5=F(()=>{v0=require("@swapkit/helpers"),jf=require("near-api-js");hf=class hf extends jf.KeyPairSigner{#y;constructor(T){super(T);this.#y=T}getAddress(){let T=this.#y.getPublicKey(),f=Buffer.from(T.data).toString("hex");return Promise.resolve(f)}}});function j5(T){return"recipient"in T&&"amount"in T&&!("contractId"in T)}function h5(T){return"contractId"in T&&"methodName"in T}function n5(T){return"actions"in T}function p5(T){return"newAccountId"in T}function o5(T){return"contractCode"in T}function m5(T){return"customEstimator"in T}function c5(T){let f=0;for(let L of T)switch(L.enum){case"transfer":f+=Number(Ty.SIMPLE_TRANSFER);break;case"functionCall":f+=Number(Ty.CONTRACT_CALL);break;case"createAccount":f+=Number(Ty.ACCOUNT_CREATION);break;case"deployContract":f+=Number(Ty.CONTRACT_DEPLOYMENT);break;case"addKey":f+=Number(Ty.ACCESS_KEY_ADDITION);break;case"deleteKey":f+=Number(Ty.ACCESS_KEY_DELETION);break;case"stake":f+=Number(Ty.STAKE);break;default:f+=Number(Ty.CONTRACT_CALL)}return f.toString()}function g5(T){if(T==="ft_transfer"||T==="ft_transfer_call")return Ty.TOKEN_TRANSFER;if(T==="storage_deposit")return Ty.STORAGE_DEPOSIT;return Ty.CONTRACT_CALL}function b8(T){return(BigInt(T)*BigInt(1000000000000)).toString()}function j8(T){return(BigInt(T)/BigInt(1000000000000)).toString()}var Ty;var d5=F(()=>{Ty={ACCESS_KEY_ADDITION:"5",ACCESS_KEY_DELETION:"5",ACCOUNT_CREATION:"30",CONTRACT_CALL:"100",CONTRACT_DEPLOYMENT:"200",SIMPLE_TRANSFER:"1",STAKE:"10",STORAGE_DEPOSIT:"100",TOKEN_TRANSFER:"100"}});async function l0({account:T,contractId:f,viewMethods:L,changeMethods:y}){let{Contract:Z}=await import("near-api-js");return new Z(T,f,{changeMethods:y,useLocalViewExecution:!0,viewMethods:L})}async function t5({contractId:T,account:f}){let L=(await import("bn.js")).default,y=await l0({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"]}),Z=async(X)=>{if(!await y.storage_balance_of({account_id:X})){let x=(await y.storage_balance_bounds())?.min||"1250000000000000000000";await y.storage_deposit({account_id:X},new L("100000000000000"),new L(x))}};return{balanceOf:(X)=>y.ft_balance_of({account_id:X}),contract:y,ensureStorage:Z,metadata:()=>y.ft_metadata(),storageBalanceOf:(X)=>y.storage_balance_of({account_id:X}),storageDeposit:(X,J)=>y.storage_deposit({account_id:X},new L("100000000000000"),new L(J||"1250000000000000000000")),totalSupply:()=>y.ft_total_supply(),transfer:async(X,J,Q)=>{return await Z(X),y.ft_transfer({amount:J,memo:Q,receiver_id:X},new L("100000000000000"),new L("1"))},transferCall:async(X,J,Q,x)=>{return await Z(X),y.ft_transfer_call({amount:J,memo:x,msg:Q,receiver_id:X},new L("100000000000000"),new L("1"))}}}async function h8(T){let{P:f,match:L}=await import("ts-pattern"),{providers:y}=await import("near-api-js"),Z=await L(T).with({phrase:f.string},async(v)=>{return await P0(v)}).with({signer:f.any},({signer:v})=>v).otherwise(()=>{return}),X=await S.getRPCUrl(S.Chain.Near),J=new y.JsonRpcProvider({url:X});async function Q(v){let{Account:U}=await import("near-api-js"),k=v||await x();return new U(k,J,Z)}async function x(){if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");return await Z.getAddress()}async function q(v){if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");let{recipient:U,assetValue:k}=v;if(!(await pT())(U))throw new S.SwapKitError("toolbox_near_invalid_address");let P=await Q();if(k.isGasAsset===!1){let w=k.address;if(!w)throw new S.SwapKitError("toolbox_near_missing_contract_address");let K=k.getBaseValue("string");return A({args:{amount:K,memo:v.memo,receiver_id:U},contractId:w,methodName:"ft_transfer"})}try{let w=k.getBaseValue("string");return(await P.transfer({amount:w,receiverId:U})).transaction_outcome.id}catch(w){throw new S.SwapKitError("toolbox_near_transfer_failed",{error:w})}}async function z(v){let{recipient:U,assetValue:k,memo:C,feeRate:P,attachedDeposit:w,sender:K}=v,i=await pT();if(!i(U))throw new S.SwapKitError("toolbox_near_invalid_address",{address:U});if(!i(K))throw new S.SwapKitError("toolbox_near_invalid_address",{address:K});if(!k.isGasAsset){let tT=k.address;if(!tT)throw new S.SwapKitError("toolbox_near_missing_contract_address");return G({args:{amount:k.getBaseValue("string"),memo:C||null,receiver_id:U},attachedDeposit:"1",contractId:tT,gas:P.toString()||"100000000000000",methodName:"ft_transfer",sender:K})}let{publicKey:m,nonce:d}=await F0(J,K),qy=k.getBaseValue("bigint"),{SCHEMA:Zy}=await import("near-api-js/lib/transaction"),{transactions:zy,utils:Wy}=await import("near-api-js"),ny=[zy.transfer(qy)];if(C&&w)ny.push(zy.functionCall("memo",{memo:C},BigInt(P),BigInt(w)));let mT=await J.block({finality:"final"}),cT=Wy.serialize.base_decode(mT.header.hash),ay=zy.createTransaction(K,m,U,d,ny,cT),gT=Wy.serialize.serialize(Zy.Transaction,ay),dT=Buffer.from(gT).toString("base64");return{details:{blockHash:Wy.serialize.base_encode(cT),nonce:d,signerId:K},publicKey:m.toString(),serialized:dT}}async function G(v){let{sender:U}=v,{publicKey:k,nonce:C}=await F0(J,U),{SCHEMA:P}=await import("near-api-js/lib/transaction"),{transactions:w,utils:K}=await import("near-api-js"),i=await J.block({finality:"final"}),m=K.serialize.base_decode(i.header.hash),d=[w.functionCall(v.methodName,Buffer.from(JSON.stringify(v.args)),BigInt(v.gas),BigInt(v.attachedDeposit))],qy=w.createTransaction(U,k,v.contractId,C,d,m),Zy=K.serialize.serialize(P.Transaction,qy),zy=Buffer.from(Zy).toString("base64");return{details:{blockHash:K.serialize.base_encode(m),methodName:v.methodName,nonce:C,receiverId:v.contractId,signerId:U},publicKey:k.toString(),serialized:zy}}async function M(v){if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");let[U,k]=await Z.signTransaction(v);return k}async function W(v){return(await J.sendTransaction(v)).transaction.hash}async function B(v){if("assetValue"in v){let P=BigInt("115123062500")+BigInt("108059500000"),w=await N(),K=P*BigInt(w.toString());return S.AssetValue.from({chain:S.Chain.Near,fromBaseDecimal:S.BaseDecimal[S.Chain.Near],value:K.toString()})}let U=Z?await Q():void 0;return s(v,U)}async function N(){try{return await J.query({account_id:"system",args_base64:"",finality:"final",method_name:"gas_price",request_type:"call_function"})}catch{return"100000000"}}async function D(v,U,k){if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");let C=await Q(),{utils:P}=await import("near-api-js"),w=P.format.parseNearAmount(k)||"0";return(await C.createAccount(v,P.PublicKey.fromString(U),BigInt(w))).transaction.hash}async function A(v){try{if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");let{transactions:U}=await import("near-api-js"),{contractId:k,methodName:C,args:P,deposit:w}=v,K=await Q(),i=await s({args:P||{},contractId:k,methodName:C}),m=U.functionCall(C,P||{},i.getBaseValue("bigint"),BigInt(w||"0"));return(await K.signAndSendTransaction({actions:[m],receiverId:k})).transaction_outcome.id}catch(U){throw new S.SwapKitError("toolbox_near_transfer_failed",{error:U})}}async function j(v){let U=await Q();return l0({account:U,changeMethods:v.changeMethods,contractId:v.contractId,viewMethods:v.viewMethods})}async function r(v){if(!Z)throw new S.SwapKitError("toolbox_near_no_signer");if(v.actions.length===0)throw new S.SwapKitError("toolbox_near_empty_batch");return(await(await Q()).signAndSendTransaction({actions:v.actions,receiverId:v.receiverId})).transaction.hash}async function g(v){let U=await Q();return t5({account:U,contractId:v})}async function fy(v){try{let U=await Q(v),k;try{let C=await U.getBalance();k=S.AssetValue.from({chain:S.Chain.Near,fromBaseDecimal:S.BaseDecimal[S.Chain.Near],value:C})}catch{k=S.AssetValue.from({chain:S.Chain.Near,fromBaseDecimal:S.BaseDecimal[S.Chain.Near],value:"0"})}return[k]}catch(U){throw new S.SwapKitError("toolbox_near_balance_failed",{error:U})}}async function s(v,U){let k=await L(v).when(j5,()=>Ty.SIMPLE_TRANSFER).when(h5,(K)=>g5(K.methodName)).when(n5,(K)=>c5(K.actions)).when(p5,()=>Ty.ACCOUNT_CREATION).when(o5,()=>Ty.CONTRACT_DEPLOYMENT).when(m5,(K)=>{if(!U)throw new S.SwapKitError("toolbox_near_no_account");return K.customEstimator(U)}).otherwise(()=>{throw new S.SwapKitError("toolbox_near_invalid_gas_params")}),C=await xy(),w=BigInt(k)*BigInt(1000000000000)*BigInt(C);return S.AssetValue.from({chain:S.Chain.Near,fromBaseDecimal:S.BaseDecimal[S.Chain.Near],value:w})}async function xy(){try{return(await J.gasPrice(null)).gas_price||"100000000"}catch(v){return"100000000"}}return{broadcastTransaction:W,callFunction:A,createContract:j,createContractFunctionCall:G,createSubAccount:D,createTransaction:z,estimateGas:s,estimateTransactionFee:B,executeBatchTransaction:r,getAddress:x,getBalance:fy,getGasPrice:xy,getPublicKey:async()=>Z?(await Z.getPublicKey()).toString():"",getSignerFromPhrase:(v)=>P0(v),getSignerFromPrivateKey:u5,nep141:g,provider:J,signTransaction:M,transfer:q,validateAddress:await pT()}}var S;var i5=F(()=>{S=require("@swapkit/helpers");b5();d5()});var pf=F(()=>{i5()});var r5={};Gy(r5,{tgasToGas:()=>b8,isSimpleTransfer:()=>j5,isCustomEstimator:()=>m5,isContractDeployment:()=>o5,isContractCall:()=>h5,isBatchTransaction:()=>n5,isAccountCreation:()=>p5,getValidateNearAddress:()=>pT,getNearToolbox:()=>h8,getNearSignerFromPrivateKey:()=>u5,getNearSignerFromPhrase:()=>P0,getFullAccessPublicKey:()=>F0,getContractMethodGas:()=>g5,gasToTGas:()=>j8,estimateBatchGas:()=>c5,createNearContract:()=>l0,createNEP141Token:()=>t5,GAS_COSTS:()=>Ty});module.exports=_y(r5);var a5=F(()=>{b5();d5();i5();pf()});var e5={};Gy(e5,{rippleValidateAddress:()=>s5,hashes:()=>mf.hashes,getRippleToolbox:()=>p8});module.exports=_y(e5);function of(T){let f=hy.Wallet.fromMnemonic(T);return{getAddress:()=>Promise.resolve(f.address),signTransaction:(L)=>Promise.resolve(f.sign(L))}}function s5(T){return hy.isValidAddress(T)}var p,hy,mf,n8,p8=async(T={})=>{let f="signer"in T&&T.signer?T.signer:("phrase"in T)&&T.phrase?of(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(!f)throw new p.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.getAddress()},X=async(M)=>{let W=M||await Z();try{let N=(await y.request({account:W,command:"account_info"})).result.account_data.Balance;return[p.AssetValue.from({chain:p.Chain.Ripple,fromBaseDecimal:p.BaseDecimal[p.Chain.Ripple],value:N})]}catch(B){if(B.data.error_code===n8.ACCOUNT_NOT_FOUND)return[p.AssetValue.from({chain:p.Chain.Ripple,value:0})];throw new p.SwapKitError("toolbox_ripple_get_balance_error",{info:{address:W,error:B}})}},J=async()=>{let W=(await y.request({command:"fee"})).result.drops.open_ledger_fee;return p.AssetValue.from({chain:p.Chain.Ripple,value:p.SwapKitNumber.fromBigInt(BigInt(W),p.BaseDecimal[p.Chain.Ripple])})},Q=async({assetValue:M,recipient:W,memo:B,sender:N})=>{if(!s5(W))throw new p.SwapKitError({errorKey:"core_transaction_invalid_recipient_address"});let D=N||await Z();if(!M.isGasAsset||M.chain!==p.Chain.Ripple)throw new p.SwapKitError({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:M.toString()}});let A={Account:D,Amount:hy.xrpToDrops(M.getValue("string")),Destination:W,TransactionType:"Payment"};if(B)A.Memos=[{Memo:{MemoData:Buffer.from(B).toString("hex")}}];return await y.autofill(A)},x=(M)=>{if(!f)throw new p.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});return f.signTransaction(M)},q=async(M)=>{let B=(await y.submitAndWait(M)).result;if(B.validated)return B.hash;throw new p.SwapKitError({errorKey:"toolbox_ripple_broadcast_error",info:{chain:p.Chain.Ripple}})};return{broadcastTransaction:q,createSigner:of,createTransaction:Q,disconnect:()=>y.disconnect(),estimateTransactionFee:J,getAddress:Z,getBalance:X,signer:f,signTransaction:x,transfer:async(M)=>{if(!f)throw new p.SwapKitError({errorKey:"toolbox_ripple_signer_not_found"});let W=await f.getAddress(),B=await Q({...M,sender:W}),N=await x(B);return q(N.tx_blob)},validateAddress:s5}};var y1=F(()=>{p=require("@swapkit/helpers"),hy=require("xrpl"),mf=require("xrpl"),n8={ACCOUNT_NOT_FOUND:19}});var T1={};Gy(T1,{radixValidateAddress:()=>cf,RadixToolbox:()=>d8});module.exports=_y(T1);function cf(T){return T.startsWith("account_rdx1")&&T.length===66}function o8({networkApi:T}){return async function f(L){let y=await m8({address:L,networkApi:T});return c8({networkApi:T,resources:y})}}async function m8({address:T,networkApi:f}){let L=!0,y,Z=[],X=await g8(f);while(L){let J={address:T,at_ledger_state:{state_version:X},cursor:y,limit_per_page:100},Q=await f.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 c8({resources:T,networkApi:f}){let L=[],y=50,Z=[];for(let X=0;X<T.length;X+=50)Z.push(T.slice(X,X+50));for(let X of Z){let J=X.map((q)=>q.resource_address),Q=await f.state.getEntityDetailsVaultAggregated(J),x=new Map;for(let q of Q)if(q.details!==void 0){let z=q.metadata?.items.find((M)=>M.key==="symbol"),G=z?.value.typed.type==="String"?z.value.typed.value:"?";if(q.details.type==="FungibleResource")x.set(q.address,{decimals:q.details.divisibility,symbol:G})}for(let q of X)if(q.aggregation_level==="Global"){let z=x.get(q.resource_address)||{decimals:0,symbol:"?"},G=vy.AssetValue.from({asset:z.symbol!==vy.Chain.Radix?`${vy.Chain.Radix}.${z.symbol}-${q.resource_address}`:"XRD.XRD",value:q.amount});L.push(G)}}return L}function g8(T){return T.status.getCurrent().then((f)=>f.ledger_state.state_version)}var vy,d8=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,Z=f({...y,networkId:y.network?.networkId||1}),X=L.initialize(Z.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:o8({networkApi:X}),networkApi:X,signAndBroadcast:()=>{throw new vy.SwapKitError("toolbox_radix_method_not_supported",{method:"signAndBroadcast"})},validateAddress:cf}};var f1=F(()=>{vy=require("@swapkit/helpers")});var WT;var X1=F(()=>{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 df(T){let f=await import("tronweb"),L=f.TronWeb??f.default?.TronWeb;try{let y=await fetch(`${t8}/v1/accounts/${T}`);if(!y.ok)throw new Error(`TronGrid API error: ${y.status} ${y.statusText}`);let Z=await y.json();if(!(Z.success&&Z.data)||Z.data.length===0)throw new Error("Invalid response from TronGrid API");let X;try{X=L.address.toHex(T).toLowerCase()}catch{X=T.toLowerCase()}let J=Z.data.find((Q)=>{return Q.address.toLowerCase()===X});if(!J)return;return{balance:J.balance,trc20:J.trc20||[]}}catch(y){throw new gf.SwapKitError("toolbox_tron_trongrid_api_error",{address:T,message:y instanceof Error?y.message:"Unknown error"})}}var gf,t8="https://api.trongrid.io";var tf=F(()=>{gf=require("@swapkit/helpers")});async function Z1(){let T=await import("tronweb"),f=T.TronWeb??T.default?.TronWeb;return(L)=>{return f.isAddress(L)}}async function af({phrase:T,derivationPath:f,index:L}){let y=f||l.derivationPathToString(l.updateDerivationPath(l.NetworkDerivationPath[l.Chain.Tron],{index:L||0})),{HDKey:Z}=await import("@scure/bip32"),{mnemonicToSeedSync:X}=await import("@scure/bip39"),J=X(T),x=Z.fromMasterSeed(J).derive(y);if(!x.privateKey)throw new l.SwapKitError("toolbox_tron_no_signer");return Buffer.from(x.privateKey).toString("hex")}async function e8({phrase:T,derivationPath:f,tronWeb:L}){let{HDKey:y}=await import("@scure/bip32"),{mnemonicToSeedSync:Z}=await import("@scure/bip39"),X=Z(T),Q=y.fromMasterSeed(X).derive(f);if(!Q.privateKey)throw new l.SwapKitError("toolbox_tron_no_signer");let x=Buffer.from(Q.privateKey).toString("hex");L.setPrivateKey(x);let q=L?.address.fromPrivateKey(x);return{getAddress:()=>Promise.resolve(typeof q==="string"?q:""),signTransaction:async(z)=>{return await L.trx.sign(z,x)}}}var l,oT,i8=268,r8=13000,a8=345,rf="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",s8="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",sf=async(T={})=>{let f=await import("tronweb"),L=f.TronWeb??f.default?.TronWeb,y=await l.getRPCUrl(l.Chain.Tron),Z=void 0,X=new L({fullHost:y,headers:void 0}),J="index"in T?T.index||0:0,Q=l.derivationPathToString("derivationPath"in T&&T.derivationPath?T.derivationPath:l.updateDerivationPath(l.NetworkDerivationPath[l.Chain.Tron],{index:J})),x=await oT.match(T).with({phrase:oT.P.string},async({phrase:U})=>e8({derivationPath:Q,phrase:U,tronWeb:X})).with({signer:oT.P.any},({signer:U})=>Promise.resolve(U)).otherwise(()=>Promise.resolve(void 0)),q=async()=>{if(!x)throw new l.SwapKitError("toolbox_tron_no_signer");return await x.getAddress()},z=()=>{return 1e8},G=async()=>{try{let U=await X.trx.getChainParameters(),k={};for(let C of U)k[C.key]=C.value;return{bandwidthFee:k.getTransactionFee||1000,createAccountFee:k.getCreateAccountFee||1e5,energyFee:k.getEnergyFee||420}}catch{return{bandwidthFee:1000,createAccountFee:1e5,energyFee:420}}},M=async(U)=>{try{let k=await X.trx.getAccount(U);return k&&Object.keys(k).length>0}catch{return!1}},W=async(U)=>{try{let k=await X.trx.getAccountResources(U);return{bandwidth:{free:k.freeNetLimit-k.freeNetUsed,total:k.NetLimit||0,used:k.NetUsed||0},energy:{total:k.EnergyLimit||0,used:k.EnergyUsed||0}}}catch{return{bandwidth:{free:600,total:0,used:0},energy:{total:0,used:0}}}},B=async(U,k)=>{try{let C=X.contract(WT,k);if(!C.methods?.balanceOf)return 0n;let[P]=await C.methods.balanceOf(U).call();return P?typeof P==="bigint"?P:BigInt(P):0n}catch(C){return console.warn(`balanceOf() failed for ${k}:`,C),0n}},N=async(U,k)=>{try{X.setAddress(k);let C=X.contract(WT,U),[P,w]=await Promise.all([C.symbol().call().catch(()=>"UNKNOWN"),C.decimals().call().catch(()=>"18")]);return{decimals:Number(w??18),symbol:P??"UNKNOWN"}}catch(C){return l.warnOnce({condition:!0,id:"tron_toolbox_get_token_metadata_failed",warning:`Failed to get token metadata for ${U}: ${C instanceof Error?C.message:C}`}),null}},D=async(U,k=!0)=>{let C=[l.AssetValue.from({chain:l.Chain.Tron})];try{let P=await df(U);if(P){let w=[];w.push(l.AssetValue.from({chain:l.Chain.Tron,fromBaseDecimal:6,value:P.balance}));for(let K of P.trc20){let[i,m]=Object.entries(K)[0]||[];if(!(i&&m))continue;let d=await N(i,U);if(!d)continue;w.push(l.AssetValue.from({asset:`TRON.${d.symbol}-${i}`,fromBaseDecimal:d.decimals,value:BigInt(m||0)}))}return w}return C}catch(P){l.warnOnce({condition:!0,id:"tron_toolbox_get_balance_failed",warning:`Tron API getBalance failed: ${P instanceof Error?P.message:P}`});let w=[],K=await X.trx.getBalance(U);if(K&&Number(K)>0)w.push(l.AssetValue.from({chain:l.Chain.Tron,fromBaseDecimal:6,value:K}));let i=await B(U,rf);if(i)w.push(l.AssetValue.from({asset:`TRON.USDT-${rf}`,fromBaseDecimal:6,value:i}));return w}},A=async({recipient:U,assetValue:k,memo:C})=>{if(!x)throw new l.SwapKitError("toolbox_tron_no_signer");let P=await q();if(X.setAddress(P),k.isGasAsset){let d=await X.transactionBuilder.sendTrx(U,k.getBaseValue("number"),P);if(C){let zy=await X.transactionBuilder.addUpdateData(d,C,"utf8"),Wy=await x.signTransaction(zy),{txid:ny}=await X.trx.sendRawTransaction(Wy);return ny}let qy=await x.signTransaction(d),{txid:Zy}=await X.trx.sendRawTransaction(qy);return Zy}let K=await r({assetValue:k,memo:C,recipient:U,sender:P}),i=await x.signTransaction(K),{txid:m}=await X.trx.sendRawTransaction(i);if(!m)throw new l.SwapKitError("toolbox_tron_token_transfer_failed");return m},j=async({assetValue:U,recipient:k,sender:C})=>{let P=U.isGasAsset;try{let w=C?C:x?await q():void 0;if(!w)return P?l.AssetValue.from({chain:l.Chain.Tron,fromBaseDecimal:0,value:0.1}):l.AssetValue.from({chain:l.Chain.Tron,fromBaseDecimal:0,value:15});let K=await G(),m=await M(k)?0:K.createAccountFee,d=await W(w);if(P){let ay=i8,gT=d.bandwidth.free+(d.bandwidth.total-d.bandwidth.used),dT=0;if(ay>gT)dT=(ay-gT)*K.bandwidthFee;let tT=m+dT;return l.AssetValue.from({chain:l.Chain.Tron,fromBaseDecimal:6,value:tT})}let qy=a8,Zy=r8,zy=d.bandwidth.free+(d.bandwidth.total-d.bandwidth.used),Wy=d.energy.total-d.energy.used,ny=0;if(qy>zy)ny=(qy-zy)*K.bandwidthFee;let mT=0;if(Zy>Wy)mT=(Zy-Wy)*K.energyFee;let cT=m+ny+mT;return l.AssetValue.from({chain:l.Chain.Tron,fromBaseDecimal:6,value:cT})}catch(w){throw l.warnOnce({condition:!0,id:"tron_toolbox_fee_estimation_failed",warning:`Failed to calculate exact fee, using conservative estimate: ${w instanceof Error?w.message:w}`}),new l.SwapKitError("toolbox_tron_fee_estimation_failed",{error:w})}},r=async(U)=>{let{recipient:k,assetValue:C,memo:P,sender:w}=U;if(C.isGasAsset){let m=await X.transactionBuilder.sendTrx(k,C.getBaseValue("number"),w);if(P)return X.transactionBuilder.addUpdateData(m,P,"utf8");return m}X.setAddress(w);let i=C.address;if(!i)throw new l.SwapKitError("toolbox_tron_invalid_token_identifier",{identifier:C.toString()});try{let d=[{type:"address",value:k},{type:"uint256",value:C.getBaseValue("string")}],qy={callValue:0,feeLimit:z()};return(await X.transactionBuilder.triggerSmartContract(i,"transfer(address,uint256)",qy,d,w)).transaction}catch(m){throw new l.SwapKitError("toolbox_tron_transaction_creation_failed",{message:"Failed to create TRC20 transaction. This might be due to TronWeb 6.0.3 bug. Use the transfer method directly instead.",originalError:m instanceof Error?m.message:String(m)})}},g=async(U)=>{if(!x)throw new l.SwapKitError("toolbox_tron_no_signer");return await x.signTransaction(U)},fy=async(U)=>{let{txid:k}=await X.trx.sendRawTransaction(U);return k},s=async({assetAddress:U,spenderAddress:k,from:C})=>{try{let P=X.contract(WT,U);if(!P.methods?.allowance)throw new l.SwapKitError("toolbox_tron_invalid_token_contract");let[w]=await P.methods.allowance(C,k).call();return w?typeof w==="bigint"?w:BigInt(w):0n}catch(P){throw new l.SwapKitError("toolbox_tron_allowance_check_failed",{error:P})}};return{approve:async({assetAddress:U,spenderAddress:k,amount:C,from:P})=>{if(!x)throw new l.SwapKitError("toolbox_tron_no_signer");let w=P||await q(),K=C!==void 0?BigInt(C).toString():s8,i="approve(address,uint256)",m=[{type:"address",value:k},{type:"uint256",value:K}],qy={callValue:0,feeLimit:z()};try{let{transaction:Zy}=await X.transactionBuilder.triggerSmartContract(U,i,qy,m,w),zy=await x.signTransaction(Zy),{txid:Wy}=await X.trx.sendRawTransaction(zy);if(!Wy)throw new l.SwapKitError("toolbox_tron_approve_failed");return Wy}catch(Zy){throw new l.SwapKitError("toolbox_tron_approve_failed",{error:Zy})}},broadcastTransaction:fy,createTransaction:r,estimateTransactionFee:j,getAddress:q,getApprovedAmount:s,getBalance:D,isApproved:async({assetAddress:U,spenderAddress:k,from:C,amount:P})=>{let w=await s({assetAddress:U,from:C,spenderAddress:k});if(!P)return w>0n;let K=BigInt(P);return w>=K},signTransaction:g,transfer:A,tronWeb:X,validateAddress:await Z1()}};var ef=F(()=>{l=require("@swapkit/helpers"),oT=require("ts-pattern");X1();tf()});var L1={};Gy(L1,{trc20ABI:()=>WT,getTronPrivateKeyFromMnemonic:()=>af,getTronAddressValidator:()=>Z1,createTronToolbox:()=>sf});module.exports=_y(L1);var J1=F(()=>{X1();ef()});var fX={};Gy(fX,{getToolbox:()=>Q1,getFeeEstimator:()=>TX,getAddressValidator:()=>yX});module.exports=_y(fX);var _=require("@swapkit/helpers");async function yX(){let{match:T}=await import("ts-pattern"),{cosmosValidateAddress:f}=await Promise.resolve().then(() => (eT(),sT)),{evmValidateAddress:L}=await Promise.resolve().then(() => (yf(),e1)),{substrateValidateAddress:y}=await Promise.resolve().then(() => (M5(),G5)),{getUTXOAddressValidator:Z}=await Promise.resolve().then(() => (P5(),v5)),{getSolanaAddressValidator:X}=await Promise.resolve().then(() => (S5(),A5)),{getValidateNearAddress:J}=await Promise.resolve().then(() => (a5(),r5)),{rippleValidateAddress:Q}=await Promise.resolve().then(() => (y1(),e5)),{radixValidateAddress:x}=await Promise.resolve().then(() => (f1(),T1)),{getTronAddressValidator:q}=await Promise.resolve().then(() => (J1(),L1)),z=await X(),G=await Z(),M=await q(),W=await J();return function B({address:N,chain:D}){return T(D).with(..._.EVMChains,()=>L({address:N})).with(..._.UTXOChains,()=>G({address:N,chain:D})).with(_.Chain.Cosmos,_.Chain.Kujira,_.Chain.Noble,_.Chain.Maya,_.Chain.THORChain,()=>f({address:N,chain:D})).with(_.Chain.Chainflip,_.Chain.Polkadot,()=>y({address:N,chain:D})).with(_.Chain.Radix,()=>x(N)).with(_.Chain.Near,()=>W(N)).with(_.Chain.Ripple,()=>Q(N)).with(_.Chain.Solana,()=>z(N)).with(_.Chain.Tron,()=>M(N)).otherwise(()=>!1)}}function TX(T){return async function f(L){let{match:y}=await import("ts-pattern");return y(T).returnType().with(_.Chain.Arbitrum,_.Chain.Aurora,_.Chain.Avalanche,_.Chain.Base,_.Chain.Berachain,_.Chain.BinanceSmartChain,_.Chain.Ethereum,_.Chain.Gnosis,_.Chain.Optimism,_.Chain.Polygon,async(Z)=>{let X=await Q1(Z),J=await X.createTransaction(L);return X.estimateTransactionFee({...J,chain:Z,feeOption:L.feeOptionKey||_.FeeOption.Fast})}).with(_.Chain.Bitcoin,_.Chain.BitcoinCash,_.Chain.Dogecoin,_.Chain.Dash,_.Chain.Litecoin,_.Chain.Polkadot,_.Chain.Solana,_.Chain.Ripple,_.Chain.Tron,_.Chain.Near,async(Z)=>{return(await Q1(Z)).estimateTransactionFee(L)}).with(_.Chain.THORChain,_.Chain.Maya,_.Chain.Kujira,_.Chain.Noble,_.Chain.Cosmos,async()=>{let{estimateTransactionFee:Z}=await Promise.resolve().then(() => (eT(),sT));return Z(L)}).otherwise(async()=>_.AssetValue.from({chain:T}))}}async function Q1(T,f){let{match:L}=await import("ts-pattern");return L(T).returnType().with(_.Chain.Arbitrum,_.Chain.Aurora,_.Chain.Avalanche,_.Chain.Base,_.Chain.Berachain,_.Chain.BinanceSmartChain,_.Chain.Ethereum,_.Chain.Gnosis,_.Chain.Optimism,_.Chain.Polygon,async()=>{let{getEvmToolbox:y}=await Promise.resolve().then(() => (Z5(),r1));return await y(T,f)}).with(_.Chain.Litecoin,_.Chain.Dash,_.Chain.Dogecoin,_.Chain.BitcoinCash,_.Chain.Bitcoin,_.Chain.Zcash,async()=>{let{getUtxoToolbox:y}=await Promise.resolve().then(() => (P5(),v5));return await y(T,f)}).with(_.Chain.Cosmos,_.Chain.Kujira,_.Chain.Noble,_.Chain.Maya,_.Chain.THORChain,async()=>{let{getCosmosToolbox:y}=await Promise.resolve().then(() => (eT(),sT));return await y(T,f)}).with(_.Chain.Chainflip,_.Chain.Polkadot,async()=>{let{getSubstrateToolbox:y}=await Promise.resolve().then(() => (M5(),G5));return await y(T,f)}).with(_.Chain.Radix,async()=>{let{RadixToolbox:y}=await Promise.resolve().then(() => (f1(),T1));return await y(f)}).with(_.Chain.Ripple,async()=>{let{getRippleToolbox:y}=await Promise.resolve().then(() => (y1(),e5));return await y(f)}).with(_.Chain.Solana,async()=>{let{getSolanaToolbox:y}=await Promise.resolve().then(() => (S5(),A5));return await y(f)}).with(_.Chain.Tron,async()=>{let{createTronToolbox:y}=await Promise.resolve().then(() => (J1(),L1));return await y(f)}).with(_.Chain.Near,async()=>{let{getNearToolbox:y}=await Promise.resolve().then(() => (a5(),r5));return await y(f)}).otherwise(()=>{throw new _.SwapKitError("toolbox_not_supported",{chain:T})})}
3
3
 
4
- //# debugId=8E5E60536C667D3A64756E2164756E21
4
+ //# debugId=21327F8F89216E2664756E2164756E21
5
5
  //# sourceMappingURL=index.cjs.map