@swapkit/toolboxes 4.3.10 → 4.13.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 (266) hide show
  1. package/dist/LICENSE +246 -0
  2. package/dist/src/aptos/index.cjs +1 -0
  3. package/dist/src/aptos/index.js +1 -0
  4. package/dist/src/cardano/index.cjs +1 -4
  5. package/dist/src/cardano/index.js +1 -4
  6. package/dist/src/cosmos/index.cjs +1 -4
  7. package/dist/src/cosmos/index.js +1 -4
  8. package/dist/src/evm/index.cjs +1 -4
  9. package/dist/src/evm/index.js +1 -4
  10. package/dist/src/index.cjs +1 -5
  11. package/dist/src/index.js +1 -5
  12. package/dist/src/near/index.cjs +1 -4
  13. package/dist/src/near/index.js +1 -4
  14. package/dist/src/radix/index.cjs +1 -4
  15. package/dist/src/radix/index.js +1 -4
  16. package/dist/src/ripple/index.cjs +1 -4
  17. package/dist/src/ripple/index.js +1 -4
  18. package/dist/src/solana/index.cjs +1 -4
  19. package/dist/src/solana/index.js +1 -4
  20. package/dist/src/starknet/index.cjs +1 -0
  21. package/dist/src/starknet/index.js +1 -0
  22. package/dist/src/stellar/index.cjs +1 -0
  23. package/dist/src/stellar/index.js +1 -0
  24. package/dist/src/substrate/index.cjs +1 -4
  25. package/dist/src/substrate/index.js +1 -4
  26. package/dist/src/sui/index.cjs +1 -4
  27. package/dist/src/sui/index.js +1 -4
  28. package/dist/src/ton/index.cjs +1 -4
  29. package/dist/src/ton/index.js +1 -4
  30. package/dist/src/tron/index.cjs +1 -4
  31. package/dist/src/tron/index.js +1 -4
  32. package/dist/src/utxo/index.cjs +1 -5
  33. package/dist/src/utxo/index.js +1 -5
  34. package/dist/types/aptos/index.d.ts +3 -0
  35. package/dist/types/aptos/index.d.ts.map +1 -0
  36. package/dist/types/aptos/toolbox.d.ts +21 -0
  37. package/dist/types/aptos/toolbox.d.ts.map +1 -0
  38. package/dist/types/aptos/types.d.ts +27 -0
  39. package/dist/types/aptos/types.d.ts.map +1 -0
  40. package/dist/types/cardano/toolbox.d.ts +19 -22
  41. package/dist/types/cardano/toolbox.d.ts.map +1 -1
  42. package/dist/types/cardano/types.d.ts +8 -3
  43. package/dist/types/cardano/types.d.ts.map +1 -1
  44. package/dist/types/cosmos/thorchainUtils/addressFormat.d.ts.map +1 -1
  45. package/dist/types/cosmos/thorchainUtils/messages.d.ts +3 -3
  46. package/dist/types/cosmos/thorchainUtils/messages.d.ts.map +1 -1
  47. package/dist/types/cosmos/toolbox/cosmos.d.ts +11 -9
  48. package/dist/types/cosmos/toolbox/cosmos.d.ts.map +1 -1
  49. package/dist/types/cosmos/toolbox/thorchain.d.ts +6 -51
  50. package/dist/types/cosmos/toolbox/thorchain.d.ts.map +1 -1
  51. package/dist/types/cosmos/types.d.ts +2 -2
  52. package/dist/types/cosmos/types.d.ts.map +1 -1
  53. package/dist/types/evm/helpers.d.ts +34 -1
  54. package/dist/types/evm/helpers.d.ts.map +1 -1
  55. package/dist/types/evm/toolbox/baseEVMToolbox.d.ts +14 -7
  56. package/dist/types/evm/toolbox/baseEVMToolbox.d.ts.map +1 -1
  57. package/dist/types/evm/toolbox/evm.d.ts +236 -96
  58. package/dist/types/evm/toolbox/evm.d.ts.map +1 -1
  59. package/dist/types/evm/toolbox/index.d.ts +3 -2
  60. package/dist/types/evm/toolbox/index.d.ts.map +1 -1
  61. package/dist/types/evm/toolbox/op.d.ts +13 -8
  62. package/dist/types/evm/toolbox/op.d.ts.map +1 -1
  63. package/dist/types/evm/types.d.ts +49 -27
  64. package/dist/types/evm/types.d.ts.map +1 -1
  65. package/dist/types/index.d.ts +31 -25
  66. package/dist/types/index.d.ts.map +1 -1
  67. package/dist/types/near/helpers/core.d.ts +1 -1
  68. package/dist/types/near/helpers/core.d.ts.map +1 -1
  69. package/dist/types/near/index.d.ts +1 -1
  70. package/dist/types/near/index.d.ts.map +1 -1
  71. package/dist/types/near/toolbox.d.ts +13 -10
  72. package/dist/types/near/toolbox.d.ts.map +1 -1
  73. package/dist/types/near/types/index.d.ts +4 -0
  74. package/dist/types/near/types/index.d.ts.map +1 -0
  75. package/dist/types/near/types/toolbox.d.ts +2 -0
  76. package/dist/types/near/types/toolbox.d.ts.map +1 -1
  77. package/dist/types/radix/index.d.ts +7 -7
  78. package/dist/types/radix/index.d.ts.map +1 -1
  79. package/dist/types/ripple/currency.d.ts +5 -0
  80. package/dist/types/ripple/currency.d.ts.map +1 -0
  81. package/dist/types/ripple/index.d.ts +60 -17
  82. package/dist/types/ripple/index.d.ts.map +1 -1
  83. package/dist/types/ripple/tokens.d.ts +15 -0
  84. package/dist/types/ripple/tokens.d.ts.map +1 -0
  85. package/dist/types/solana/index.d.ts +1 -1
  86. package/dist/types/solana/index.d.ts.map +1 -1
  87. package/dist/types/solana/toolbox.d.ts +12 -10
  88. package/dist/types/solana/toolbox.d.ts.map +1 -1
  89. package/dist/types/starknet/index.d.ts +5 -0
  90. package/dist/types/starknet/index.d.ts.map +1 -0
  91. package/dist/types/starknet/toolbox.d.ts +34 -0
  92. package/dist/types/starknet/toolbox.d.ts.map +1 -0
  93. package/dist/types/starknet/types.d.ts +26 -0
  94. package/dist/types/starknet/types.d.ts.map +1 -0
  95. package/dist/types/stellar/index.d.ts +3 -0
  96. package/dist/types/stellar/index.d.ts.map +1 -0
  97. package/dist/types/stellar/toolbox.d.ts +21 -0
  98. package/dist/types/stellar/toolbox.d.ts.map +1 -0
  99. package/dist/types/stellar/types.d.ts +10 -0
  100. package/dist/types/stellar/types.d.ts.map +1 -0
  101. package/dist/types/substrate/balance.d.ts +3 -3
  102. package/dist/types/substrate/balance.d.ts.map +1 -1
  103. package/dist/types/substrate/substrate.d.ts +22 -97
  104. package/dist/types/substrate/substrate.d.ts.map +1 -1
  105. package/dist/types/substrate/types.d.ts +2 -2
  106. package/dist/types/substrate/types.d.ts.map +1 -1
  107. package/dist/types/sui/toolbox.d.ts +17 -8
  108. package/dist/types/sui/toolbox.d.ts.map +1 -1
  109. package/dist/types/sui/types.d.ts +11 -3
  110. package/dist/types/sui/types.d.ts.map +1 -1
  111. package/dist/types/ton/toolbox.d.ts +23 -13
  112. package/dist/types/ton/toolbox.d.ts.map +1 -1
  113. package/dist/types/ton/types.d.ts +9 -8
  114. package/dist/types/ton/types.d.ts.map +1 -1
  115. package/dist/types/tron/helpers/proto.d.ts +9 -0
  116. package/dist/types/tron/helpers/proto.d.ts.map +1 -0
  117. package/dist/types/tron/helpers/trongrid.d.ts +43 -3
  118. package/dist/types/tron/helpers/trongrid.d.ts.map +1 -1
  119. package/dist/types/tron/helpers/utils.d.ts +17 -0
  120. package/dist/types/tron/helpers/utils.d.ts.map +1 -0
  121. package/dist/types/tron/index.d.ts +4 -5
  122. package/dist/types/tron/index.d.ts.map +1 -1
  123. package/dist/types/tron/toolbox.d.ts +20 -18
  124. package/dist/types/tron/toolbox.d.ts.map +1 -1
  125. package/dist/types/tron/types.d.ts +31 -57
  126. package/dist/types/tron/types.d.ts.map +1 -1
  127. package/dist/types/types.d.ts +6 -0
  128. package/dist/types/types.d.ts.map +1 -1
  129. package/dist/types/utxo/hdWallet.d.ts +33 -0
  130. package/dist/types/utxo/hdWallet.d.ts.map +1 -0
  131. package/dist/types/utxo/helpers/api.d.ts +49 -1
  132. package/dist/types/utxo/helpers/api.d.ts.map +1 -1
  133. package/dist/types/utxo/helpers/bchaddrjs.d.ts.map +1 -1
  134. package/dist/types/utxo/helpers/cashaddr.d.ts +13 -0
  135. package/dist/types/utxo/helpers/cashaddr.d.ts.map +1 -0
  136. package/dist/types/utxo/helpers/coinselect.d.ts +9 -5
  137. package/dist/types/utxo/helpers/coinselect.d.ts.map +1 -1
  138. package/dist/types/utxo/helpers/txSize.d.ts +4 -3
  139. package/dist/types/utxo/helpers/txSize.d.ts.map +1 -1
  140. package/dist/types/utxo/index.d.ts +2 -1
  141. package/dist/types/utxo/index.d.ts.map +1 -1
  142. package/dist/types/utxo/toolbox/bitcoinCash.d.ts +75 -15
  143. package/dist/types/utxo/toolbox/bitcoinCash.d.ts.map +1 -1
  144. package/dist/types/utxo/toolbox/index.d.ts +6 -5
  145. package/dist/types/utxo/toolbox/index.d.ts.map +1 -1
  146. package/dist/types/utxo/toolbox/params.d.ts +8 -16
  147. package/dist/types/utxo/toolbox/params.d.ts.map +1 -1
  148. package/dist/types/utxo/toolbox/utxo.d.ts +135 -46
  149. package/dist/types/utxo/toolbox/utxo.d.ts.map +1 -1
  150. package/dist/types/utxo/toolbox/validators.d.ts +1 -1
  151. package/dist/types/utxo/toolbox/validators.d.ts.map +1 -1
  152. package/dist/types/utxo/toolbox/zcash.d.ts +63 -10
  153. package/dist/types/utxo/toolbox/zcash.d.ts.map +1 -1
  154. package/dist/types/utxo/types.d.ts +78 -15
  155. package/dist/types/utxo/types.d.ts.map +1 -1
  156. package/package.json +43 -53
  157. package/dist/src/cardano/index.cjs.map +0 -11
  158. package/dist/src/cardano/index.js.map +0 -11
  159. package/dist/src/cosmos/index.cjs.map +0 -20
  160. package/dist/src/cosmos/index.js.map +0 -20
  161. package/dist/src/evm/index.cjs.map +0 -20
  162. package/dist/src/evm/index.js.map +0 -20
  163. package/dist/src/index.cjs.map +0 -67
  164. package/dist/src/index.js.map +0 -67
  165. package/dist/src/near/index.cjs.map +0 -16
  166. package/dist/src/near/index.js.map +0 -16
  167. package/dist/src/radix/index.cjs.map +0 -10
  168. package/dist/src/radix/index.js.map +0 -10
  169. package/dist/src/ripple/index.cjs.map +0 -10
  170. package/dist/src/ripple/index.js.map +0 -10
  171. package/dist/src/solana/index.cjs.map +0 -11
  172. package/dist/src/solana/index.js.map +0 -11
  173. package/dist/src/substrate/index.cjs.map +0 -13
  174. package/dist/src/substrate/index.js.map +0 -13
  175. package/dist/src/sui/index.cjs.map +0 -11
  176. package/dist/src/sui/index.js.map +0 -11
  177. package/dist/src/ton/index.cjs.map +0 -11
  178. package/dist/src/ton/index.js.map +0 -11
  179. package/dist/src/tron/index.cjs.map +0 -13
  180. package/dist/src/tron/index.js.map +0 -13
  181. package/dist/src/utxo/index.cjs.map +0 -21
  182. package/dist/src/utxo/index.js.map +0 -21
  183. package/dist/types/tron/helpers/trc20.abi.d.ts +0 -156
  184. package/dist/types/tron/helpers/trc20.abi.d.ts.map +0 -1
  185. package/src/__tests__/address-validation-all-chains.test.ts +0 -162
  186. package/src/__tests__/addressValidator.test.ts +0 -162
  187. package/src/cardano/__tests__/toolbox.test.ts +0 -48
  188. package/src/cardano/index.ts +0 -2
  189. package/src/cardano/toolbox.ts +0 -168
  190. package/src/cardano/types.ts +0 -10
  191. package/src/cosmos/__tests__/toolbox.test.ts +0 -95
  192. package/src/cosmos/index.ts +0 -4
  193. package/src/cosmos/thorchainUtils/addressFormat.ts +0 -22
  194. package/src/cosmos/thorchainUtils/index.ts +0 -4
  195. package/src/cosmos/thorchainUtils/messages.ts +0 -212
  196. package/src/cosmos/thorchainUtils/registry.ts +0 -43
  197. package/src/cosmos/thorchainUtils/types/MsgCompiled.ts +0 -2800
  198. package/src/cosmos/thorchainUtils/types/client-types.ts +0 -54
  199. package/src/cosmos/thorchainUtils/types/index.ts +0 -1
  200. package/src/cosmos/toolbox/cosmos.ts +0 -350
  201. package/src/cosmos/toolbox/index.ts +0 -35
  202. package/src/cosmos/toolbox/thorchain.ts +0 -249
  203. package/src/cosmos/types.ts +0 -48
  204. package/src/cosmos/util.ts +0 -214
  205. package/src/evm/__tests__/address-validation.test.ts +0 -84
  206. package/src/evm/__tests__/ethereum.test.ts +0 -137
  207. package/src/evm/__tests__/signMessage.test.ts +0 -60
  208. package/src/evm/api.ts +0 -10
  209. package/src/evm/contracts/eth/multicall.ts +0 -165
  210. package/src/evm/contracts/op/gasOracle.ts +0 -145
  211. package/src/evm/helpers.ts +0 -71
  212. package/src/evm/index.ts +0 -4
  213. package/src/evm/toolbox/baseEVMToolbox.ts +0 -698
  214. package/src/evm/toolbox/evm.ts +0 -66
  215. package/src/evm/toolbox/index.ts +0 -44
  216. package/src/evm/toolbox/op.ts +0 -143
  217. package/src/evm/types.ts +0 -146
  218. package/src/index.ts +0 -260
  219. package/src/near/__tests__/core.test.ts +0 -70
  220. package/src/near/helpers/core.ts +0 -85
  221. package/src/near/helpers/gasEstimation.ts +0 -96
  222. package/src/near/helpers/nep141.ts +0 -50
  223. package/src/near/index.ts +0 -21
  224. package/src/near/toolbox.ts +0 -421
  225. package/src/near/types/contract.ts +0 -32
  226. package/src/near/types/nep141.ts +0 -34
  227. package/src/near/types/toolbox.ts +0 -55
  228. package/src/near/types.ts +0 -44
  229. package/src/radix/index.ts +0 -138
  230. package/src/ripple/index.ts +0 -179
  231. package/src/solana/index.ts +0 -36
  232. package/src/solana/toolbox.ts +0 -409
  233. package/src/substrate/balance.ts +0 -88
  234. package/src/substrate/index.ts +0 -2
  235. package/src/substrate/substrate.ts +0 -281
  236. package/src/substrate/types.ts +0 -115
  237. package/src/sui/__tests__/toolbox.test.ts +0 -86
  238. package/src/sui/index.ts +0 -2
  239. package/src/sui/toolbox.ts +0 -166
  240. package/src/sui/types.ts +0 -11
  241. package/src/ton/__tests__/toolbox.test.ts +0 -67
  242. package/src/ton/index.ts +0 -2
  243. package/src/ton/toolbox.ts +0 -136
  244. package/src/ton/types.ts +0 -13
  245. package/src/tron/__tests__/toolbox.test.ts +0 -221
  246. package/src/tron/helpers/trc20.abi.ts +0 -107
  247. package/src/tron/helpers/trongrid.ts +0 -53
  248. package/src/tron/index.ts +0 -21
  249. package/src/tron/toolbox.ts +0 -585
  250. package/src/tron/types.ts +0 -83
  251. package/src/types.ts +0 -28
  252. package/src/utils.ts +0 -34
  253. package/src/utxo/__tests__/zcash-integration.test.ts +0 -97
  254. package/src/utxo/helpers/api.ts +0 -471
  255. package/src/utxo/helpers/bchaddrjs.ts +0 -166
  256. package/src/utxo/helpers/coinselect.ts +0 -92
  257. package/src/utxo/helpers/index.ts +0 -4
  258. package/src/utxo/helpers/txSize.ts +0 -137
  259. package/src/utxo/index.ts +0 -6
  260. package/src/utxo/toolbox/bitcoinCash.ts +0 -243
  261. package/src/utxo/toolbox/index.ts +0 -59
  262. package/src/utxo/toolbox/params.ts +0 -18
  263. package/src/utxo/toolbox/utxo.ts +0 -439
  264. package/src/utxo/toolbox/validators.ts +0 -36
  265. package/src/utxo/toolbox/zcash.ts +0 -242
  266. package/src/utxo/types.ts +0 -39
@@ -1,5 +1 @@
1
- var jB=Object.create;var{getPrototypeOf:qB,defineProperty:WX,getOwnPropertyNames:WB}=Object;var LB=Object.prototype.hasOwnProperty;var wZ=(X,B,Z)=>{Z=X!=null?jB(qB(X)):{};let G=B||!X||!X.__esModule?WX(Z,"default",{value:X,enumerable:!0}):Z;for(let $ of WB(X))if(!LB.call(G,$))WX(G,$,{get:()=>X[$],enumerable:!0});return G};var YB=(X,B)=>{for(var Z in B)WX(X,Z,{get:B[Z],enumerable:!0,configurable:!0,set:(G)=>B[Z]=()=>G})};var H=(X,B)=>()=>(X&&(B=X(X=0)),B);var KZ=((X)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(X,{get:(B,Z)=>(typeof require<"u"?require:B)[Z]}):X)(function(X){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+X+'" is not supported')});import{AssetValue as kX,getChainConfig as TB}from"@swapkit/helpers";import{SwapKitApi as DB}from"@swapkit/helpers/api";function fX(){function X(){let B=Date.now(),Z=LX||B;return LX=Z,B>LX?B:Z+1}return UB+X().toString(36)}function RX(X){return async function(Z,G=!0){let $=await DB.getChainBalance({address:Z,chain:X,scamFilter:G}),{baseDecimal:Q}=TB(X),J=$.map(({identifier:q,value:W,decimal:L})=>{return new kX({decimal:L||Q,identifier:q,value:W})});if(!J.some((q)=>q.isGasAsset))return[kX.from({chain:X}),...J];return J}}var UB,LX=0;var YX=H(()=>{UB=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{networks as zB}from"@bitgo/utxo-lib";import{Chain as z,getRPCUrl as CB,RequestClient as t,SKConfig as IB,SwapKitError as E,warnOnce as _B}from"@swapkit/helpers";import{networks as MB}from"bitcoinjs-lib";import p from"coininfo";async function HB({chain:X,txHash:B}){let Z=`${e(X)}/push/transaction`,G=JSON.stringify({data:B});try{let $=await t.post(Z,{body:G,headers:{"Content-Type":"application/json"}});if($.context.code!==200)throw new E("toolbox_utxo_broadcast_failed",{error:$.context.error||"Transaction broadcast failed"});return $.data?.transaction_hash||B}catch($){let Q=await CB(X);if(Q){let J=JSON.stringify({id:fX(),jsonrpc:"2.0",method:"sendrawtransaction",params:[B]}),j=await t.post(Q,{body:J,headers:{"Content-Type":"application/json"}});if(j.error)throw new E("toolbox_utxo_broadcast_failed",{error:j.error?.message});if(j.result.includes('"code":-26'))throw new E("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return j.result}throw $}}function e(X){return`https://api.blockchair.com/${vB(X)}`}function PX(X){switch(X){case z.Bitcoin:return 5;case z.Dogecoin:return 1e4;case z.Litecoin:return 1;case z.Zcash:return 1;default:return 2}}function vB(X){switch(X){case z.BitcoinCash:return"bitcoin-cash";case z.Litecoin:return"litecoin";case z.Dash:return"dash";case z.Dogecoin:return"dogecoin";case z.Zcash:return"zcash";case z.Polkadot:return"polkadot";default:return"bitcoin"}}async function NB(X){try{let{feePerKb:B}=await t.get(`https://app.bitgo.com/api/v2/${X.toLowerCase()}/tx/fee`),Z=B/1000;return Math.max(Z,PX(X))}catch{return PX(X)}}async function TX(X,B){let Z=await t.get(`${X}${B?`${X.includes("?")?"&":"?"}key=${B}`:""}`);if(!Z||Z.context.code!==200)throw new E("toolbox_utxo_api_error",{error:`Failed to query ${X}`});return Z.data}async function wX({address:X,chain:B,apiKey:Z}){if(!X)throw new E("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await TX(`${e(B)}/dashboards/address/${X}?transaction_details=true`,Z))[X]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function OB({address:X,chain:B,apiKey:Z}){return(await wX({address:X,apiKey:Z,chain:B}))?.address.balance||0}async function KX({chain:X,apiKey:B,txHash:Z}){if(!Z)throw new E("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await TX(`${e(X)}/raw/transaction/${Z}`,B))?.[Z]?.raw_transaction||""}catch(G){let $=G instanceof Error?G.message:String(G);return console.error(`Failed to fetch raw transaction: ${$}`),""}}async function yB({chain:X,address:B,apiKey:Z,offset:G=0,limit:$=30}){return(await TX(`${e(X)}/outputs?q=recipient(${B}),is_spent(false),value(..2000000000000000)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${$}&offset=${G}`,Z)).map(({is_spent:q,script_hex:W,block_id:L,transaction_hash:Y,index:D,value:T,spending_signature_hex:U})=>({hash:Y,index:D,is_confirmed:L!==-1,is_spent:q,script_hex:W,txHex:U,value:T}))}function AB(X){return X.reduce((B,Z)=>B+Z.value,0)}function VX(X,B){let Z=[...X].sort((G,$)=>$.value-G.value);if(B){let G=[],$=0;for(let Q of Z)if(G.push(Q),$+=Q.value,$>=B)break;return G}return Z}async function SX({chain:X,address:B,apiKey:Z,targetValue:G,accumulativeValue:$=0,offset:Q=0,limit:J=30}){if(!B)throw new E("toolbox_utxo_invalid_params",{error:"Address is required"});try{let j=await yB({address:B,apiKey:Z,chain:X,limit:J,offset:Q,targetValue:G}),W=j.length<J,L=j.filter(({is_spent:C})=>!C),Y=AB(L),D=$+Y,T=G&&D>=G;if(W||T)return VX(L,G);let U=await SX({accumulativeValue:D,address:B,apiKey:Z,chain:X,limit:J,offset:Q+J,targetValue:G}),I=[...L,...U];return VX(I,G)}catch(j){let q=j instanceof Error?j.message:String(j);return console.error(`Failed to fetch unspent UTXOs: ${q}`),[]}}async function FB({address:X,chain:B,apiKey:Z,fetchTxHex:G=!0,targetValue:$}){let Q=await SX({address:X,apiKey:Z,chain:B,targetValue:$}),J=[];for(let{hash:j,index:q,script_hex:W,value:L}of Q){let Y;if(G)Y=await KX({apiKey:Z,chain:B,txHash:j});J.push({address:X,hash:j,index:q,txHex:Y,value:L,witnessUtxo:{script:Buffer.from(W,"hex"),value:L}})}return J}function _(X){let B=IB.get("apiKeys").blockchair||"";return _B({condition:!B,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(Z)=>HB({chain:X,txHash:Z}),getAddressData:(Z)=>wX({address:Z,apiKey:B,chain:X}),getBalance:(Z)=>OB({address:Z,apiKey:B,chain:X}),getRawTx:(Z)=>KX({apiKey:B,chain:X,txHash:Z}),getSuggestedTxFee:()=>NB(X),getUtxos:(Z)=>FB({...Z,apiKey:B,chain:X})}}function EB(X){return X}function N(){return function(B){switch(B){case z.Bitcoin:return MB.bitcoin;case z.BitcoinCash:return p.bitcoincash.main.toBitcoinJS();case z.Dash:return p.dash.main.toBitcoinJS();case z.Litecoin:return p.litecoin.main.toBitcoinJS();case z.Dogecoin:{let Z={private:70615956,public:70617039},G=p.dogecoin.test;return G.versions.bip32=Z,p.dogecoin.main.toBitcoinJS()}case z.Zcash:return zB.zcash;default:throw new E("toolbox_utxo_not_supported",{chain:B})}}}var bX=H(()=>{YX()});import{SwapKitError as gX}from"@swapkit/helpers";import mX from"bs58check";import lX from"cashaddrjs";function UX(X){try{return XX(X),!0}catch{return!1}}function zX(X){return XX(X)?.network}function b(X){let B=XX(X);if(B?.format==="legacy")return X;return RB(B)}function o(X){let B=XX(X);return PB(B)}function XX(X){try{let B=kB(X);if(B)return B}catch{}try{let B=fB(X);if(B)return B}catch{}throw new gX("toolbox_utxo_invalid_address",{address:X})}function kB(X){try{let B=mX.decode(X);if(B.length!==21)throw new gX("toolbox_utxo_invalid_address",{address:X});let Z=B[0],G=Array.prototype.slice.call(B,1);switch(Z){case P.legacy.mainnet.p2pkh:return{format:"legacy",hash:G,network:"mainnet",type:"p2pkh"};case P.legacy.mainnet.p2sh:return{format:"legacy",hash:G,network:"mainnet",type:"p2sh"};case P.legacy.testnet.p2pkh:return{format:"legacy",hash:G,network:"testnet",type:"p2pkh"};case P.legacy.testnet.p2sh:return{format:"legacy",hash:G,network:"testnet",type:"p2sh"};case P.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:G,network:"mainnet",type:"p2pkh"};case P.bitpay.mainnet.p2sh:return{format:"bitpay",hash:G,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function fB(X){if(X.indexOf(":")!==-1)try{return xX(X)}catch{}else{let B=["bitcoincash","bchtest","bchreg"];for(let Z of B)try{return xX(`${Z}:${X}`)}catch{}}return}function xX(X){try{let{hash:B,prefix:Z,type:G}=lX.decode(X);return{format:"cashaddr",hash:Array.prototype.slice.call(B,0),network:Z==="bitcoincash"?"mainnet":"testnet",type:G==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function RB(X){let B=P.legacy[X.network][X.type],Z=Buffer.alloc(1+X.hash.length);return Z[0]=B,Z.set(X.hash,1),mX.encode(Z)}function PB(X){let B=X.network==="mainnet"?"bitcoincash":"bchtest",Z=X.type==="p2pkh"?"P2PKH":"P2SH",G=new Uint8Array(X.hash);return lX.encode(B,Z,G)}var DX,P;var hX=H(()=>{((Z)=>{Z.Mainnet="mainnet";Z.Testnet="testnet"})(DX||={});P={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});import{SwapKitError as VB}from"@swapkit/helpers";import{opcodes as wB,script as KB}from"bitcoinjs-lib";function O(X){let B=Buffer.from(X,"utf8");return KB.compile([wB.OP_RETURN,B])}var SB=1000,GX=10,cX=10,bB=41,xB=107,JX,BX,ZX,n=(X)=>{if(X.startsWith("bc1")||X.startsWith("tb1")||X.startsWith("ltc1")||X.startsWith("tltc1"))return"P2WPKH";if(X.startsWith("1")||X.startsWith("m")||X.startsWith("n")||X.startsWith("bitcoincash:q")||X.startsWith("bitcoincash:p")||X.startsWith("q")||X.startsWith("p")||X.startsWith("L")||X.startsWith("M")||X.startsWith("3")||X.startsWith("D")||X.startsWith("A")||X.startsWith("9")||X.startsWith("X")||X.startsWith("7")||X.startsWith("y")||X.startsWith("t1")||X.startsWith("t3")||X.startsWith("tm"))return"P2PKH";throw new VB("toolbox_utxo_invalid_address",{address:X})},x=({inputs:X,outputs:B,feeRate:Z})=>{let G=X[0]&&"address"in X[0]&&X[0].address?n(X[0].address):"P2PKH",$=X.filter((J)=>J.value>=BX["type"in J?J.type:"P2PKH"]*Math.ceil(Z)).reduce((J,j)=>J+k(j),0),Q=B?.reduce((J,j)=>J+u(j),0)||ZX[G];return GX+$+Q},k=(X)=>{if("type"in X)return BX[X.type];if("address"in X&&X.address)return BX[n(X.address)];return bB+xB},u=(X,B)=>{if(X?.script)return cX+X.script.length+(X.script.length>=74?2:1);if(B)return ZX[B];return ZX.P2PKH};var CX=H(()=>{((Z)=>{Z.P2PKH="P2PKH";Z.P2WPKH="P2WPKH"})(JX||={});BX={["P2PKH"]:148,["P2WPKH"]:68},ZX={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as V,SwapKitError as gB}from"@swapkit/helpers";function QX(X){switch(X){case V.Bitcoin:case V.BitcoinCash:return 550;case V.Dash:case V.Litecoin:return 5500;case V.Dogecoin:return 1e5;case V.Zcash:return 546;default:throw new gB("toolbox_utxo_not_supported",{chain:X})}}function y({inputs:X,outputs:B,feeRate:Z=1,chain:G=V.Bitcoin,changeAddress:$=""}){let Q=Math.ceil(Z),J=X[0]&&"address"in X[0]&&X[0].address?n(X[0].address):"P2PKH",j=X.filter((T)=>k(T)*Q<=T.value),q=GX+B.reduce((T,U)=>T+u(U,J),0),W=B.reduce((T,U)=>T+U.value,0),L=q*Q,Y=0,D=[];for(let T of j){let U=k(T),I=Q*U;L+=I,Y+=T.value,D.push(T);let C=L+W;if(Y<C)continue;let c=Y-C,R=Q*u({address:"",value:0},J);if(c>R){let FX=R+L,EX=Y-(W+FX);if(EX>Math.max(k({})*Q,QX(G)))return{fee:FX,inputs:D,outputs:B.concat({address:$,value:EX})}}return{fee:L,inputs:D,outputs:B}}return{fee:Q*x({feeRate:Q,inputs:X,outputs:B})}}var pX=H(()=>{CX()});var g=H(()=>{bX();hX();pX();CX()});import{networks as mB,address as lB}from"@bitgo/utxo-lib";import hB from"bs58check";function w(X){return X.replace(/(bchtest:|bitcoincash:)/,"")}function f(X){let B=w(X);return UX(B)&&zX(B)==="mainnet"}function m(X){try{if(X.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let B=mB.zcash;try{return lB.toOutputScript(X,B),!0}catch{let Z=hB.decode(X);if(Z.length<21)return!1;let G=Z[0];return G===B.pubKeyHash||G===B.scriptHash}}catch{return!1}}var r=H(()=>{g()});import _X from"@bitcoinerlab/secp256k1";import{ECPair as cB,HDNode as pB}from"@psf/bitcoincashjs-lib";import{HDKey as oB}from"@scure/bip32";import{mnemonicToSeedSync as oX}from"@scure/bip39";import{AssetValue as IX,applyFeeMultiplier as nX,Chain as M,DerivationPath as nB,derivationPathToString as uB,FeeOption as A,NetworkDerivationPath as rB,SwapKitError as F,SwapKitNumber as dB,updateDerivationPath as iB}from"@swapkit/helpers";import{address as sB,initEccLib as rX,Psbt as aB,payments as uX}from"bitcoinjs-lib";import{ECPairFactory as tB}from"ecpair";function dX({inputs:X,outputs:B,chain:Z,psbt:G,sender:$,compiledMemo:Q}){for(let J of X){let j=!!J.witnessUtxo&&!d.includes(Z)&&{witnessUtxo:J.witnessUtxo},q=d.includes(Z)&&{nonWitnessUtxo:J.txHex?Buffer.from(J.txHex,"hex"):void 0};G.addInput({hash:J.hash,index:J.index,...j,...q})}for(let J of B){let j="address"in J&&J.address?J.address:$,q=J.script;if(q&&!Q)continue;let W=q?{script:Q,value:0}:{address:j,value:J.value};rX(_X),G.addOutput(W)}return{inputs:X,psbt:G}}async function iX({assetValue:X,recipient:B,memo:Z,feeRate:G,sender:$,fetchTxHex:Q=!1}){let J=X.chain,j=Z?await O(Z):null,q=await tX({assetValue:X,fetchTxHex:Q,memo:Z,recipient:B,sender:$}),{inputs:W,outputs:L}=y({...q,chain:J,feeRate:G});if(!(W&&L))throw new F("toolbox_utxo_insufficient_balance",{assetValue:X,sender:$});let Y=await N(),D=new aB({network:Y(J)});if(J===M.Dogecoin)D.setMaximumFeeRate(650000000);let{psbt:T,inputs:U}=await dX({chain:J,compiledMemo:j,inputs:W,outputs:L,psbt:D,sender:$});return{inputs:U,psbt:T,utxos:q.inputs}}async function sX(){let X=await N();return function({address:Z,chain:G}){if(G===M.BitcoinCash)return f(Z);if(G===M.Zcash)return m(Z);try{return rX(_X),sB.toOutputScript(Z,X(G)),!0}catch{return!1}}}async function eB({chain:X,phrase:B,derivationPath:Z}){let G=(await i(X))({derivationPath:Z,phrase:B});async function $(J){return await J.signAllInputs(G),J}function Q(){return MX(X)(G)}return{getAddress:Q,signTransaction:$}}async function K({chain:X,...B}){let Z="phrase"in B?B.phrase:void 0,G="index"in B?B.index||0:0,$=uB("derivationPath"in B&&B.derivationPath?B.derivationPath:iB(rB[X],{index:G})),Q=Z?await eB({chain:X,derivationPath:$,phrase:Z}):("signer"in B)?B.signer:void 0;function J(){return Promise.resolve(Q?.getAddress())}let j=await sX(),q=await i(X);return{accumulative:y,broadcastTx:(W)=>_(X).broadcastTx(W),calculateTxSize:x,createKeysForPath:q,createTransaction:iX,estimateMaxSendableAmount:XZ(X),estimateTransactionFee:BZ(X),getAddress:J,getAddressFromKeys:MX(X),getBalance:RX(X),getFeeRates:()=>s(X),getInputsOutputsFee:aX,getPrivateKeyFromMnemonic:(W)=>{return q(W).toWIF()},transfer:ZZ(Q),validateAddress:(W)=>j({address:W,chain:X})}}async function aX({assetValue:X,feeOptionKey:B=A.Fast,feeRate:Z,memo:G,sender:$,recipient:Q}){let J=X.chain,j=await tX({assetValue:X,memo:G,recipient:Q,sender:$}),q=Z?Math.floor(Z):(await s(J))[B];return y({...j,chain:J,feeRate:q})}function XZ(X){return async function({from:Z,memo:G,feeRate:$,feeOptionKey:Q=A.Fast,recipients:J=1}){let j=await _(X).getAddressData(Z),q=$?Math.ceil($):(await s(X))[Q],W=j?.utxo.map((U)=>({...U,hash:"",type:"P2PKH"})).filter((U)=>U.value>Math.max(QX(X),k(U)*q));if(!W?.length)return IX.from({chain:X});let L=IX.from({chain:X,value:W.reduce((U,I)=>U+I.value,0)}),Y=typeof J==="number"?Array.from({length:J},()=>({address:Z,value:0})):J;if(G){let U=await O(G);Y.push({address:Z,script:U,value:0})}let T=x({feeRate:q,inputs:W,outputs:Y})*q;return L.sub(T)}}function BZ(X){return async(B)=>{let Z=await aX(B);return IX.from({chain:X,value:dB.fromBigInt(BigInt(Z.fee),8).getValue("string")})}}async function i(X){let B=await N();switch(X){case M.BitcoinCash:return function({phrase:G,derivationPath:$=`${nB.BCH}/0`,wif:Q}){let J=B(X);if(Q)return cB.fromWIF(Q,J);if(!G)throw new F("toolbox_utxo_invalid_params",{error:"No phrase provided"});return pB.fromSeedBuffer(Buffer.from(oX(G)),J).derivePath($).keyPair};case M.Bitcoin:case M.Dogecoin:case M.Litecoin:case M.Zcash:case M.Dash:return function({phrase:G,wif:$,derivationPath:Q}){if(!($||G))throw new F("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let J=tB(_X),j=B(X);if($)return J.fromWIF($,j);let q=oX(G),W=oB.fromMasterSeed(q,j).derive(Q);if(!W.privateKey)throw new F("toolbox_utxo_invalid_params",{error:"Could not get private key from phrase"});return J.fromPrivateKey(Buffer.from(W.privateKey),{network:j})};default:throw new F("toolbox_utxo_not_supported",{chain:X})}}function MX(X){let B=N();return function(G){if(!G)throw new F("toolbox_utxo_invalid_params",{error:"Keys must be provided"});let $=d.includes(X)?uX.p2pkh:uX.p2wpkh,{address:Q}=$({network:B(X),pubkey:G.publicKey});if(!Q)throw new F("toolbox_utxo_invalid_address",{error:"Address not defined"});return Q}}function ZZ(X){return async function({memo:Z,recipient:G,feeOptionKey:$,feeRate:Q,assetValue:J}){let j=await X?.getAddress(),q=J.chain;if(!(X&&j))throw new F("toolbox_utxo_no_signer");if(!G)throw new F("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let W=Q||(await s(q))[$||A.Fast],{psbt:L}=await iX({assetValue:J,feeRate:W,memo:Z,recipient:G,sender:j}),Y=await X.signTransaction(L);return Y.finalizeAllInputs(),_(q).broadcastTx(Y.extractTransaction().toHex())}}async function s(X){let B=await _(X).getSuggestedTxFee();return{[A.Average]:B,[A.Fast]:nX(B,A.Fast),[A.Fastest]:nX(B,A.Fastest)}}async function tX({assetValue:X,recipient:B,memo:Z,sender:G,fetchTxHex:$=!1}){let Q=X.chain,J=(await s(Q))[A.Fastest],j=$||d.includes(Q),q=X.getBaseValue("number"),W=Math.ceil(q+J*5000);return{inputs:await _(Q).getUtxos({address:G,fetchTxHex:j,targetValue:W}),outputs:[{address:B,value:q},...Z?[{address:"",script:await O(Z),value:0}]:[]]}}var d;var a=H(()=>{YX();g();r();d=[M.Dash,M.Dogecoin,M.Zcash,M.BitcoinCash]});import{address as GZ,Transaction as JZ,TransactionBuilder as QZ}from"@psf/bitcoincashjs-lib";import{Chain as $Z,derivationPathToString as jZ,FeeOption as qZ,NetworkDerivationPath as WZ,SwapKitError as l,updateDerivationPath as LZ}from"@swapkit/helpers";import{Psbt as YZ}from"bitcoinjs-lib";function S(X){return w(o(X))}function TZ(X){function B({builder:G,utxos:$}){return $.forEach((Q,J)=>{G.sign(J,X,void 0,65,Q.witnessUtxo?.value)}),G.build()}return{getAddress:()=>{let G=X.getAddress(0);return Promise.resolve(S(G))},signTransaction:B}}async function HX(X){let B="phrase"in X?X.phrase:void 0,Z="index"in X?X.index||0:0,G=jZ("derivationPath"in X&&X.derivationPath?X.derivationPath:LZ(WZ[v],{index:Z})),$=B?(await i(v))({derivationPath:G,phrase:B}):void 0,Q=$?TZ($):("signer"in X)?X.signer:void 0;function J(){return Promise.resolve(Q?.getAddress())}let{getBalance:j,getFeeRates:q,broadcastTx:W,...L}=await K({chain:v});function Y(D,T=!0){return j(w(o(D)))}return{...L,broadcastTx:W,buildTx:UZ,createTransaction:eX,getAddress:J,getAddressFromKeys:zZ,getBalance:Y,getFeeRates:q,stripPrefix:w,stripToCashAddress:S,transfer:DZ({broadcastTx:W,getFeeRates:q,signer:Q}),validateAddress:f}}async function eX({assetValue:X,recipient:B,memo:Z,feeRate:G,sender:$}){if(!f(B))throw new l("toolbox_utxo_invalid_address",{address:B});let Q=Math.ceil(X.getBaseValue("number")+G*7500),J=await _(v).getUtxos({address:S($),fetchTxHex:!0,targetValue:Q}),j=Z?await O(Z):null,q=[];q.push({address:B,value:X.getBaseValue("number")});let{inputs:W,outputs:L}=y({chain:v,feeRate:G,inputs:J,outputs:q});if(!(W&&L))throw new l("toolbox_utxo_insufficient_balance",{assetValue:X,sender:$});let Y=await N(),D=new QZ(Y(v));await Promise.all(W.map(async(T)=>{let U=await _(v).getRawTx(T.hash);D.addInput(JZ.fromBuffer(Buffer.from(U,"hex")),T.index)}));for(let T of L){let U="address"in T&&T.address?T.address:b($),I=await N(),C=GZ.toOutputScript(b(U),I(v));D.addOutput(C,T.value)}if(j)D.addOutput(j,0);return{builder:D,utxos:W}}function DZ({broadcastTx:X,getFeeRates:B,signer:Z}){return async function({recipient:$,assetValue:Q,feeOptionKey:J=qZ.Fast,...j}){let q=await Z?.getAddress();if(!(Z&&q))throw new l("toolbox_utxo_no_signer");if(!$)throw new l("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let W=j.feeRate||(await B())[J],{builder:L,utxos:Y}=await eX({...j,assetValue:Q,feeRate:W,recipient:$,sender:q}),T=(await Z.signTransaction({builder:L,utxos:Y})).toHex();return X(T)}}async function UZ({assetValue:X,recipient:B,memo:Z,feeRate:G,sender:$,setSigHashType:Q}){let J=o(B);if(!f(J))throw new l("toolbox_utxo_invalid_address",{address:J});let j=Math.ceil(X.getBaseValue("number")+G*7500),q=await _(v).getUtxos({address:S($),fetchTxHex:!1,targetValue:j}),W=Number(G.toFixed(0)),L=Z?await O(Z):null,Y=[];if(Y.push({address:b(B),value:X.getBaseValue("number")}),L)Y.push({script:L,value:0});let{inputs:D,outputs:T}=y({chain:v,feeRate:W,inputs:q,outputs:Y});if(!(D&&T))throw new l("toolbox_utxo_insufficient_balance",{assetValue:X,sender:$});let U=await N(),I=new YZ({network:U(v)});for(let{hash:C,index:c,witnessUtxo:R}of D)I.addInput({hash:C,index:c,sighashType:Q?65:void 0,witnessUtxo:R});for(let C of T){let c="address"in C&&C.address?C.address:b($),R=C.script?L?{script:L,value:0}:void 0:{address:c,value:C.value};if(R)I.addOutput(R)}return{inputs:D,psbt:I,utxos:q}}function zZ(X){let B=X.getAddress(0);return S(B)}var v;var $X=H(()=>{g();a();r();v=$Z.BitcoinCash});import{bitgo as CZ,crypto as IZ,ECPair as ZB,networks as _Z,address as MZ}from"@bitgo/utxo-lib";import{ZcashTransaction as XB}from"@bitgo/utxo-lib/dist/src/bitgo";import{HDKey as GB}from"@scure/bip32";import{mnemonicToSeedSync as JB}from"@scure/bip39";import{Chain as jX,derivationPathToString as HZ,FeeOption as vZ,NetworkDerivationPath as NZ,SKConfig as OZ,SwapKitError as qX,updateDerivationPath as yZ}from"@swapkit/helpers";import AZ from"bs58check";import{match as FZ,P as vX}from"ts-pattern";function NX(){return _Z.zcash}function QB(){return{bech32:void 0,bip32:{private:76066276,public:76067358},messagePrefix:`\x18ZCash Signed Message:
2
- `,pubKeyHash:28,scriptHash:28,wif:128}}function EZ({phrase:X,derivationPath:B}){let Z=JB(X),$=GB.fromMasterSeed(Z).derive(B);if(!$.privateKey)throw new qX("toolbox_utxo_invalid_params");let Q=QB(),J=ZB.fromPrivateKey(Buffer.from($.privateKey),{network:Q}),j=IZ.hash160(J.publicKey),{isStagenet:q}=OZ.get("envs"),W=q?Buffer.from([29,37]):Buffer.from([28,184]),L=Buffer.concat([W,j]),Y=AZ.encode(L);return{getAddress:()=>Promise.resolve(Y),signTransaction:(D)=>{let T=D.signAllInputs(J);return Promise.resolve(T)}}}function kZ({inputs:X,outputs:B,psbt:Z,sender:G,compiledMemo:$}){for(let Q of X){let J=!!Q.witnessUtxo&&{witnessUtxo:{...Q.witnessUtxo,value:BigInt(Q.value)}},j=!Q.witnessUtxo&&{nonWitnessUtxo:Q.txHex?Buffer.from(Q.txHex,"hex"):void 0};Z.addInput({hash:Q.hash,index:Q.index,...J,...j})}for(let Q of B){let J="address"in Q&&Q.address?Q.address:G,j=Q.script;if(j&&!$)continue;let q=j?{script:$,value:0n}:{script:MZ.toOutputScript(J,NX()),value:BigInt(Q.value)};Z.addOutput(q)}return{inputs:X,psbt:Z}}async function BB(X){let{assetValue:B,recipient:Z,memo:G,feeRate:$,sender:Q,fetchTxHex:J}=X,j=G?O(G):null,q=await _(jX.Zcash).getUtxos({address:Q,fetchTxHex:J!==!1}),W=[{address:Z,value:Number(B.getBaseValue("string"))},...j?[{script:j,value:0}]:[]],{inputs:L,outputs:Y}=y({chain:jX.Zcash,changeAddress:Q,feeRate:$,inputs:q,outputs:W});if(!(L&&Y))throw new qX("toolbox_utxo_insufficient_balance",{assetValue:B,sender:Q});let D=CZ.createPsbtForNetwork({network:NX()},{version:XB.VERSION4_BRANCH_NU6_1}),{psbt:T,inputs:U}=await kZ({compiledMemo:j,inputs:L,outputs:Y,psbt:D,sender:Q});return T.setDefaultsForVersion(NX(),XB.VERSION4_BRANCH_NU6_1),{inputs:U,outputs:Y,psbt:T}}async function OX(X){let B=await FZ(X).with({signer:vX.not(vX.nullish)},({signer:J})=>Promise.resolve(J)).with({phrase:vX.string},({phrase:J,derivationPath:j,index:q=0})=>{let W=j||NZ[jX.Zcash]||[44,133,0,0,0],L=yZ(W,{index:q}),Y=HZ(L);return EZ({derivationPath:Y,phrase:J})}).otherwise(()=>Promise.resolve(void 0)),Z=await K({chain:jX.Zcash,signer:B});async function G({recipient:J,assetValue:j,feeOptionKey:q=vZ.Fast,...W}){let L=await B?.getAddress();if(!(B&&L))throw new qX("toolbox_utxo_no_signer");let Y=W.feeRate||(await Z.getFeeRates())[q],{psbt:D}=await BB({...W,assetValue:j,feeRate:Y,recipient:J,sender:L}),T=await B.signTransaction(D);T.validateSignaturesOfAllInputs(),T.finalizeAllInputs();let I=T.extractTransaction().toHex();return Z.broadcastTx(I)}function $({phrase:J,derivationPath:j="m/44'/133'/0'/0/0"}){let q=JB(J),L=GB.fromMasterSeed(q).derive(j);if(!L.privateKey)throw new qX("toolbox_utxo_invalid_params");let Y=QB();return ZB.fromPrivateKey(Buffer.from(L.privateKey),{network:Y})}function Q({phrase:J,derivationPath:j="m/44'/133'/0'/0/0"}){return $({derivationPath:j,phrase:J}).toWIF()}return{...Z,createKeysForPath:$,createTransaction:BB,getPrivateKeyFromMnemonic:Q,transfer:G,validateAddress:m}}var yX=H(()=>{g();a();r()});import{Chain as h,SwapKitError as fZ}from"@swapkit/helpers";async function RZ(X,B){switch(X){case h.BitcoinCash:return await HX(B||{});case h.Zcash:return await OX(B);case h.Bitcoin:case h.Dogecoin:case h.Litecoin:case h.Dash:return await K({chain:X,...B});default:throw new fZ("toolbox_utxo_not_supported",{chain:X})}}var $B=H(()=>{$X();a();yX();$X();r()});var PZ={};YB(PZ,{validateZcashAddress:()=>m,toLegacyAddress:()=>b,toCashAddress:()=>o,stripToCashAddress:()=>S,stripPrefix:()=>w,nonSegwitChains:()=>d,isValidAddress:()=>UX,getUtxoToolbox:()=>RZ,getUtxoNetwork:()=>N,getUtxoApi:()=>_,getUTXOAddressValidator:()=>sX,getScriptTypeForAddress:()=>n,getOutputSize:()=>u,getInputSize:()=>k,getDustThreshold:()=>QX,getCreateKeysForPath:()=>i,detectAddressNetwork:()=>zX,createZcashToolbox:()=>OX,createUTXOToolbox:()=>K,createCustomUtxoApi:()=>EB,createBCHToolbox:()=>HX,compileMemo:()=>O,calculateTxSize:()=>x,bchValidateAddress:()=>f,addressFromKeysGetter:()=>MX,addInputsAndOutputs:()=>dX,accumulative:()=>y,UtxoNetwork:()=>DX,UTXOScriptType:()=>JX,TX_OVERHEAD:()=>GX,OutputSizes:()=>ZX,OP_RETURN_OVERHEAD:()=>cX,MIN_TX_FEE:()=>SB,InputSizes:()=>BX});var VZ=H(()=>{g();$B();$X();a();yX()});VZ();export{m as validateZcashAddress,b as toLegacyAddress,o as toCashAddress,S as stripToCashAddress,w as stripPrefix,d as nonSegwitChains,UX as isValidAddress,RZ as getUtxoToolbox,N as getUtxoNetwork,_ as getUtxoApi,sX as getUTXOAddressValidator,n as getScriptTypeForAddress,u as getOutputSize,k as getInputSize,QX as getDustThreshold,i as getCreateKeysForPath,zX as detectAddressNetwork,OX as createZcashToolbox,K as createUTXOToolbox,EB as createCustomUtxoApi,HX as createBCHToolbox,O as compileMemo,x as calculateTxSize,f as bchValidateAddress,MX as addressFromKeysGetter,dX as addInputsAndOutputs,y as accumulative,DX as UtxoNetwork,JX as UTXOScriptType,GX as TX_OVERHEAD,ZX as OutputSizes,cX as OP_RETURN_OVERHEAD,SB as MIN_TX_FEE,BX as InputSizes};
3
-
4
- //# debugId=64990C6BBFDF6B9264756E2164756E21
5
- //# sourceMappingURL=index.js.map
1
+ var r2=Object.defineProperty;var i2=(X)=>X;function s2(X,$){this[X]=i2.bind(null,$)}var a2=(X,$)=>{for(var J in $)r2(X,J,{get:$[J],enumerable:!0,configurable:!0,set:s2.bind($,J)})};var E=(X,$)=>()=>(X&&($=X(X=0)),$);var A8=((X)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(X,{get:($,J)=>(typeof require<"u"?require:$)[J]}):X)(function(X){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+X+'" is not supported')});function j2({deriveAddress:X,getBalance:$,getUtxos:J}){async function Z(L){let{count:Q,startIndex:z=0,change:G=!1}=L,W=[];for(let U=0;U<Q;U++){let B=await X({change:G,index:z+U});if(B)W.push(B)}return W}async function j(L){let{gapLimit:Q=20,change:z=!1}=L??{},G=[],W=0,U=0;while(W<Q){let B=await X({change:z,index:U});if(!B)break;if((await $(B.address)).some((O)=>O.getValue("number")>0))G.push(B),W=0;else W++;U++}return G}async function Y(L=20){let[Q,z]=await Promise.all([j({change:!1,gapLimit:L}),j({change:!0,gapLimit:L})]),G=[...Q,...z],W=await Promise.all(G.map(async(B)=>{let D=(await $(B.address)).reduce((O,n)=>O+n.getValue("number"),0);return{...B,balance:D}})),U=W.reduce((B,M)=>B+M.balance,0);return{addresses:W,total:U}}async function q(L=20){let[Q,z]=await Promise.all([j({change:!1,gapLimit:L}),j({change:!0,gapLimit:L})]),G=[...Q,...z];return(await Promise.all(G.map(async(U)=>{return(await J(U.address)).map((M)=>({...M,address:U.address,derivationIndex:U.index,isChange:U.change}))}))).flat()}return{deriveAddresses:Z,getAggregatedBalance:Y,getAggregatedUtxos:q,scanForAddresses:j}}import{AssetValue as Q2,getChainConfig as t2}from"@swapkit/helpers";import{SwapKitApi as e2}from"@swapkit/helpers/api";function G2(){function X(){let $=Date.now(),J=lX||$;return lX=J,$>lX?$:J+1}return X0+X().toString(36)}function Y2(X){return async function(J,Z=!0){let j=await e2.getChainBalance({address:J,chain:X,scamFilter:Z}),{baseDecimal:Y}=t2(X),q=j.map(({identifier:Q,value:z,decimal:G})=>{return new Q2({decimal:G||Y,identifier:Q,value:z})});if(!q.some((Q)=>Q.isGasAsset))return[Q2.from({chain:X}),...q];return q}}var X0,lX=0;var hX=E(()=>{X0=typeof process<"u"&&process.pid?process.pid.toString(36):""});import{Chain as b,getRPCUrl as $0,RequestClient as PX,SKConfig as J0,SwapKitError as w,warnOnce as Z0}from"@swapkit/helpers";import{NETWORKS as XX}from"@swapkit/utxo-signer";async function j0({chain:X,txHash:$}){let J=`${WX(X)}/push/transaction`,Z=JSON.stringify({data:$});try{let j=await PX.post(J,{body:Z,headers:{"Content-Type":"application/json"}});if(j.context.code!==200)throw new w("toolbox_utxo_broadcast_failed",{error:j.context.error||"Transaction broadcast failed"});return j.data?.transaction_hash||$}catch(j){let Y=await $0(X);if(Y){let q=JSON.stringify({id:G2(),jsonrpc:"2.0",method:"sendrawtransaction",params:[$]}),L=await PX.post(Y,{body:q,headers:{"Content-Type":"application/json"}});if(L.error)throw new w("toolbox_utxo_broadcast_failed",{error:L.error?.message});if(L.result.includes('"code":-26'))throw new w("toolbox_utxo_invalid_transaction",{error:"Transaction amount was too low"});return L.result}throw j}}function WX(X){return`https://api.blockchair.com/${Q0(X)}`}function q2(X){switch(X){case b.Bitcoin:return 5;case b.Dogecoin:return 1e4;case b.Litecoin:return 1;case b.Zcash:return 1;default:return 2}}function Q0(X){switch(X){case b.BitcoinCash:return"bitcoin-cash";case b.Litecoin:return"litecoin";case b.Dash:return"dash";case b.Dogecoin:return"dogecoin";case b.Zcash:return"zcash";case b.Polkadot:return"polkadot";default:return"bitcoin"}}async function G0(X){try{let{feePerKb:$}=await PX.get(`https://app.bitgo.com/api/v2/${X.toLowerCase()}/tx/fee`),J=$/1000;return Math.max(J,q2(X))}catch{return q2(X)}}async function bX(X,$){let J=await PX.get(`${X}${$?`${X.includes("?")?"&":"?"}key=${$}`:""}`);if(!J||J.context.code!==200)throw new w("toolbox_utxo_api_error",{error:`Failed to query ${X}`});return J.data}async function z2({address:X,chain:$,apiKey:J}){if(!X)throw new w("toolbox_utxo_invalid_params",{error:"Address is required"});try{return(await bX(`${WX($)}/dashboards/address/${X}?transaction_details=true`,J))[X]}catch{return{address:{balance:0,transaction_count:0},utxo:[]}}}async function Y0({address:X,chain:$,apiKey:J}){return(await z2({address:X,apiKey:J,chain:$}))?.address.balance||0}async function W2({chain:X,apiKey:$,txHash:J}){if(!J)throw new w("toolbox_utxo_invalid_params",{error:"TxHash is required"});try{return(await bX(`${WX(X)}/raw/transaction/${J}`,$))?.[J]?.raw_transaction||""}catch(Z){let j=Z instanceof Error?Z.message:String(Z);return console.error(`Failed to fetch raw transaction: ${j}`),""}}async function L0({chain:X,apiKey:$,txHash:J}){if(!J)throw new w("toolbox_utxo_invalid_params",{error:"TxHash is required"});let j=(await bX(`${WX(X)}/dashboards/transaction/${J}`,$))?.[J];if(!j)throw new w("toolbox_utxo_tx_not_found",{txHash:J});let{transaction:Y,inputs:q,outputs:L}=j,Q=q.map((G)=>G.spending_sequence),z=Y.is_rbf===!0||Q.some((G)=>G<q0);return{blockId:Y.block_id,confirmed:Y.block_id!==-1,fee:Y.fee,inputs:q,isRBF:z,outputs:L,sequences:Q,size:Y.size,txid:Y.hash,weight:Y.weight}}async function z0({chain:X,address:$,apiKey:J,offset:Z=0,limit:j=30}){return(await bX(`${WX(X)}/outputs?q=recipient(${$}),is_spent(false)&s=value(desc)&fields=is_spent,transaction_hash,index,value,script_hex,block_id,spending_signature_hex&limit=${j}&offset=${Z}`,J)).map(({is_spent:Q,script_hex:z,block_id:G,transaction_hash:W,index:U,value:B,spending_signature_hex:M})=>({hash:W,index:U,is_confirmed:G!==-1,is_spent:Q,script_hex:z,txHex:M,value:B}))}function W0(X){return X.reduce(($,J)=>$+J.value,0)}function L2(X,$){let J=[...X].sort((Z,j)=>j.value-Z.value);if($){let Z=[],j=0;for(let Y of J)if(Z.push(Y),j+=Y.value,j>=$)break;return Z}return J}async function U2({chain:X,address:$,apiKey:J,targetValue:Z,accumulativeValue:j=0,offset:Y=0,limit:q=30}){if(!$)throw new w("toolbox_utxo_invalid_params",{error:"Address is required"});try{let L=await z0({address:$,apiKey:J,chain:X,limit:q,offset:Y,targetValue:Z}),z=L.length<q,G=L.filter(({is_spent:O})=>!O),W=W0(G),U=j+W,B=Z&&U>=Z;if(z||B)return L2(G,Z);let M=await U2({accumulativeValue:U,address:$,apiKey:J,chain:X,limit:q,offset:Y+q,targetValue:Z}),D=[...G,...M];return L2(D,Z)}catch(L){let Q=L instanceof Error?L.message:String(L);return console.error(`Failed to fetch unspent UTXOs: ${Q}`),[]}}async function U0({address:X,chain:$,apiKey:J,fetchTxHex:Z=!0,targetValue:j}){let Y=await U2({address:X,apiKey:J,chain:$,targetValue:j}),q=[];for(let{hash:L,index:Q,script_hex:z,value:G}of Y){let W;if(Z)W=await W2({apiKey:J,chain:$,txHash:L});q.push({address:X,hash:L,index:Q,txHex:W,value:G,witnessUtxo:{script:Buffer.from(z,"hex"),value:G}})}return q}function V(X){let $=J0.get("apiKeys").blockchair||"";return Z0({condition:!$,id:"no_blockchair_api_key_warning",warning:"No Blockchair API key found. Functionality will be limited."}),{broadcastTx:(J)=>j0({chain:X,txHash:J}),getAddressData:(J)=>z2({address:J,apiKey:$,chain:X}),getBalance:(J)=>Y0({address:J,apiKey:$,chain:X}),getRawTx:(J)=>W2({apiKey:$,chain:X,txHash:J}),getSuggestedTxFee:()=>G0(X),getTransactionDetails:(J)=>L0({apiKey:$,chain:X,txHash:J}),getUtxos:(J)=>U0({...J,apiKey:$,chain:X})}}function B0(X){return X}function _0(){return function($){switch($){case b.Bitcoin:return XX.bitcoin;case b.BitcoinCash:return XX.bitcoinCash;case b.Dash:return XX.dash;case b.Litecoin:return XX.litecoin;case b.Dogecoin:return XX.dogecoin;case b.Zcash:return XX.zcash;default:throw new w("toolbox_utxo_not_supported",{chain:$})}}}var q0=4294967294;var B2=E(()=>{hX()});import{CashAddrType as EX,decodeCashAddr as M0,encodeCashAddr as N0}from"@swapkit/utxo-signer";function H0(X,$,J){return N0({hash:J,prefix:X,type:D0[$]})}function I0(X){let $=M0(X),J=C0[$.type];if(!J)throw Error(`Unknown CashAddr type: ${$.type}`);return{hash:$.hash,prefix:$.prefix,type:J}}var D0,C0,cX;var _2=E(()=>{D0={P2PKH:EX.P2PKH,P2SH:EX.P2SH},C0={[EX.P2PKH]:"P2PKH",[EX.P2SH]:"P2SH"};cX={decode:I0,encode:H0}});import{sha256 as O0}from"@noble/hashes/sha2.js";import{createBase58check as T0}from"@scure/base";import{SwapKitError as N2}from"@swapkit/helpers";function oX(X){try{return FX(X),!0}catch{return!1}}function pX(X){return FX(X)?.network}function g(X){let $=FX(X);if($?.format==="legacy")return X;return P0($)}function UX(X){let $=FX(X);return b0($)}function FX(X){try{let $=V0(X);if($)return $}catch{}try{let $=k0(X);if($)return $}catch{}throw new N2("toolbox_utxo_invalid_address",{address:X})}function V0(X){try{let $=D2.decode(X);if($.length!==21)throw new N2("toolbox_utxo_invalid_address",{address:X});let J=$[0],Z=Array.prototype.slice.call($,1);switch(J){case d.legacy.mainnet.p2pkh:return{format:"legacy",hash:Z,network:"mainnet",type:"p2pkh"};case d.legacy.mainnet.p2sh:return{format:"legacy",hash:Z,network:"mainnet",type:"p2sh"};case d.legacy.testnet.p2pkh:return{format:"legacy",hash:Z,network:"testnet",type:"p2pkh"};case d.legacy.testnet.p2sh:return{format:"legacy",hash:Z,network:"testnet",type:"p2sh"};case d.bitpay.mainnet.p2pkh:return{format:"bitpay",hash:Z,network:"mainnet",type:"p2pkh"};case d.bitpay.mainnet.p2sh:return{format:"bitpay",hash:Z,network:"mainnet",type:"p2sh"};default:return}}catch{return}}function k0(X){if(X.indexOf(":")!==-1)try{return M2(X)}catch{}else{let $=["bitcoincash","bchtest","bchreg"];for(let J of $)try{return M2(`${J}:${X}`)}catch{}}return}function M2(X){try{let{hash:$,prefix:J,type:Z}=cX.decode(X);return{format:"cashaddr",hash:Array.prototype.slice.call($,0),network:J==="bitcoincash"?"mainnet":"testnet",type:Z==="P2PKH"?"p2pkh":"p2sh"}}catch{return}}function P0(X){let $=d.legacy[X.network][X.type],J=Buffer.alloc(1+X.hash.length);return J[0]=$,J.set(X.hash,1),D2.encode(J)}function b0(X){let $=X.network==="mainnet"?"bitcoincash":"bchtest",J=X.type==="p2pkh"?"P2PKH":"P2SH",Z=new Uint8Array(X.hash);return cX.encode($,J,Z)}var D2,uX,d;var C2=E(()=>{_2();D2=T0(O0);((J)=>{J.Mainnet="mainnet";J.Testnet="testnet"})(uX||={});d={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}}});import{SwapKitError as E0}from"@swapkit/helpers";import{Script as F0}from"@swapkit/utxo-signer";function F(X){let $=new Uint8Array(Buffer.from(X,"utf8"));return F0.encode(["RETURN",$])}var f0=1000,vX=10,RX=2,H2=10,v0=41,R0=107,yX,fX,BX,$X=(X)=>{if(X.startsWith("bc1")||X.startsWith("tb1")||X.startsWith("ltc1")||X.startsWith("tltc1"))return"P2WPKH";if(X.startsWith("1")||X.startsWith("m")||X.startsWith("n")||X.startsWith("bitcoincash:q")||X.startsWith("bitcoincash:p")||X.startsWith("q")||X.startsWith("p")||X.startsWith("L")||X.startsWith("M")||X.startsWith("3")||X.startsWith("D")||X.startsWith("A")||X.startsWith("9")||X.startsWith("X")||X.startsWith("7")||X.startsWith("y")||X.startsWith("t1")||X.startsWith("t3")||X.startsWith("tm"))return"P2PKH";throw new E0("toolbox_utxo_invalid_address",{address:X})},r=({inputs:X,outputs:$,feeRate:J})=>{let Z=X[0]&&"address"in X[0]&&X[0].address?$X(X[0].address):"P2PKH",Y=(J?X.filter((z)=>z.value>=fX["type"in z&&z.type?z.type:"P2PKH"]*Math.ceil(J)):X).reduce((z,G)=>z+h(G),0),q=$?.reduce((z,G)=>z+_X(G),0)||BX[Z],L=vX+Y+q;return Z==="P2WPKH"?Math.ceil(L+RX/4):L},h=(X)=>{if("type"in X&&X.type)return fX[X.type];if("address"in X&&X.address)return fX[$X(X.address)];return v0+R0},_X=(X,$)=>{if(X?.script)return H2+X.script.length+(X.script.length>=74?2:1);if($)return BX[$];if("address"in X&&X.address)return BX[$X(X.address)];return BX.P2PKH};var nX=E(()=>{((J)=>{J.P2PKH="P2PKH";J.P2WPKH="P2WPKH"})(yX||={});fX={["P2PKH"]:148,["P2WPKH"]:68},BX={["P2PKH"]:34,["P2WPKH"]:31}});import{Chain as i,SwapKitError as y0}from"@swapkit/helpers";function MX(X){switch(X){case i.Bitcoin:case i.BitcoinCash:return 550;case i.Dash:case i.Litecoin:return 5500;case i.Dogecoin:return 1e5;case i.Zcash:return 546;default:throw new y0("toolbox_utxo_not_supported",{chain:X})}}function R({inputs:X,outputs:$,feeRate:J=1,chain:Z=i.Bitcoin,changeAddress:j=""}){let Y=X[0]&&"address"in X[0]&&X[0].address?$X(X[0].address):"P2PKH",q=X.filter((M)=>h(M)*J<=M.value),Q=Y==="P2WPKH"?Math.ceil(RX/4):0,z=vX+Q+$.reduce((M,D)=>M+_X(D),0),G=$.reduce((M,D)=>M+D.value,0),W=z*J,U=0,B=[];for(let M of q){let D=h(M),O=J*D;W+=O,U+=M.value,B.push(M);let n=W+G;if(U<n)continue;let gX=U-n,IX=J*_X({address:j,value:0});if(gX>IX){let _=IX+W,N=U-(G+Math.ceil(_));if(N>Math.max(h({value:0})*J,MX(Z)))return{fee:Math.ceil(_),inputs:B,outputs:$.concat({address:j,value:N})}}return{fee:Math.ceil(W),inputs:B,outputs:$}}return{fee:Math.ceil(J*r({inputs:X,outputs:$}))}}var I2=E(()=>{nX()});var JX=E(()=>{B2();C2();I2();nX()});import{Address as w0,ZCASH_NETWORK as A0}from"@swapkit/utxo-signer";function s(X){return X.replace(/(bchtest:|bitcoincash:)/,"")}function c(X){let $=s(X);return oX($)&&pX($)==="mainnet"}function ZX(X){try{if(X.startsWith("z"))return console.warn("Shielded Zcash addresses (z-addresses) are not supported. Use transparent addresses (t1/t3) only."),!1;let J=w0(A0).decode(X);return J.type==="pkh"||J.type==="sh"}catch{return!1}}var NX=E(()=>{JX()});import{secp256k1 as S0}from"@noble/curves/secp256k1.js";import{hex as a}from"@scure/base";import{HDKey as k2}from"@scure/bip32";import{mnemonicToSeedSync as rX}from"@scure/bip39";import{AssetValue as wX,applyFeeMultiplier as O2,Chain as k,derivationPathToString as P2,FeeOption as A,NetworkDerivationPath as b2,SwapKitError as H,SwapKitNumber as K0,updateDerivationPath as g0,warnOnce as m0}from"@swapkit/helpers";import{Address as x0,BCHSigHash as iX,CashAddrPrefix as l0,CashAddrType as h0,encodeCashAddr as c0,NETWORKS as jX,p2pkh as T2,p2wpkh as u0,RBF_SEQUENCE as o0,SigHash as E2,Transaction as dX,WIF as F2}from"@swapkit/utxo-signer";import{match as f2}from"ts-pattern";function sX({address:X,chain:$}){return f2($).with(k.BitcoinCash,()=>c(X)).with(k.Zcash,()=>ZX(X)).otherwise(()=>{try{return x0(f($)).decode(X),!0}catch{return!1}})}function f(X){return f2(X).with(k.Bitcoin,()=>jX.bitcoin).with(k.BitcoinCash,()=>jX.bitcoinCash).with(k.Dash,()=>jX.dash).with(k.Dogecoin,()=>jX.dogecoin).with(k.Litecoin,()=>jX.litecoin).with(k.Zcash,()=>jX.zcash).exhaustive()}function p0({phrase:X,derivationPath:$,network:J,seed:Z}){let j=Z??rX(X),q=k2.fromMasterSeed(j,J.bip32).derive($);if(!q.privateKey)throw new H("toolbox_utxo_invalid_params",{error:"Could not derive private key from phrase"});return q.privateKey}function V2(X){return S0.getPublicKey(X,!0)}function aX({publicKey:X,chain:$,network:J}){if($===k.BitcoinCash){let Y=T2(X,J);if(!Y.hash)throw new H("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return c0({hash:Y.hash,prefix:l0.MAINNET,type:h0.P2PKH}).replace(/^bitcoincash:/,"")}let j=!DX.includes($)?u0(X,J):T2(X,J);if(!j.address)throw new H("toolbox_utxo_invalid_address",{error:"Could not derive address"});return j.address}function QX({phrase:X,derivationPath:$,chain:J,wif:Z,seed:j}){let Y=f(J);if(Z){let z=F2(Y).decode(Z),G=V2(z);return{privateKey:z,publicKey:G}}if(!X)throw new H("toolbox_utxo_invalid_params",{error:"Either phrase or wif must be provided"});let q=$||P2(b2[J]),L=p0({derivationPath:q,network:Y,phrase:X,seed:j}),Q=V2(L);return{privateKey:L,publicKey:Q}}function n0(X,$){return F2(f($)).encode(X)}function d0({phrase:X,derivationPath:$,chain:J,seed:Z}){let j=$.split("/");if(j.length<4)throw new H("toolbox_utxo_invalid_params",{error:`Derivation path must have at least 4 levels (got ${j.length}): ${$}`});let Y=f(J),q=Z??rX(X),L=k2.fromMasterSeed(q,Y.bip32),Q=j.slice(0,4).join("/");return L.derive(Q)}function u({inputs:X,outputs:$,chain:J,tx:Z,sender:j,compiledMemo:Y,enableRBF:q=!1}){let L=f(J),Q=!DX.includes(J),z=q?o0:void 0,G=new Set;for(let W of X){let U=`${W.hash}:${W.index}`;if(G.has(U))throw new H("toolbox_utxo_invalid_params",{error:"Duplicate input detected"});G.add(U);let B=typeof W.hash==="string"?a.decode(W.hash):W.hash;if(Q&&W.witnessUtxo)Z.addInput({index:W.index,sequence:z,txid:B,witnessUtxo:{amount:BigInt(W.witnessUtxo.value),script:W.witnessUtxo.script}});else if(W.txHex)Z.addInput({index:W.index,nonWitnessUtxo:a.decode(W.txHex),sequence:z,txid:B,...J===k.BitcoinCash?{sighashType:iX.ALL}:{}});else throw new H("toolbox_utxo_invalid_params",{error:"Input requires either witnessUtxo or txHex for non-segwit chains"})}for(let W of $){let U="address"in W&&W.address?W.address:j;if(J===k.BitcoinCash)U=g(U);if(W.script){if(Y)Z.addOutput({amount:0n,script:Y})}else Z.addOutputAddress(U,BigInt(W.value),L)}return{inputs:X,tx:Z}}async function GX(X){let $=await V(X).getSuggestedTxFee();return{[A.Average]:$,[A.Fast]:O2($,A.Fast),[A.Fastest]:O2($,A.Fastest)}}async function v2({assetValue:X,recipient:$,memo:J,sender:Z,fetchTxHex:j=!1}){let Y=X.chain,q=(await GX(Y))[A.Fastest],L=j||DX.includes(Y),Q=X.getBaseValue("number"),z=Math.ceil(Q+q*5000);return{inputs:await V(Y).getUtxos({address:Z,fetchTxHex:L,targetValue:z}),outputs:[{address:$,value:Q},...J?[{address:"",script:F(J),value:0}]:[]]}}async function R2({assetValue:X,recipient:$,memo:J,feeRate:Z,sender:j,fetchTxHex:Y=!1,enableRBF:q=!1}){let L=X.chain,Q=J?F(J):null,z=await v2({assetValue:X,fetchTxHex:Y,memo:J,recipient:$,sender:j}),{inputs:G,outputs:W}=R({...z,chain:L,feeRate:Z});if(!(G&&W))throw new H("toolbox_utxo_insufficient_balance",{assetValue:X,sender:j});let U=new dX({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!Q,version:1}),{inputs:B,tx:M}=u({chain:L,compiledMemo:Q,enableRBF:q,inputs:G,outputs:W,sender:j,tx:U});return{inputs:B,tx:M,utxos:z.inputs}}async function y2({assetValue:X,feeOptionKey:$=A.Fast,feeRate:J,memo:Z,sender:j,recipient:Y}){let q=X.chain,L=await v2({assetValue:X,memo:Z,recipient:Y,sender:j}),Q=J?Math.floor(J):(await GX(q))[$];return R({...L,chain:q,feeRate:Q})}function r0(X){return async function({from:J,memo:Z,feeRate:j,feeOptionKey:Y=A.Fast,recipients:q=1}){let L=await V(X).getAddressData(J),Q=j?Math.ceil(j):(await GX(X))[Y],z=L?.utxo.map((D)=>({...D,hash:"",type:"P2PKH"})).filter((D)=>D.value>Math.max(MX(X),h(D)*Q));if(!z?.length)return wX.from({chain:X});let G=BigInt(z.reduce((D,O)=>D+O.value,0)),W=wX.from({chain:X,value:G}),U=typeof q==="number"?Array.from({length:q},()=>({address:J,value:0})):q;if(Z)U.push({address:J,script:F(Z),value:0});let B=r({inputs:z,outputs:U}),M=wX.from({chain:X,value:BigInt(B*Q)});return W.sub(M)}}function i0(X){return async function(J){let{fee:Z}=await y2(J);return wX.from({chain:X,value:K0.fromBigInt(BigInt(Z),8).getValue("string")})}}function s0({chain:X,phrase:$,derivationPath:J,seed:Z}){let j=f(X),{privateKey:Y,publicKey:q}=QX({chain:X,derivationPath:J,phrase:$,seed:Z}),L=X===k.BitcoinCash?[iX.ALL]:[E2.ALL];return{getAddress:()=>aX({chain:X,network:j,publicKey:q}),privateKey:Y,publicKey:q,signTransaction:(Q)=>{return Q.sign(Y,L),Q}}}function a0(X,$){return async function({memo:Z,recipient:j,feeOptionKey:Y,feeRate:q,assetValue:L,enableRBF:Q=!1}){let z=$?.getAddress();if(!($&&z))throw new H("toolbox_utxo_no_signer");if(!j)throw new H("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});m0({condition:Q&&!AX.includes(X),id:`rbf_not_supported_${X}`,warning:`RBF (Replace-by-Fee) is not reliably supported on ${X}. Transaction will be created without RBF signaling.`});let G=Q&&AX.includes(X),W=q||(await GX(X))[Y||A.Fast],{tx:U}=await R2({assetValue:L,enableRBF:G,feeRate:W,memo:Z,recipient:j,sender:z});return $.signTransaction(U),U.finalize(),V(X).broadcastTx(a.encode(U.extract()))}}function tX(X){return($)=>sX({address:$,chain:X})}function eX(X){let $=f(X);return function(Z){if(!Z)throw new H("toolbox_utxo_invalid_params",{error:"Keys must be provided"});return aX({chain:X,network:$,publicKey:Z.publicKey})}}function o({chain:X,...$}){let J="phrase"in $?$.phrase:void 0,Z="index"in $?$.index||0:0,j=J?rX(J):void 0,Y=P2("derivationPath"in $&&$.derivationPath?$.derivationPath:g0(b2[X],{index:Z})),q=J?s0({chain:X,derivationPath:Y,phrase:J,seed:j}):void 0,L="signer"in $?$.signer:void 0,Q=J?QX({chain:X,derivationPath:Y,phrase:J,seed:j}):void 0;function z(){if(q)return Promise.resolve(q.getAddress());if(L)return L.getAddress();return Promise.resolve(void 0)}let G=J?d0({chain:X,derivationPath:Y,phrase:J,seed:j}):void 0;function W(){if(!G)return;return G.publicExtendedKey}function U({index:_,change:N=!1}){if(!G)return;if(!Number.isInteger(_)||_<0)throw RangeError(`index must be a non-negative integer, got: ${_}`);let T=f(X),I=G.deriveChild(Number(N)).deriveChild(_);if(!I.publicKey)throw new H("toolbox_utxo_invalid_params",{error:"Could not derive public key"});let C=aX({chain:X,network:T,publicKey:I.publicKey}),v=a.encode(I.publicKey);return{address:C,change:N,index:_,pubkey:v}}async function B(_){if(!AX.includes(X))return{reason:`RBF is not supported on ${X}`,supported:!1};let N=await V(X).getTransactionDetails(_);return{canReplace:N.isRBF&&!N.confirmed,confirmed:N.confirmed,enabled:N.isRBF,fee:N.fee,sequences:N.sequences,supported:!0}}async function M({txid:_,newFeeRate:N,recipient:T,memo:I}){if(!AX.includes(X))throw new H("toolbox_utxo_rbf_not_supported",{chain:X});let C=await V(X).getTransactionDetails(_);if(!C.isRBF)throw new H("toolbox_utxo_tx_not_replaceable",{txid:_});if(C.confirmed)throw new H("toolbox_utxo_tx_already_confirmed",{blockId:C.blockId,txid:_});let v=C.inputs.reduce((P,l)=>P+l.value,0),y=C.outputs.find((P)=>P.recipient===T)?.value||0;if(y===0)throw new H("toolbox_utxo_invalid_params",{error:"Could not determine send amount from original transaction"});let e=await Promise.all(C.inputs.map(async(P)=>{let l=await V(X).getRawTx(P.transaction_hash);return{hash:P.transaction_hash,index:P.index,txHex:l,value:P.value,witnessUtxo:void 0}})),OX=I?F(I):null,mX=r({feeRate:N,inputs:e.map((P)=>({...P,type:"P2WPKH"})),outputs:[{address:T,value:y}]}),K=Math.ceil(mX*N);if(K<=C.fee)throw new H("toolbox_utxo_rbf_fee_too_low",{newFee:K,originalFee:C.fee});let LX=K-C.fee,m=y-LX;if(m<=0)throw new H("toolbox_utxo_rbf_insufficient_change");let TX=new dX({allowLegacyWitnessUtxo:!0,version:1}),VX=[{address:T,value:m},...I?[{address:"",script:F(I),value:0}]:[]],kX=v-m-K,x=await z();if(kX>MX(X)&&x)VX.push({address:x,value:kX});return u({chain:X,compiledMemo:OX,inputs:e,outputs:VX,sender:x||T,tx:TX}),{feeDelta:LX,newFee:K,originalFee:C.fee,tx:TX}}async function D({txid:_,newFeeRate:N,recipient:T,memo:I}){if(!q)throw new H("toolbox_utxo_no_signer");let{tx:C,originalFee:v,newFee:t}=await M({memo:I,newFeeRate:N,recipient:T,txid:_});q.signTransaction(C),C.finalize();let y=await V(X).broadcastTx(a.encode(C.extract()));return{newFee:t,originalFee:v,txid:y}}function O({index:_,change:N=!1}){if(!G)return;return G.deriveChild(Number(N)).deriveChild(_).privateKey||void 0}function n({tx:_,inputDerivations:N}){if(!G)throw new H("toolbox_utxo_no_signer");let T=X===k.BitcoinCash?[iX.ALL]:[E2.ALL];for(let I=0;I<N.length;I++){let C=N[I];if(!C)continue;let{derivationIndex:v,isChange:t}=C,y=O({change:t,index:v});if(!y)throw new H("toolbox_utxo_invalid_params",{error:`Could not derive private key for input ${I} at index ${v}`});_.signIdx(y,I,T)}return _}async function gX({utxos:_,recipient:N,assetValue:T,memo:I,feeRate:C,feeOptionKey:v,changeAddress:t}){if(!G)throw new H("toolbox_utxo_no_signer");let y=C||(await GX(X))[v||A.Fast],e=I?F(I):null,OX=[{address:N,value:T.getBaseValue("number")}];if(e)OX.push({address:"",script:e,value:0});let mX=_.map(({hash:x,index:P,value:l,txHex:d2,witnessUtxo:xX})=>({hash:x,index:P,txHex:d2,value:l,witnessUtxo:xX?{script:xX.script,value:xX.value}:void 0})),{inputs:K,outputs:LX}=R({chain:X,feeRate:y,inputs:mX,outputs:OX});if(!(K&&LX))throw new H("toolbox_utxo_insufficient_balance",{assetValue:T,sender:"multiple addresses"});let m=new dX({allowLegacyWitnessUtxo:!0,version:1}),TX=_[0]?.address,VX=t||await z()||TX||N;u({chain:X,compiledMemo:e,inputs:K,outputs:LX,sender:VX,tx:m});let kX=K.map((x)=>{let P=_.find((l)=>l.hash===x.hash&&l.index===x.index);return P?{derivationIndex:P.derivationIndex,isChange:P.isChange}:{derivationIndex:0,isChange:!1}});return n({inputDerivations:kX,tx:m}),m.finalize(),V(X).broadcastTx(a.encode(m.extract()))}function IX({address:_,gapLimit:N=20}){if(!G)return;for(let T=0;T<N;T++){let I=U({change:!1,index:T}),C=U({change:!0,index:T}),v=I?.address===_?!1:C?.address===_;if(I?.address===_||C?.address===_)return{change:v,index:T}}return}return{accumulative:R,broadcastTx:(_)=>V(X).broadcastTx(_),bumpFee:D,calculateTxSize:r,createKeysForPath:(_)=>QX({..._,chain:X}),createReplacementTransaction:M,createTransaction:R2,deriveAddressAtIndex:U,derivePrivateKeyAtIndex:O,estimateMaxSendableAmount:r0(X),estimateTransactionFee:i0(X),getAddress:z,getAddressFromKeys:eX(X),getBalance:Y2(X),getExtendedPublicKey:W,getFeeRates:()=>GX(X),getInputsOutputsFee:y2,getNetworkForChain:()=>f(X),getPrivateKeyFromMnemonic:(_)=>n0(QX({..._,chain:X}).privateKey,X),isRBFEnabled:B,keys:Q,resolveDerivationIndex:IX,signAndBroadcastTransaction:async(_)=>{if(!q)throw new H("toolbox_utxo_no_signer");return q.signTransaction(_),_.finalize(),await V(X).broadcastTx(a.encode(_.extract()))},signTransactionWithMultipleKeys:n,transfer:a0(X,q),transferFromMultipleAddresses:gX,validateAddress:tX(X)}}var DX,AX;var CX=E(()=>{hX();JX();NX();DX=[k.Dash,k.Dogecoin,k.Zcash,k.BitcoinCash],AX=[k.Bitcoin]});import{hex as t0}from"@scure/base";import{Chain as e0,derivationPathToString as X8,FeeOption as $8,NetworkDerivationPath as J8,SwapKitError as p,updateDerivationPath as Z8}from"@swapkit/helpers";import{BCHSigHash as j8,CashAddrPrefix as w2,CashAddrType as A2,encodeCashAddr as S2,NETWORKS as Q8,p2pkh as K2,Transaction as g2}from"@swapkit/utxo-signer";function HX(X){return s(UX(X))}function G8(X){let $=f(S);function J(j){return j.sign(X.privateKey,[j8.ALL]),j}function Z(){let j=K2(X.publicKey,$);if(!j.hash)throw new p("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});let Y=S2({hash:j.hash,prefix:w2.MAINNET,type:A2.P2PKH});return Promise.resolve(Y.replace(/^bitcoincash:/,""))}return{getAddress:Z,signTransaction:J}}function X2(X){let $="phrase"in X?X.phrase:void 0,J="index"in X?X.index||0:0,Z=X8("derivationPath"in X&&X.derivationPath?X.derivationPath:Z8(J8[S],{index:J})),j=$?QX({chain:S,derivationPath:Z,phrase:$}):void 0,Y=j?G8(j):("signer"in X)?X.signer:void 0;function q(){return Promise.resolve(Y?.getAddress())}let{getBalance:L,getFeeRates:Q,broadcastTx:z,...G}=o({chain:S});function W(U,B=!0){return L(s(UX(U)))}return{...G,broadcastTx:z,buildTx:q8,createTransaction:m2,getAddress:q,getAddressFromKeys:L8,getBalance:W,getFeeRates:Q,stripPrefix:s,stripToCashAddress:HX,transfer:Y8({broadcastTx:z,getFeeRates:Q,signer:Y}),validateAddress:c}}async function m2({assetValue:X,recipient:$,memo:J,feeRate:Z,sender:j}){if(!c($))throw new p("toolbox_utxo_invalid_address",{address:$});let Y=Math.ceil(X.getBaseValue("number")+Z*7500),q=await V(S).getUtxos({address:HX(j),fetchTxHex:!0,targetValue:Y}),L=J?F(J):null,Q=[],z=g($);if(Q.push({address:z,value:X.getBaseValue("number")}),L)Q.push({script:L,value:0});let{inputs:G,outputs:W}=R({chain:S,feeRate:Z,inputs:q,outputs:Q});if(!(G&&W))throw new p("toolbox_utxo_insufficient_balance",{assetValue:X,sender:j});let U=new g2({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!L,version:1}),B=g(j),{inputs:M,tx:D}=u({chain:S,compiledMemo:L,inputs:G,outputs:W.map((O)=>("address"in O)&&O.address?{...O,address:g(O.address)}:O),sender:B,tx:U});return{inputs:M,tx:D,utxos:G}}function Y8({broadcastTx:X,getFeeRates:$,signer:J}){return async function({recipient:j,assetValue:Y,feeOptionKey:q=$8.Fast,...L}){let Q=await J?.getAddress();if(!(J&&Q))throw new p("toolbox_utxo_no_signer");if(!j)throw new p("toolbox_utxo_invalid_params",{error:"Recipient address must be provided"});let z=L.feeRate||(await $())[q],{tx:G}=await m2({...L,assetValue:Y,feeRate:z,recipient:j,sender:Q}),W=await J.signTransaction(G);return W.finalize(),X(t0.encode(W.extract()))}}async function q8({assetValue:X,recipient:$,memo:J,feeRate:Z,sender:j}){let Y=UX($);if(!c(Y))throw new p("toolbox_utxo_invalid_address",{address:Y});let q=Math.ceil(X.getBaseValue("number")+Z*7500),L=await V(S).getUtxos({address:HX(j),fetchTxHex:!0,targetValue:q}),Q=Number(Z.toFixed(0)),z=J?F(J):null,G=[];if(G.push({address:g($),value:X.getBaseValue("number")}),z)G.push({script:z,value:0});let{inputs:W,outputs:U}=R({chain:S,feeRate:Q,inputs:L,outputs:G});if(!(W&&U))throw new p("toolbox_utxo_insufficient_balance",{assetValue:X,sender:j});let B=new g2({allowLegacyWitnessUtxo:!0,allowUnknownOutputs:!!z,version:1}),{inputs:M,tx:D}=u({chain:S,compiledMemo:z,inputs:W,outputs:U,sender:g(j),tx:B});return{inputs:M,tx:D,utxos:L}}function L8(X){let $=Q8.bitcoinCash,J=K2(X.publicKey,$);if(!J.hash)throw new p("toolbox_utxo_invalid_address",{error:"Could not derive BCH address hash"});return S2({hash:J.hash,prefix:w2.MAINNET,type:A2.P2PKH}).replace(/^bitcoincash:/,"")}var S;var SX=E(()=>{JX();CX();NX();S=e0.BitcoinCash});import{createBase58check as z8,hex as W8}from"@scure/base";import{HDKey as h2}from"@scure/bip32";import{mnemonicToSeedSync as c2}from"@scure/bip39";import{Chain as KX,derivationPathToString as U8,FeeOption as B8,NetworkDerivationPath as _8,SKConfig as u2,SwapKitError as YX,updateDerivationPath as M8}from"@swapkit/helpers";import{Address as N8,createZcashTransaction as D8,OutScript as C8,PCZT as H8,utils as o2,WIF as I8,ZCASH_NETWORK as O8,ZCASH_TEST_NETWORK as T8,ZcashConsensusBranchId as V8,ZcashSigHash as x2,ZcashVersionGroupId as k8}from"@swapkit/utxo-signer";import{match as P8,P as $2}from"ts-pattern";function p2(){let{isStagenet:X}=u2.get("envs");return X?T8:O8}function E8(X){return b8.encode(X)}function F8({phrase:X,derivationPath:$}){let J=c2(X),j=h2.fromMasterSeed(J).derive($);if(!j.privateKey||!j.publicKey)throw new YX("toolbox_utxo_invalid_params");let{privateKey:Y,publicKey:q}=j,L=o2.hash160(q),{isStagenet:Q}=u2.get("envs"),z=Q?new Uint8Array([29,37]):new Uint8Array([28,184]),G=new Uint8Array(z.length+L.length);G.set(z,0),G.set(L,z.length);let W=E8(G);return{getAddress:()=>Promise.resolve(W),signTransaction:(U)=>{if(U instanceof H8)return U.signAllInputs(Y,q,x2.ALL),U.finalizeAllInputs(),Promise.resolve(U.extract());return U.signAllInputs(Y,q,x2.ALL),Promise.resolve(U)}}}function f8({inputs:X,outputs:$,tx:J,sender:Z,compiledMemo:j}){let Y=p2();for(let q of X){let L=N8(Y).decode(Z),Q=C8.encode(L);J.addInput({index:q.index,script:Q,sequence:4294967295,txid:W8.decode(q.hash),value:BigInt(q.value)})}for(let q of $){let L="address"in q&&q.address?q.address:Z,Q=q.script;if(Q&&!j)continue;if(Q&&j)J.addOutput({amount:0n,script:j});else J.addOutputAddress(L,BigInt(q.value),Y)}return{inputs:X,tx:J}}async function l2(X){let{assetValue:$,recipient:J,memo:Z,feeRate:j,sender:Y,fetchTxHex:q}=X,L=Z?F(Z):null,Q=await V(KX.Zcash).getUtxos({address:Y,fetchTxHex:q!==!1}),z=[{address:J,value:Number($.getBaseValue("string"))},...L?[{script:L,value:0}]:[]],{inputs:G,outputs:W}=R({chain:KX.Zcash,changeAddress:Y,feeRate:j,inputs:Q,outputs:z});if(!(G&&W))throw new YX("toolbox_utxo_insufficient_balance",{assetValue:$,sender:Y});let U=D8({consensusBranchId:V8.NU6_1,expiryHeight:0,lockTime:0,version:4,versionGroupId:k8.SAPLING}),{tx:B,inputs:M}=f8({compiledMemo:L,inputs:G,outputs:W,sender:Y,tx:U});return{inputs:M,outputs:W,tx:B}}function J2(X){let $=P8(X).with({signer:$2.not($2.nullish)},({signer:Q})=>Q).with({phrase:$2.string},({phrase:Q,derivationPath:z,index:G=0})=>{let W=z||_8[KX.Zcash]||[44,133,0,0,0],U=M8(W,{index:G}),B=U8(U);return F8({derivationPath:B,phrase:Q})}).otherwise(()=>{return}),J=o({chain:KX.Zcash,signer:$});async function Z({recipient:Q,assetValue:z,feeOptionKey:G=B8.Fast,...W}){let U=await $?.getAddress();if(!($&&U))throw new YX("toolbox_utxo_no_signer");let B=W.feeRate||(await J.getFeeRates())[G],{tx:M}=await l2({...W,assetValue:z,feeRate:B,recipient:Q,sender:U}),O=(await $.signTransaction(M)).toHex();return J.broadcastTx(O)}function j({phrase:Q,derivationPath:z="m/44'/133'/0'/0/0"}){let G=c2(Q),U=h2.fromMasterSeed(G).derive(z);if(!U.privateKey||!U.publicKey)throw new YX("toolbox_utxo_invalid_params");return{privateKey:U.privateKey,publicKey:U.publicKey}}function Y({phrase:Q,derivationPath:z="m/44'/133'/0'/0/0"}){let G=j({derivationPath:z,phrase:Q}),W=p2();return I8(W).encode(G.privateKey)}function q(Q){return async function(G){if(!Q)throw new YX("toolbox_utxo_no_signer");return await Q.signTransaction(G)}}function L(Q){return async function(G){if(!Q)throw new YX("toolbox_utxo_no_signer");let W=await Q.signTransaction(G);return J.broadcastTx(W.toHex())}}return{...J,createKeysForPath:j,createTransaction:l2,getPrivateKeyFromMnemonic:Y,signAndBroadcastTransaction:L($),signTransaction:q($),transfer:Z,validateAddress:ZX}}var b8;var Z2=E(()=>{JX();CX();NX();b8=z8(o2.sha256)});import{Chain as qX,SwapKitError as v8}from"@swapkit/helpers";function R8(X,$){switch(X){case qX.BitcoinCash:return X2($||{});case qX.Zcash:return J2($);case qX.Bitcoin:case qX.Dogecoin:case qX.Litecoin:case qX.Dash:return o({chain:X,...$});default:throw new v8("toolbox_utxo_not_supported",{chain:X})}}var n2=E(()=>{SX();CX();Z2();SX();NX()});var y8={};a2(y8,{validateZcashAddress:()=>ZX,validateUtxoAddress:()=>sX,validateBchAddress:()=>c,toLegacyAddress:()=>g,toCashAddress:()=>UX,stripToCashAddress:()=>HX,stripPrefix:()=>s,nonSegwitChains:()=>DX,isValidAddress:()=>oX,getUtxoToolbox:()=>R8,getUtxoNetwork:()=>_0,getUtxoApi:()=>V,getUTXOAddressValidator:()=>tX,getScriptTypeForAddress:()=>$X,getOutputSize:()=>_X,getNetworkForChain:()=>f,getInputSize:()=>h,getDustThreshold:()=>MX,detectAddressNetwork:()=>pX,createZcashToolbox:()=>J2,createUTXOToolbox:()=>o,createHDWalletHelpers:()=>j2,createCustomUtxoApi:()=>B0,createBCHToolbox:()=>X2,compileMemo:()=>F,calculateTxSize:()=>r,addressFromKeysGetter:()=>eX,addInputsAndOutputs:()=>u,accumulative:()=>R,UtxoNetwork:()=>uX,UTXOScriptType:()=>yX,TX_OVERHEAD:()=>vX,SEGWIT_MARKER_FLAG_WEIGHT:()=>RX,OutputSizes:()=>BX,OP_RETURN_OVERHEAD:()=>H2,MIN_TX_FEE:()=>f0,InputSizes:()=>fX});var w8=E(()=>{CX();JX();n2();SX();Z2()});w8();export{ZX as validateZcashAddress,sX as validateUtxoAddress,c as validateBchAddress,g as toLegacyAddress,UX as toCashAddress,HX as stripToCashAddress,s as stripPrefix,DX as nonSegwitChains,oX as isValidAddress,R8 as getUtxoToolbox,_0 as getUtxoNetwork,V as getUtxoApi,tX as getUTXOAddressValidator,$X as getScriptTypeForAddress,_X as getOutputSize,f as getNetworkForChain,h as getInputSize,MX as getDustThreshold,pX as detectAddressNetwork,J2 as createZcashToolbox,o as createUTXOToolbox,j2 as createHDWalletHelpers,B0 as createCustomUtxoApi,X2 as createBCHToolbox,F as compileMemo,r as calculateTxSize,eX as addressFromKeysGetter,u as addInputsAndOutputs,R as accumulative,uX as UtxoNetwork,yX as UTXOScriptType,vX as TX_OVERHEAD,RX as SEGWIT_MARKER_FLAG_WEIGHT,BX as OutputSizes,H2 as OP_RETURN_OVERHEAD,f0 as MIN_TX_FEE,fX as InputSizes};
@@ -0,0 +1,3 @@
1
+ export { createAptosExtensionTransfer, getAptosToolbox, validateAptosAddress } from "./toolbox";
2
+ export type { AptosCreateTransactionParams, AptosExtensionProvider, AptosToolboxParams, AptosTransferParams, AptosWallet, } from "./types";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/aptos/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAChG,YAAY,EACV,4BAA4B,EAC5B,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,GACZ,MAAM,SAAS,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { AssetValue } from "@swapkit/helpers";
2
+ import type { AptosCreateTransactionParams, AptosExtensionProvider, AptosToolboxParams, AptosTransferParams } from "./types";
3
+ export declare function validateAptosAddress(address: string): boolean;
4
+ export declare function getAptosToolbox({ derivationPath, provider: providerParam, ...signerParams }?: AptosToolboxParams): {
5
+ broadcastTransaction: ({ senderAuthenticator, transaction, }: {
6
+ senderAuthenticator: Awaited<ReturnType<(transaction: Awaited<ReturnType<({ recipient, assetValue, maxGasAmount, sender: _senderAddress, }: AptosCreateTransactionParams) => Promise<import("@aptos-labs/ts-sdk").SimpleTransaction>>>) => Promise<import("@aptos-labs/ts-sdk").AccountAuthenticator>>>;
7
+ transaction: Awaited<ReturnType<({ recipient, assetValue, maxGasAmount, sender: _senderAddress, }: AptosCreateTransactionParams) => Promise<import("@aptos-labs/ts-sdk").SimpleTransaction>>>;
8
+ }) => Promise<string>;
9
+ createTransaction: ({ recipient, assetValue, maxGasAmount, sender: _senderAddress, }: AptosCreateTransactionParams) => Promise<import("@aptos-labs/ts-sdk").SimpleTransaction>;
10
+ estimateTransactionFee: (params?: AptosCreateTransactionParams) => Promise<AssetValue>;
11
+ getAddress: () => Promise<"" | `0x${string}`>;
12
+ getBalance: (targetAddress?: string) => Promise<AssetValue[]>;
13
+ signAndBroadcastTransaction: (transaction: Awaited<ReturnType<({ recipient, assetValue, maxGasAmount, sender: _senderAddress, }: AptosCreateTransactionParams) => Promise<import("@aptos-labs/ts-sdk").SimpleTransaction>>>) => Promise<string>;
14
+ signTransaction: (transaction: Awaited<ReturnType<({ recipient, assetValue, maxGasAmount, sender: _senderAddress, }: AptosCreateTransactionParams) => Promise<import("@aptos-labs/ts-sdk").SimpleTransaction>>>) => Promise<import("@aptos-labs/ts-sdk").AccountAuthenticator>;
15
+ transfer: ({ assetValue, maxGasAmount, recipient }: AptosTransferParams) => Promise<string>;
16
+ validateAddress: typeof validateAptosAddress;
17
+ };
18
+ export declare function createAptosExtensionTransfer({ provider }: {
19
+ provider: AptosExtensionProvider;
20
+ }): ({ assetValue, recipient }: AptosTransferParams) => Promise<string>;
21
+ //# sourceMappingURL=toolbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbox.d.ts","sourceRoot":"","sources":["../../../src/aptos/toolbox.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAOX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EACV,4BAA4B,EAC5B,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAUjB,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,WAOnD;AAED,wBAAgB,eAAe,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,GAAE,kBAAuB;kEA+LhH;QACD,mBAAmB,EAAE,OAAO,CAAC,UAAU,eArCG,OAAO,CAAC,UAAU,oEA7C3D,4BAA4B,6DA6CyD,CAAC,gEAqCxB,CAAC,CAAC;QACjE,WAAW,EAAE,OAAO,CAAC,UAAU,oEAnF9B,4BAA4B,6DAmF4B,CAAC,CAAC;KAC5D;0FApFE,4BAA4B;sCAhCgB,4BAA4B;;iCA7CjC,MAAM;+CA4KQ,OAAO,CAAC,UAAU,oEA/FvE,4BAA4B,6DA+FqE,CAAC;mCAlDzD,OAAO,CAAC,UAAU,oEA7C3D,4BAA4B,6DA6CyD,CAAC;wDAUxB,mBAAmB;;EAwDrF;AAED,wBAAgB,4BAA4B,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,sBAAsB,CAAA;CAAE,IAC9D,2BAA2B,mBAAmB,qBA8B9E"}
@@ -0,0 +1,27 @@
1
+ import type { Ed25519Account } from "@aptos-labs/ts-sdk";
2
+ import type { GenericCreateTransactionParams, GenericTransferParams } from "@swapkit/helpers";
3
+ import type { getAptosToolbox } from "./toolbox";
4
+ export type AptosWallet = ReturnType<typeof getAptosToolbox>;
5
+ export type AptosCreateTransactionParams = Omit<GenericCreateTransactionParams, "feeRate"> & {
6
+ maxGasAmount?: number;
7
+ };
8
+ export type AptosTransferParams = Omit<GenericTransferParams, "feeRate"> & {
9
+ maxGasAmount?: number;
10
+ };
11
+ export type AptosToolboxParams = {
12
+ derivationPath?: import("@swapkit/helpers").DerivationPathArray;
13
+ phrase?: string;
14
+ provider?: string;
15
+ signer?: Ed25519Account;
16
+ };
17
+ export interface AptosExtensionProvider {
18
+ connect: () => Promise<{
19
+ address: string;
20
+ publicKey: string;
21
+ }>;
22
+ disconnect?: () => Promise<void>;
23
+ signAndSubmitTransaction: (payload: unknown) => Promise<{
24
+ hash: string;
25
+ }>;
26
+ }
27
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/aptos/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAAC,8BAA8B,EAAE,SAAS,CAAC,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErG,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,CAAC,EAAE,OAAO,kBAAkB,EAAE,mBAAmB,CAAC;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,wBAAwB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3E"}
@@ -1,34 +1,31 @@
1
- import { AssetValue, type DerivationPathArray } from "@swapkit/helpers";
2
- import type { CardanoProvider } from "./index";
3
- type CardanoSigner = CardanoProvider | {
4
- address: string;
1
+ import { Transaction } from "@stricahq/typhonjs";
2
+ import { AssetValue, type ChainSigner, type DerivationPathArray } from "@swapkit/helpers";
3
+ import type { CardanoCreateTransactionParams, CardanoProvider, CardanoTransferParams } from "./types";
4
+ type CardanoChainSigner = ChainSigner<string, string> & {
5
+ publicKey: Buffer;
6
+ publicKeyHash: Buffer;
5
7
  };
6
- export declare function getCardanoAddressValidator(): Promise<(address: string) => boolean>;
8
+ type CardanoSigner = CardanoProvider | CardanoChainSigner;
9
+ export declare function validateCardanoAddress(address: string): boolean;
7
10
  export declare function getCardanoToolbox(toolboxParams?: {
8
11
  signer?: CardanoSigner;
9
12
  } | {
10
13
  phrase?: string;
11
14
  index?: number;
12
15
  derivationPath?: DerivationPathArray;
13
- }): Promise<{
14
- createTransaction: ({ recipient, assetValue, memo, }: {
15
- recipient: string;
16
- assetValue: AssetValue;
17
- memo?: string;
18
- }) => Promise<{
19
- tx: import("@meshsdk/core").Transaction;
16
+ }): {
17
+ createTransaction: ({ sender, recipient, assetValue, memo, pureLovelaceOnly, }: CardanoCreateTransactionParams) => Promise<{
18
+ tx: Transaction;
20
19
  unsignedTx: string;
21
20
  }>;
22
- estimateTransactionFee: () => Promise<AssetValue>;
23
- getAddress: () => string;
21
+ estimateTransactionFee: (params?: CardanoCreateTransactionParams) => Promise<AssetValue>;
22
+ getAddress: () => Promise<string>;
24
23
  getBalance: (addressParam?: string) => Promise<AssetValue[]>;
25
- signTransaction: (txParams: string) => Promise<string>;
26
- transfer: ({ recipient, assetValue, memo, }: {
27
- recipient: string;
28
- assetValue: AssetValue;
29
- memo?: string;
30
- }) => Promise<string>;
31
- validateAddress: (address: string) => boolean;
32
- }>;
24
+ signAndBroadcastTransaction: (txInput: string) => Promise<string>;
25
+ signTransaction: (tx: string) => Promise<string>;
26
+ transfer: ({ recipient, assetValue, memo }: CardanoTransferParams) => Promise<string>;
27
+ validateAddress: typeof validateCardanoAddress;
28
+ };
29
+ export type CardanoWallet = ReturnType<typeof getCardanoToolbox>;
33
30
  export {};
34
31
  //# sourceMappingURL=toolbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolbox.d.ts","sourceRoot":"","sources":["../../../src/cardano/toolbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAS,KAAK,mBAAmB,EAAgC,MAAM,kBAAkB,CAAC;AAE7G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,KAAK,aAAa,GAAG,eAAe,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AA4C3D,wBAAsB,0BAA0B,sBAG7B,MAAM,cAQxB;AAED,wBAAsB,iBAAiB,CACrC,aAAa,CAAC,EACV;IAAE,MAAM,CAAC,EAAE,aAAa,CAAA;CAAE,GAC1B;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,mBAAmB,CAAA;CAAE;0DAyC1E;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,UAAU,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;;;;;;gCAlBkC,MAAM;gCAsCN,MAAM;iDAYtC;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,UAAU,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;+BA9FgB,MAAM;GAoHxB"}
1
+ {"version":3,"file":"toolbox.d.ts","sourceRoot":"","sources":["../../../src/cardano/toolbox.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAkE,MAAM,oBAAoB,CAAC;AACjH,OAAO,EACL,UAAU,EAEV,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAGzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,8BAA8B,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAUtG,KAAK,kBAAkB,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAErG,KAAK,aAAa,GAAG,eAAe,GAAG,kBAAkB,CAAC;AAuJ1D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,WASrD;AAyED,wBAAgB,iBAAiB,CAC/B,aAAa,CAAC,EACV;IAAE,MAAM,CAAC,EAAE,aAAa,CAAA;CAAE,GAC1B;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,mBAAmB,CAAA;CAAE;oFA2E1E,8BAA8B,KAAG,OAAO,CAAC;QAAE,EAAE,EAAE,WAAW,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;sCAzBrC,8BAA8B;;gCANpC,MAAM;2CA8GK,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;0BAtBzC,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;gDASF,qBAAqB,KAAG,OAAO,CAAC,MAAM,CAAC;;EA6BjG;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -1,11 +1,16 @@
1
- import type { getCardanoToolbox } from "./toolbox";
2
- export type CardanoWallet = Awaited<ReturnType<typeof getCardanoToolbox>>;
1
+ import type { GenericCreateTransactionParams, GenericTransferParams } from "@swapkit/helpers";
3
2
  export interface CardanoProvider {
4
3
  connect: () => Promise<{
5
4
  address: string;
6
5
  }>;
7
6
  disconnect: () => Promise<void>;
8
7
  address: string | null;
9
- signTransaction: (transaction: any) => Promise<any>;
8
+ signTransaction: (transaction: string) => Promise<string>;
10
9
  }
10
+ export type CardanoCreateTransactionParams = Omit<GenericCreateTransactionParams, "feeRate" | "sender"> & {
11
+ sender?: string;
12
+ /** When true, only UTXOs containing purely lovelace (no native tokens) will be used as inputs. */
13
+ pureLovelaceOnly?: boolean;
14
+ };
15
+ export type CardanoTransferParams = Omit<GenericTransferParams, "feeRate">;
11
16
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cardano/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5C,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACrD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cardano/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9F,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5C,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3D;AAED,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,8BAA8B,EAAE,SAAS,GAAG,QAAQ,CAAC,GAAG;IACxG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kGAAkG;IAClG,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"addressFormat.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/thorchainUtils/addressFormat.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,UAE7C;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,oCAE9D;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,UAExC;AAED,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,+BAK9C"}
1
+ {"version":3,"file":"addressFormat.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/thorchainUtils/addressFormat.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,UAE7C;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,oCAE9D;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,UAExC;AAED,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,+BAK9C"}
@@ -63,7 +63,7 @@ export declare const buildAminoMsg: ({ sender, recipient, assetValue, memo, }: {
63
63
  };
64
64
  };
65
65
  export declare const convertToSignable: (msg: MsgSend | MsgDeposit, chain: TCLikeChain) => Promise<import("@cosmjs/proto-signing").EncodeObject>;
66
- export declare function getCreateTransaction(rpcUrl: string): (params: ThorchainCreateTransactionParams) => Promise<{
66
+ export declare function createTransaction(params: ThorchainCreateTransactionParams): Promise<{
67
67
  accountNumber: number;
68
68
  chainId: import("@swapkit/types").ChainId.Maya | import("@swapkit/types").ChainId.THORChain;
69
69
  fee: {
@@ -110,7 +110,7 @@ export declare function getCreateTransaction(rpcUrl: string): (params: Thorchain
110
110
  })[];
111
111
  sequence: number;
112
112
  }>;
113
- export declare const buildTransferTx: (rpcUrl: string) => ({ sender, recipient, assetValue, memo, asSignable, asAminoMessage, sequence, accountNumber, }: ThorchainCreateTransactionParams) => Promise<{
113
+ export declare function buildTransferTx({ sender, recipient, assetValue, memo, asSignable, asAminoMessage, sequence, accountNumber, }: ThorchainCreateTransactionParams): Promise<{
114
114
  accountNumber: number;
115
115
  chainId: import("@swapkit/types").ChainId.Maya | import("@swapkit/types").ChainId.THORChain;
116
116
  fee: {
@@ -134,7 +134,7 @@ export declare const buildTransferTx: (rpcUrl: string) => ({ sender, recipient,
134
134
  })[];
135
135
  sequence: number;
136
136
  }>;
137
- export declare const buildDepositTx: (rpcUrl: string) => ({ sender, assetValue, memo, asSignable, asAminoMessage, sequence, accountNumber, }: ThorchainCreateTransactionParams) => Promise<{
137
+ export declare function buildDepositTx({ sender, assetValue, memo, asSignable, asAminoMessage, sequence, accountNumber, }: ThorchainCreateTransactionParams): Promise<{
138
138
  accountNumber: number;
139
139
  chainId: import("@swapkit/types").ChainId.Maya | import("@swapkit/types").ChainId.THORChain;
140
140
  fee: {
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/thorchainUtils/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAuC,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKrG,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;AAEhE,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACnD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AACrD,KAAK,yBAAyB,GAAG,UAAU,CAAC,OAAO,iCAAiC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/F,KAAK,4BAA4B,GAAG,UAAU,CAAC,OAAO,iCAAiC,CAAC,UAAU,CAAC,CAAC,CAAC;AAErG,eAAO,MAAM,mBAAmB,QAA0C,CAAC;AAC3E,eAAO,MAAM,cAAc,QAAqC,CAAC;AAEjE,eAAO,MAAM,gBAAgB,GAAI,oCAI9B;IACD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;CACxB;;;;;;;;;;CAUA,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,+BAI7B;IACD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;;;;;CAUA,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,0CAK3B;IACD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;;;;;;;;;;;;;;;CAOA,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,KAAK,OAAO,GAAG,UAAU,EAAE,OAAO,WAAW,0DAIpF,CAAC;AAaF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,IACf,QAAQ,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAS3E;AAED,eAAO,MAAM,eAAe,GACzB,QAAQ,MAAM,MACR,+FASJ,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;EAqBlC,CAAC;AAEJ,eAAO,MAAM,cAAc,GACxB,QAAQ,MAAM,MACR,oFAQJ,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;EAwBlC,CAAC;AAEJ,wBAAgB,iCAAiC,CAAC,CAAC,SAAS,UAAU,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;oBAOP,MAAM;;;;;;;;;;;;oBAAN,MAAM;;;;;;;;;GAUtF;AAED,wBAAsB,kBAAkB,CAAC,EACvC,KAAK,EACL,IAAI,EACJ,IAAI,GACL,EAAE;IACD,IAAI,EAAE,4BAA4B,EAAE,GAAG,yBAAyB,EAAE,CAAC;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;CACpB,wCAUA"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/thorchainUtils/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAkD,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKhH,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;AAEhE,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACnD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AACrD,KAAK,yBAAyB,GAAG,UAAU,CAAC,OAAO,iCAAiC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/F,KAAK,4BAA4B,GAAG,UAAU,CAAC,OAAO,iCAAiC,CAAC,UAAU,CAAC,CAAC,CAAC;AAErG,eAAO,MAAM,mBAAmB,QAA0C,CAAC;AAC3E,eAAO,MAAM,cAAc,QAAqC,CAAC;AAEjE,eAAO,MAAM,gBAAgB,GAAI,oCAI9B;IACD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;CACxB;;;;;;;;;;CAUA,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,+BAI7B;IACD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;;;;;CAUA,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,0CAK3B;IACD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;;;;;;;;;;;;;;;CAOA,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,KAAK,OAAO,GAAG,UAAU,EAAE,OAAO,WAAW,0DAIpF,CAAC;AAaF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQzE;AAED,wBAAsB,eAAe,CAAC,EACpC,MAAM,EACN,SAAS,EACT,UAAU,EACV,IAAS,EACT,UAAiB,EACjB,cAAsB,EACtB,QAAQ,EACR,aAAa,GACd,EAAE,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;GAuBlC;AAED,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,UAAU,EACV,IAAS,EACT,UAAiB,EACjB,cAAsB,EACtB,QAAQ,EACR,aAAa,GACd,EAAE,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;GAyBlC;AAED,wBAAgB,iCAAiC,CAAC,CAAC,SAAS,UAAU,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;oBAOP,MAAM;;;;;;;;;;;;oBAAN,MAAM;;;;;;;;;GAUtF;AAED,wBAAsB,kBAAkB,CAAC,EACvC,KAAK,EACL,IAAI,EACJ,IAAI,GACL,EAAE;IACD,IAAI,EAAE,4BAA4B,EAAE,GAAG,yBAAyB,EAAE,CAAC;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;CACpB,wCAUA"}
@@ -1,5 +1,8 @@
1
+ import { DirectSecp256k1HdWallet } from "@cosmjs/proto-signing";
1
2
  import type { Account } from "@cosmjs/stargate";
2
3
  import { AssetValue, Chain, type ChainId, type CosmosChain, type DerivationPathArray, type GenericTransferParams, SwapKitNumber } from "@swapkit/helpers";
4
+ import { type CosmosTransaction } from "@swapkit/helpers/api";
5
+ import type { TxRaw } from "cosmjs-types/cosmos/tx/v1beta1/tx";
3
6
  import type { CosmosToolboxParams } from "../types";
4
7
  import { cosmosCreateTransaction } from "../util";
5
8
  export declare function fetchFeeRateFromSwapKit(chainId: ChainId, safeDefault: number): Promise<number>;
@@ -11,7 +14,7 @@ export declare function getSignerFromPhrase({ phrase, prefix, ...derivationParam
11
14
  index?: number;
12
15
  } | {
13
16
  derivationPath: string;
14
- })): Promise<import("@cosmjs/proto-signing").DirectSecp256k1HdWallet>;
17
+ })): Promise<DirectSecp256k1HdWallet>;
15
18
  export declare function getSignerFromPrivateKey({ privateKey, prefix }: {
16
19
  privateKey: Uint8Array;
17
20
  prefix: string;
@@ -21,7 +24,7 @@ export declare function verifySignature(getAccount: (address: string) => Promise
21
24
  message: string;
22
25
  address: string;
23
26
  }) => Promise<boolean>;
24
- export declare function createCosmosToolbox({ chain, ...toolboxParams }: CosmosToolboxParams): Promise<{
27
+ export declare function createCosmosToolbox({ chain, ...toolboxParams }: CosmosToolboxParams): {
25
28
  createPrivateKeyFromPhrase: (phrase: string) => Promise<Uint8Array<ArrayBufferLike>>;
26
29
  createTransaction: typeof cosmosCreateTransaction;
27
30
  fetchFeeRateFromSwapKit: typeof fetchFeeRateFromSwapKit;
@@ -41,22 +44,21 @@ export declare function createCosmosToolbox({ chain, ...toolboxParams }: CosmosT
41
44
  getSignerFromPhrase: ({ phrase, derivationPath }: {
42
45
  phrase: string;
43
46
  derivationPath: DerivationPathArray;
44
- }) => Promise<import("@cosmjs/proto-signing").DirectSecp256k1HdWallet>;
47
+ }) => Promise<DirectSecp256k1HdWallet>;
45
48
  getSignerFromPrivateKey: (privateKey: Uint8Array) => Promise<import("@cosmjs/proto-signing").DirectSecp256k1Wallet>;
46
- signTransaction: ({ recipient, assetValue, memo, feeRate, feeOptionKey, }: GenericTransferParams) => Promise<string>;
47
- transfer: ({ recipient, assetValue, memo, feeRate, feeOptionKey, dryRun, }: GenericTransferParams & {
48
- dryRun?: boolean;
49
- }) => Promise<string>;
49
+ signAndBroadcastTransaction: (transaction: CosmosTransaction) => Promise<string>;
50
+ signTransaction: (transaction: CosmosTransaction) => Promise<TxRaw>;
51
+ transfer: ({ recipient, assetValue, memo, feeRate, feeOptionKey, }: GenericTransferParams) => Promise<string>;
50
52
  validateAddress: (address: string) => boolean;
51
53
  verifySignature: ({ signature, message, address, }: {
52
54
  signature: string;
53
55
  message: string;
54
56
  address: string;
55
57
  }) => Promise<boolean>;
56
- }>;
58
+ };
57
59
  export declare function getFeeRateFromSwapKit(chainId: ChainId, safeDefault: number): Promise<number>;
58
60
  export declare function estimateTransactionFee({ assetValue: { chain } }: {
59
61
  assetValue: AssetValue;
60
62
  }): AssetValue;
61
- export declare function getCosmosValidateAddress(chain: CosmosChain): (address: string) => boolean;
63
+ export declare function getCosmosAddressValidator(chain: CosmosChain): (address: string) => boolean;
62
64
  //# sourceMappingURL=cosmos.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/toolbox/cosmos.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EACL,UAAU,EAEV,KAAK,EACL,KAAK,OAAO,EACZ,KAAK,WAAW,EAGhB,KAAK,mBAAmB,EAGxB,KAAK,qBAAqB,EAK1B,aAAa,EAGd,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EACL,uBAAuB,EAMxB,MAAM,SAAS,CAAC;AAEjB,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBASlF;AAED,wBAAsB,mBAAmB,CAAC,EACxC,MAAM,EACN,MAAM,EACN,GAAG,gBAAgB,EACpB,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,oEAavG;AAED,wBAAsB,uBAAuB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,kEAM/G;AAWD,wBAAgB,eAAe,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,IAChD,kCAInC;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,sBAWF;AAED,wBAAsB,mBAAmB,CAAC,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,EAAE,mBAAmB;yCAsO/B,MAAM;;;0BAtN5B,MAAM;;0BA2FX,MAAM,yBAAyB,OAAO;kCA6Gd,MAAM;;;;;;;;;;sDAhFF;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,mBAAmB,CAAA;KAAE;0CAOnE,UAAU;+EAvGrD,qBAAqB;gFAqCrB,qBAAqB,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE;+BA4HN,MAAM;wDA1N5C;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB;GAuKF;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAShF;AAED,wBAAgB,sBAAsB,CAAC,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IAAE,UAAU,EAAE,UAAU,CAAA;CAAE,cAE3F;AA8BD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,IAEzB,SAAS,MAAM,aAYhD"}
1
+ {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/toolbox/cosmos.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EACL,UAAU,EAEV,KAAK,EACL,KAAK,OAAO,EACZ,KAAK,WAAW,EAGhB,KAAK,mBAAmB,EAGxB,KAAK,qBAAqB,EAK1B,aAAa,EAGd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,iBAAiB,EAAc,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE/D,OAAO,KAAK,EAAgB,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EACL,uBAAuB,EAMxB,MAAM,SAAS,CAAC;AAEjB,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBASlF;AAED,wBAAsB,mBAAmB,CAAC,EACxC,MAAM,EACN,MAAM,EACN,GAAG,gBAAgB,EACpB,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,oCAYvG;AAED,wBAAsB,uBAAuB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,kEAM/G;AAWD,wBAAgB,eAAe,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,IAChD,kCAInC;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,sBAWF;AAED,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,EAAE,mBAAmB;yCAoPzB,MAAM;;;0BA7N5B,MAAM;;0BA+FX,MAAM,yBAAyB,OAAO;kCA+Gd,MAAM;;;;;;;;;;sDAlFR;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,mBAAmB,CAAA;KAAE;0CAO7D,UAAU;+CA1FA,iBAAiB;mCApB7B,iBAAiB,KAAG,OAAO,CAAC,KAAK,CAAC;wEA8C3E,qBAAqB;+BA4HiB,MAAM;wDAvO5C;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB;EAoLF;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAShF;AAED,wBAAgB,sBAAsB,CAAC,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IAAE,UAAU,EAAE,UAAU,CAAA;CAAE,cAE3F;AA8BD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,IAE1B,SAAS,MAAM,aAYhD"}
@@ -1,6 +1,6 @@
1
1
  import type { Pubkey, Secp256k1HdWallet } from "@cosmjs/amino";
2
2
  import { type GenericTransferParams, SwapKitNumber, type TCLikeChain } from "@swapkit/helpers";
3
- import { buildEncodedTxBody, createDefaultRegistry, parseAminoMessageForDirectSigning } from "../thorchainUtils";
3
+ import { buildEncodedTxBody, createDefaultRegistry, createTransaction, parseAminoMessageForDirectSigning } from "../thorchainUtils";
4
4
  import type { CosmosToolboxParams, MultiSigSigner, MultisigTx } from "../types";
5
5
  declare function createMultisig(pubKeys: string[], threshold: number, noSortPubKeys?: boolean): Promise<import("@cosmjs/amino").MultisigThresholdPubkey>;
6
6
  declare function importSignature(signature: string): Uint8Array<ArrayBufferLike>;
@@ -8,7 +8,7 @@ declare function signWithPrivateKey({ privateKey, message }: {
8
8
  privateKey: Uint8Array;
9
9
  message: string;
10
10
  }): Promise<string>;
11
- export declare function createThorchainToolbox({ chain, ...toolboxParams }: CosmosToolboxParams<TCLikeChain>): Promise<{
11
+ export declare function createThorchainToolbox({ chain, ...toolboxParams }: CosmosToolboxParams<TCLikeChain>): {
12
12
  broadcastMultisigTx: (tx: string, signers: MultiSigSigner[], membersPubKeys: string[], threshold: number, bodyBytes: Uint8Array) => Promise<string>;
13
13
  buildAminoMsg: ({ sender, recipient, assetValue, memo, }: {
14
14
  sender: string;
@@ -61,53 +61,7 @@ export declare function createThorchainToolbox({ chain, ...toolboxParams }: Cosm
61
61
  createDefaultAminoTypes: () => Promise<import("@cosmjs/stargate").AminoTypes>;
62
62
  createDefaultRegistry: typeof createDefaultRegistry;
63
63
  createMultisig: typeof createMultisig;
64
- createTransaction: (params: import("..").ThorchainCreateTransactionParams) => Promise<{
65
- accountNumber: number;
66
- chainId: import("@swapkit/types").ChainId.Maya | import("@swapkit/types").ChainId.THORChain;
67
- fee: {
68
- amount: {
69
- amount: string;
70
- denom: string;
71
- }[];
72
- gas: string;
73
- };
74
- memo: string;
75
- msgs: (import("@cosmjs/proto-signing").EncodeObject | {
76
- type: "thorchain/MsgSend" | "mayachain/MsgSend";
77
- value: {
78
- amount: {
79
- amount: string;
80
- denom: string;
81
- }[];
82
- from_address: string;
83
- to_address: string | undefined;
84
- };
85
- })[];
86
- sequence: number;
87
- }> | Promise<{
88
- accountNumber: number;
89
- chainId: import("@swapkit/types").ChainId.Maya | import("@swapkit/types").ChainId.THORChain;
90
- fee: {
91
- amount: {
92
- amount: string;
93
- denom: string;
94
- }[];
95
- gas: string;
96
- };
97
- memo: string;
98
- msgs: (import("@cosmjs/proto-signing").EncodeObject | {
99
- type: "thorchain/MsgDeposit" | "mayachain/MsgDeposit";
100
- value: {
101
- coins: {
102
- amount: string;
103
- asset: string;
104
- }[];
105
- memo: string;
106
- signer: string;
107
- };
108
- })[];
109
- sequence: number;
110
- }>;
64
+ createTransaction: typeof createTransaction;
111
65
  deposit: ({ assetValue, memo, recipient, }: Omit<GenericTransferParams, "recipient"> & {
112
66
  recipient?: string;
113
67
  }) => Promise<string>;
@@ -146,13 +100,14 @@ export declare function createThorchainToolbox({ chain, ...toolboxParams }: Cosm
146
100
  derivationPath: import("@swapkit/helpers").DerivationPathArray;
147
101
  }) => Promise<import("@cosmjs/proto-signing").DirectSecp256k1HdWallet>;
148
102
  getSignerFromPrivateKey: (privateKey: Uint8Array) => Promise<import("@cosmjs/proto-signing").DirectSecp256k1Wallet>;
149
- signTransaction: ({ recipient, assetValue, memo, feeRate, feeOptionKey, }: GenericTransferParams) => Promise<string>;
103
+ signAndBroadcastTransaction: (transaction: import("@swapkit/helpers").CosmosTransaction) => Promise<string>;
104
+ signTransaction: (transaction: import("@swapkit/helpers").CosmosTransaction) => Promise<import("cosmjs-types/cosmos/tx/v1beta1/tx").TxRaw>;
150
105
  validateAddress: (address: string) => boolean;
151
106
  verifySignature: ({ signature, message, address, }: {
152
107
  signature: string;
153
108
  message: string;
154
109
  address: string;
155
110
  }) => Promise<boolean>;
156
- }>;
111
+ };
157
112
  export {};
158
113
  //# sourceMappingURL=thorchain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"thorchain.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/toolbox/thorchain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAKL,KAAK,qBAAqB,EAO1B,aAAa,EACb,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAEL,kBAAkB,EAGlB,qBAAqB,EAErB,iCAAiC,EAClC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAoFhF,iBAAe,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,UAAO,4DAOvF;AAED,iBAAS,eAAe,CAAC,SAAS,EAAE,MAAM,+BAEzC;AAED,iBAAe,kBAAkB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,mBAKrG;AAED,wBAAsB,sBAAsB,CAAC,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,EAAE,mBAAmB,CAAC,WAAW,CAAC;8BArDlG,MAAM,WACD,cAAc,EAAE,kBACT,MAAM,EAAE,aACb,MAAM,aACN,UAAU;;;iBA7B6B,CAAC;;YAA0C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDA+H7F,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;8BAqDlC,MAAM;8CApMsB,MAAM;qCAef;QAAE,MAAM,EAAE,iBAAiB,CAAC;QAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE;;;;;iDAgIxG,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;GAiErE"}
1
+ {"version":3,"file":"thorchain.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/toolbox/thorchain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAKL,KAAK,qBAAqB,EAO1B,aAAa,EACb,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAEL,kBAAkB,EAGlB,qBAAqB,EACrB,iBAAiB,EACjB,iCAAiC,EAClC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAqFhF,iBAAe,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,UAAO,4DAOvF;AAED,iBAAS,eAAe,CAAC,SAAS,EAAE,MAAM,+BAEzC;AAED,iBAAe,kBAAkB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,mBAKrG;AAED,wBAAgB,sBAAsB,CAAC,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,EAAE,mBAAmB,CAAC,WAAW,CAAC;8BAtD5F,MAAM,WACD,cAAc,EAAE,kBACT,MAAM,EAAE,aACb,MAAM,aACN,UAAU;;;iBA7B2C,CAAC;;YAEjE,CADJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAyHK,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;8BA2DlC,MAAM;8CArMsB,MAAM;qCAef;QAAE,MAAM,EAAE,iBAAiB,CAAC;QAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE;;;;;iDA2HxG,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;EAuErE"}
@@ -38,11 +38,11 @@ export type CosmosToolboxParams<T = CosmosChain> = {
38
38
  index?: number;
39
39
  });
40
40
  export type BaseCosmosToolboxType = ReturnType<typeof createCosmosToolbox>;
41
- export type BaseCosmosWallet = Awaited<ReturnType<typeof createCosmosToolbox>>;
41
+ export type BaseCosmosWallet = ReturnType<typeof createCosmosToolbox>;
42
42
  export type CosmosWallets = {
43
43
  [chain in Exclude<CosmosChain, TCLikeChain>]: BaseCosmosWallet;
44
44
  };
45
- export type ThorchainWallet = Awaited<Omit<ReturnType<typeof createThorchainToolbox>, "signMessage">>;
45
+ export type ThorchainWallet = Omit<ReturnType<typeof createThorchainToolbox>, "signMessage">;
46
46
  export type ThorchainWallets = {
47
47
  [chain in TCLikeChain]: ThorchainWallet;
48
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cosmos/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,8BAA8B,EAC9B,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAEjD,MAAM,MAAM,qBAAqB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAC9G,MAAM,MAAM,6BAA6B,GAAG,8BAA8B,GAAG;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,EAAE,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAE9F,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,WAAW,IAAI;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG,CAC9D;IAAE,MAAM,CAAC,EAAE,YAAY,CAAA;CAAE,GACzB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAC5E,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC3E,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC;AAC/E,MAAM,MAAM,aAAa,GAAG;KACzB,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,gBAAgB;CAC/D,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;AACtG,MAAM,MAAM,gBAAgB,GAAG;KAC5B,KAAK,IAAI,WAAW,GAAG,eAAe;CACxC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cosmos/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,8BAA8B,EAC9B,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAEjD,MAAM,MAAM,qBAAqB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAC9G,MAAM,MAAM,6BAA6B,GAAG,8BAA8B,GAAG;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,EAAE,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAE9F,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,WAAW,IAAI;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG,CAC9D;IAAE,MAAM,CAAC,EAAE,YAAY,CAAA;CAAE,GACzB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAC5E,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC3E,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,aAAa,GAAG;KACzB,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,gBAAgB;CAC/D,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,EAAE,aAAa,CAAC,CAAC;AAC7F,MAAM,MAAM,gBAAgB,GAAG;KAC5B,KAAK,IAAI,WAAW,GAAG,eAAe;CACxC,CAAC"}
@@ -1,6 +1,39 @@
1
1
  import { Chain, type EVMChain, type NetworkParams } from "@swapkit/helpers";
2
- export declare function getProvider(chain: EVMChain, customUrl?: string): Promise<import("ethers").JsonRpcProvider>;
2
+ import type { Authorization, JsonFragment, Signer } from "ethers";
3
+ import { JsonRpcProvider } from "ethers";
4
+ import type { EIP712TypedData } from "./types";
5
+ export declare function getProviderSync(url: string): JsonRpcProvider;
6
+ export declare function getProvider(chain: EVMChain, customUrl?: string): Promise<JsonRpcProvider>;
3
7
  export declare function toHexString(value: bigint): string;
4
8
  export declare function getNetworkParams<C extends EVMChain>(chain: C): () => C extends Chain.Ethereum ? undefined : NetworkParams;
5
9
  export declare function getIsEIP1559Compatible<C extends EVMChain>(chain: C): boolean;
10
+ export declare function signAuthorization(signer: Signer, params: {
11
+ address: string;
12
+ nonce?: number | bigint;
13
+ chainId?: bigint;
14
+ }): Promise<Authorization>;
15
+ export declare function validateAuthorization(auth: Authorization, index?: number): void;
16
+ export declare function buildEIP712DomainType(domain: {
17
+ chainId?: bigint | null | number | string;
18
+ name?: null | string;
19
+ salt?: Uint8Array | null | string;
20
+ verifyingContract?: null | string;
21
+ version?: null | string;
22
+ }): {
23
+ name: "chainId" | "version" | "name" | "verifyingContract" | "salt";
24
+ type: "string" | "address" | "uint256" | "bytes32";
25
+ }[];
26
+ export declare function parseEIP712FromEVMTx({ chain, abi, data, to, }: {
27
+ chain: EVMChain;
28
+ abi: readonly JsonFragment[];
29
+ data: string;
30
+ to: string;
31
+ }): EIP712TypedData;
32
+ /**
33
+ * Validates an array of EIP-7702 authorizations.
34
+ * @param authorizations - Array of authorizations to validate
35
+ * @param expectedChainId - Optional chainId to verify authorizations match the transaction chain
36
+ * @throws SwapKitError if any authorization is invalid or array is empty
37
+ */
38
+ export declare function validateAuthorizations(authorizations: Authorization[], expectedChainId?: bigint): void;
6
39
  //# sourceMappingURL=helpers.d.ts.map