@tcswap/toolboxes 4.3.15

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 (275) hide show
  1. package/dist/src/cardano/index.cjs +4 -0
  2. package/dist/src/cardano/index.cjs.map +11 -0
  3. package/dist/src/cardano/index.js +4 -0
  4. package/dist/src/cardano/index.js.map +11 -0
  5. package/dist/src/cosmos/index.cjs +4 -0
  6. package/dist/src/cosmos/index.cjs.map +20 -0
  7. package/dist/src/cosmos/index.js +4 -0
  8. package/dist/src/cosmos/index.js.map +20 -0
  9. package/dist/src/evm/index.cjs +4 -0
  10. package/dist/src/evm/index.cjs.map +20 -0
  11. package/dist/src/evm/index.js +4 -0
  12. package/dist/src/evm/index.js.map +20 -0
  13. package/dist/src/index.cjs +5 -0
  14. package/dist/src/index.cjs.map +67 -0
  15. package/dist/src/index.js +5 -0
  16. package/dist/src/index.js.map +67 -0
  17. package/dist/src/near/index.cjs +4 -0
  18. package/dist/src/near/index.cjs.map +16 -0
  19. package/dist/src/near/index.js +4 -0
  20. package/dist/src/near/index.js.map +16 -0
  21. package/dist/src/radix/index.cjs +4 -0
  22. package/dist/src/radix/index.cjs.map +10 -0
  23. package/dist/src/radix/index.js +4 -0
  24. package/dist/src/radix/index.js.map +10 -0
  25. package/dist/src/ripple/index.cjs +4 -0
  26. package/dist/src/ripple/index.cjs.map +10 -0
  27. package/dist/src/ripple/index.js +4 -0
  28. package/dist/src/ripple/index.js.map +10 -0
  29. package/dist/src/solana/index.cjs +4 -0
  30. package/dist/src/solana/index.cjs.map +11 -0
  31. package/dist/src/solana/index.js +4 -0
  32. package/dist/src/solana/index.js.map +11 -0
  33. package/dist/src/substrate/index.cjs +4 -0
  34. package/dist/src/substrate/index.cjs.map +13 -0
  35. package/dist/src/substrate/index.js +4 -0
  36. package/dist/src/substrate/index.js.map +13 -0
  37. package/dist/src/sui/index.cjs +4 -0
  38. package/dist/src/sui/index.cjs.map +11 -0
  39. package/dist/src/sui/index.js +4 -0
  40. package/dist/src/sui/index.js.map +11 -0
  41. package/dist/src/ton/index.cjs +4 -0
  42. package/dist/src/ton/index.cjs.map +11 -0
  43. package/dist/src/ton/index.js +4 -0
  44. package/dist/src/ton/index.js.map +11 -0
  45. package/dist/src/tron/index.cjs +4 -0
  46. package/dist/src/tron/index.cjs.map +13 -0
  47. package/dist/src/tron/index.js +4 -0
  48. package/dist/src/tron/index.js.map +13 -0
  49. package/dist/src/utxo/index.cjs +5 -0
  50. package/dist/src/utxo/index.cjs.map +21 -0
  51. package/dist/src/utxo/index.js +5 -0
  52. package/dist/src/utxo/index.js.map +21 -0
  53. package/dist/types/cardano/index.d.ts +3 -0
  54. package/dist/types/cardano/index.d.ts.map +1 -0
  55. package/dist/types/cardano/toolbox.d.ts +37 -0
  56. package/dist/types/cardano/toolbox.d.ts.map +1 -0
  57. package/dist/types/cardano/types.d.ts +11 -0
  58. package/dist/types/cardano/types.d.ts.map +1 -0
  59. package/dist/types/cosmos/index.d.ts +5 -0
  60. package/dist/types/cosmos/index.d.ts.map +1 -0
  61. package/dist/types/cosmos/thorchainUtils/addressFormat.d.ts +8 -0
  62. package/dist/types/cosmos/thorchainUtils/addressFormat.d.ts.map +1 -0
  63. package/dist/types/cosmos/thorchainUtils/index.d.ts +5 -0
  64. package/dist/types/cosmos/thorchainUtils/index.d.ts.map +1 -0
  65. package/dist/types/cosmos/thorchainUtils/messages.d.ts +211 -0
  66. package/dist/types/cosmos/thorchainUtils/messages.d.ts.map +1 -0
  67. package/dist/types/cosmos/thorchainUtils/registry.d.ts +4 -0
  68. package/dist/types/cosmos/thorchainUtils/registry.d.ts.map +1 -0
  69. package/dist/types/cosmos/thorchainUtils/types/MsgCompiled.d.ts +2 -0
  70. package/dist/types/cosmos/thorchainUtils/types/MsgCompiled.d.ts.map +1 -0
  71. package/dist/types/cosmos/thorchainUtils/types/client-types.d.ts +63 -0
  72. package/dist/types/cosmos/thorchainUtils/types/client-types.d.ts.map +1 -0
  73. package/dist/types/cosmos/thorchainUtils/types/index.d.ts +2 -0
  74. package/dist/types/cosmos/thorchainUtils/types/index.d.ts.map +1 -0
  75. package/dist/types/cosmos/toolbox/cosmos.d.ts +65 -0
  76. package/dist/types/cosmos/toolbox/cosmos.d.ts.map +1 -0
  77. package/dist/types/cosmos/toolbox/index.d.ts +18 -0
  78. package/dist/types/cosmos/toolbox/index.d.ts.map +1 -0
  79. package/dist/types/cosmos/toolbox/thorchain.d.ts +161 -0
  80. package/dist/types/cosmos/toolbox/thorchain.d.ts.map +1 -0
  81. package/dist/types/cosmos/types.d.ts +49 -0
  82. package/dist/types/cosmos/types.d.ts.map +1 -0
  83. package/dist/types/cosmos/util.d.ts +77 -0
  84. package/dist/types/cosmos/util.d.ts.map +1 -0
  85. package/dist/types/evm/api.d.ts +8 -0
  86. package/dist/types/evm/api.d.ts.map +1 -0
  87. package/dist/types/evm/contracts/eth/multicall.d.ts +36 -0
  88. package/dist/types/evm/contracts/eth/multicall.d.ts.map +1 -0
  89. package/dist/types/evm/contracts/op/gasOracle.d.ts +40 -0
  90. package/dist/types/evm/contracts/op/gasOracle.d.ts.map +1 -0
  91. package/dist/types/evm/helpers.d.ts +6 -0
  92. package/dist/types/evm/helpers.d.ts.map +1 -0
  93. package/dist/types/evm/index.d.ts +5 -0
  94. package/dist/types/evm/index.d.ts.map +1 -0
  95. package/dist/types/evm/toolbox/baseEVMToolbox.d.ts +88 -0
  96. package/dist/types/evm/toolbox/baseEVMToolbox.d.ts.map +1 -0
  97. package/dist/types/evm/toolbox/evm.d.ts +767 -0
  98. package/dist/types/evm/toolbox/evm.d.ts.map +1 -0
  99. package/dist/types/evm/toolbox/index.d.ts +7 -0
  100. package/dist/types/evm/toolbox/index.d.ts.map +1 -0
  101. package/dist/types/evm/toolbox/op.d.ts +67 -0
  102. package/dist/types/evm/toolbox/op.d.ts.map +1 -0
  103. package/dist/types/evm/types.d.ts +108 -0
  104. package/dist/types/evm/types.d.ts.map +1 -0
  105. package/dist/types/index.d.ts +78 -0
  106. package/dist/types/index.d.ts.map +1 -0
  107. package/dist/types/near/helpers/core.d.ts +18 -0
  108. package/dist/types/near/helpers/core.d.ts.map +1 -0
  109. package/dist/types/near/helpers/gasEstimation.d.ts +41 -0
  110. package/dist/types/near/helpers/gasEstimation.d.ts.map +1 -0
  111. package/dist/types/near/helpers/nep141.d.ts +36 -0
  112. package/dist/types/near/helpers/nep141.d.ts.map +1 -0
  113. package/dist/types/near/index.d.ts +10 -0
  114. package/dist/types/near/index.d.ts.map +1 -0
  115. package/dist/types/near/toolbox.d.ts +35 -0
  116. package/dist/types/near/toolbox.d.ts.map +1 -0
  117. package/dist/types/near/types/contract.d.ts +38 -0
  118. package/dist/types/near/types/contract.d.ts.map +1 -0
  119. package/dist/types/near/types/nep141.d.ts +29 -0
  120. package/dist/types/near/types/nep141.d.ts.map +1 -0
  121. package/dist/types/near/types/toolbox.d.ts +51 -0
  122. package/dist/types/near/types/toolbox.d.ts.map +1 -0
  123. package/dist/types/near/types.d.ts +47 -0
  124. package/dist/types/near/types.d.ts.map +1 -0
  125. package/dist/types/radix/index.d.ts +17 -0
  126. package/dist/types/radix/index.d.ts.map +1 -0
  127. package/dist/types/ripple/index.d.ts +49 -0
  128. package/dist/types/ripple/index.d.ts.map +1 -0
  129. package/dist/types/solana/index.d.ts +23 -0
  130. package/dist/types/solana/index.d.ts.map +1 -0
  131. package/dist/types/solana/toolbox.d.ts +54 -0
  132. package/dist/types/solana/toolbox.d.ts.map +1 -0
  133. package/dist/types/substrate/balance.d.ts +20 -0
  134. package/dist/types/substrate/balance.d.ts.map +1 -0
  135. package/dist/types/substrate/index.d.ts +3 -0
  136. package/dist/types/substrate/index.d.ts.map +1 -0
  137. package/dist/types/substrate/substrate.d.ts +151 -0
  138. package/dist/types/substrate/substrate.d.ts.map +1 -0
  139. package/dist/types/substrate/types.d.ts +100 -0
  140. package/dist/types/substrate/types.d.ts.map +1 -0
  141. package/dist/types/sui/index.d.ts +3 -0
  142. package/dist/types/sui/index.d.ts.map +1 -0
  143. package/dist/types/sui/toolbox.d.ts +22 -0
  144. package/dist/types/sui/toolbox.d.ts.map +1 -0
  145. package/dist/types/sui/types.d.ts +16 -0
  146. package/dist/types/sui/types.d.ts.map +1 -0
  147. package/dist/types/ton/index.d.ts +3 -0
  148. package/dist/types/ton/index.d.ts.map +1 -0
  149. package/dist/types/ton/toolbox.d.ts +17 -0
  150. package/dist/types/ton/toolbox.d.ts.map +1 -0
  151. package/dist/types/ton/types.d.ts +22 -0
  152. package/dist/types/ton/types.d.ts.map +1 -0
  153. package/dist/types/tron/helpers/trc20.abi.d.ts +156 -0
  154. package/dist/types/tron/helpers/trc20.abi.d.ts.map +1 -0
  155. package/dist/types/tron/helpers/trongrid.d.ts +11 -0
  156. package/dist/types/tron/helpers/trongrid.d.ts.map +1 -0
  157. package/dist/types/tron/index.d.ts +6 -0
  158. package/dist/types/tron/index.d.ts.map +1 -0
  159. package/dist/types/tron/toolbox.d.ts +29 -0
  160. package/dist/types/tron/toolbox.d.ts.map +1 -0
  161. package/dist/types/tron/types.d.ts +103 -0
  162. package/dist/types/tron/types.d.ts.map +1 -0
  163. package/dist/types/types.d.ts +26 -0
  164. package/dist/types/types.d.ts.map +1 -0
  165. package/dist/types/utils.d.ts +7 -0
  166. package/dist/types/utils.d.ts.map +1 -0
  167. package/dist/types/utxo/helpers/api.d.ts +104 -0
  168. package/dist/types/utxo/helpers/api.d.ts.map +1 -0
  169. package/dist/types/utxo/helpers/bchaddrjs.d.ts +13 -0
  170. package/dist/types/utxo/helpers/bchaddrjs.d.ts.map +1 -0
  171. package/dist/types/utxo/helpers/coinselect.d.ts +20 -0
  172. package/dist/types/utxo/helpers/coinselect.d.ts.map +1 -0
  173. package/dist/types/utxo/helpers/index.d.ts +5 -0
  174. package/dist/types/utxo/helpers/index.d.ts.map +1 -0
  175. package/dist/types/utxo/helpers/txSize.d.ts +24 -0
  176. package/dist/types/utxo/helpers/txSize.d.ts.map +1 -0
  177. package/dist/types/utxo/index.d.ts +7 -0
  178. package/dist/types/utxo/index.d.ts.map +1 -0
  179. package/dist/types/utxo/toolbox/bitcoinCash.d.ts +96 -0
  180. package/dist/types/utxo/toolbox/bitcoinCash.d.ts.map +1 -0
  181. package/dist/types/utxo/toolbox/index.d.ts +31 -0
  182. package/dist/types/utxo/toolbox/index.d.ts.map +1 -0
  183. package/dist/types/utxo/toolbox/params.d.ts +32 -0
  184. package/dist/types/utxo/toolbox/params.d.ts.map +1 -0
  185. package/dist/types/utxo/toolbox/utxo.d.ts +106 -0
  186. package/dist/types/utxo/toolbox/utxo.d.ts.map +1 -0
  187. package/dist/types/utxo/toolbox/validators.d.ts +4 -0
  188. package/dist/types/utxo/toolbox/validators.d.ts.map +1 -0
  189. package/dist/types/utxo/toolbox/zcash.d.ts +75 -0
  190. package/dist/types/utxo/toolbox/zcash.d.ts.map +1 -0
  191. package/dist/types/utxo/types.d.ts +46 -0
  192. package/dist/types/utxo/types.d.ts.map +1 -0
  193. package/package.json +205 -0
  194. package/src/__tests__/address-validation-all-chains.test.ts +162 -0
  195. package/src/__tests__/addressValidator.test.ts +162 -0
  196. package/src/cardano/__tests__/toolbox.test.ts +48 -0
  197. package/src/cardano/index.ts +2 -0
  198. package/src/cardano/toolbox.ts +172 -0
  199. package/src/cardano/types.ts +10 -0
  200. package/src/cosmos/__tests__/toolbox.test.ts +95 -0
  201. package/src/cosmos/index.ts +4 -0
  202. package/src/cosmos/thorchainUtils/addressFormat.ts +26 -0
  203. package/src/cosmos/thorchainUtils/index.ts +4 -0
  204. package/src/cosmos/thorchainUtils/messages.ts +216 -0
  205. package/src/cosmos/thorchainUtils/registry.ts +43 -0
  206. package/src/cosmos/thorchainUtils/types/MsgCompiled.ts +2800 -0
  207. package/src/cosmos/thorchainUtils/types/client-types.ts +54 -0
  208. package/src/cosmos/thorchainUtils/types/index.ts +1 -0
  209. package/src/cosmos/toolbox/cosmos.ts +354 -0
  210. package/src/cosmos/toolbox/index.ts +39 -0
  211. package/src/cosmos/toolbox/thorchain.ts +253 -0
  212. package/src/cosmos/types.ts +48 -0
  213. package/src/cosmos/util.ts +218 -0
  214. package/src/evm/__tests__/address-validation.test.ts +84 -0
  215. package/src/evm/__tests__/ethereum.test.ts +141 -0
  216. package/src/evm/__tests__/signMessage.test.ts +60 -0
  217. package/src/evm/api.ts +10 -0
  218. package/src/evm/contracts/eth/multicall.ts +165 -0
  219. package/src/evm/contracts/op/gasOracle.ts +145 -0
  220. package/src/evm/helpers.ts +71 -0
  221. package/src/evm/index.ts +4 -0
  222. package/src/evm/toolbox/baseEVMToolbox.ts +701 -0
  223. package/src/evm/toolbox/evm.ts +66 -0
  224. package/src/evm/toolbox/index.ts +44 -0
  225. package/src/evm/toolbox/op.ts +147 -0
  226. package/src/evm/types.ts +146 -0
  227. package/src/index.ts +264 -0
  228. package/src/near/__tests__/core.test.ts +70 -0
  229. package/src/near/helpers/core.ts +89 -0
  230. package/src/near/helpers/gasEstimation.ts +96 -0
  231. package/src/near/helpers/nep141.ts +50 -0
  232. package/src/near/index.ts +21 -0
  233. package/src/near/toolbox.ts +425 -0
  234. package/src/near/types/contract.ts +32 -0
  235. package/src/near/types/nep141.ts +34 -0
  236. package/src/near/types/toolbox.ts +55 -0
  237. package/src/near/types.ts +44 -0
  238. package/src/radix/index.ts +142 -0
  239. package/src/ripple/index.ts +180 -0
  240. package/src/solana/index.ts +36 -0
  241. package/src/solana/toolbox.ts +413 -0
  242. package/src/substrate/balance.ts +92 -0
  243. package/src/substrate/index.ts +2 -0
  244. package/src/substrate/substrate.ts +285 -0
  245. package/src/substrate/types.ts +115 -0
  246. package/src/sui/__tests__/toolbox.test.ts +86 -0
  247. package/src/sui/index.ts +2 -0
  248. package/src/sui/toolbox.ts +170 -0
  249. package/src/sui/types.ts +11 -0
  250. package/src/ton/__tests__/toolbox.test.ts +67 -0
  251. package/src/ton/index.ts +2 -0
  252. package/src/ton/toolbox.ts +140 -0
  253. package/src/ton/types.ts +13 -0
  254. package/src/tron/__tests__/toolbox.test.ts +225 -0
  255. package/src/tron/helpers/trc20.abi.ts +107 -0
  256. package/src/tron/helpers/trongrid.ts +57 -0
  257. package/src/tron/index.ts +21 -0
  258. package/src/tron/toolbox.ts +589 -0
  259. package/src/tron/types.ts +83 -0
  260. package/src/types.ts +28 -0
  261. package/src/utils.ts +38 -0
  262. package/src/utxo/__tests__/zcash-integration.test.ts +97 -0
  263. package/src/utxo/helpers/api.ts +475 -0
  264. package/src/utxo/helpers/bchaddrjs.ts +170 -0
  265. package/src/utxo/helpers/coinselect.ts +96 -0
  266. package/src/utxo/helpers/index.ts +4 -0
  267. package/src/utxo/helpers/txSize.ts +141 -0
  268. package/src/utxo/index.ts +6 -0
  269. package/src/utxo/toolbox/bitcoinCash.ts +247 -0
  270. package/src/utxo/toolbox/index.ts +63 -0
  271. package/src/utxo/toolbox/params.ts +18 -0
  272. package/src/utxo/toolbox/utxo.ts +443 -0
  273. package/src/utxo/toolbox/validators.ts +36 -0
  274. package/src/utxo/toolbox/zcash.ts +246 -0
  275. package/src/utxo/types.ts +39 -0
@@ -0,0 +1,2 @@
1
+ export * from "./client-types";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cosmos/thorchainUtils/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Modifications © 2025 Horizontal Systems.
3
+ */
4
+ import type { Account } from "@cosmjs/stargate";
5
+ import { AssetValue, Chain, type ChainId, type CosmosChain, type DerivationPathArray, type GenericTransferParams, USwapNumber } from "@tcswap/helpers";
6
+ import type { CosmosToolboxParams } from "../types";
7
+ import { cosmosCreateTransaction } from "../util";
8
+ export declare function fetchFeeRateFromSwapKit(chainId: ChainId, safeDefault: number): Promise<number>;
9
+ export declare function getSignerFromPhrase({ phrase, prefix, ...derivationParams }: {
10
+ phrase: string;
11
+ prefix?: string;
12
+ } & ({
13
+ chain: Chain;
14
+ index?: number;
15
+ } | {
16
+ derivationPath: string;
17
+ })): Promise<import("@cosmjs/proto-signing").DirectSecp256k1HdWallet>;
18
+ export declare function getSignerFromPrivateKey({ privateKey, prefix }: {
19
+ privateKey: Uint8Array;
20
+ prefix: string;
21
+ }): Promise<import("@cosmjs/proto-signing").DirectSecp256k1Wallet>;
22
+ export declare function verifySignature(getAccount: (address: string) => Promise<Account | null>): ({ signature, message, address, }: {
23
+ signature: string;
24
+ message: string;
25
+ address: string;
26
+ }) => Promise<boolean>;
27
+ export declare function createCosmosToolbox({ chain, ...toolboxParams }: CosmosToolboxParams): Promise<{
28
+ createPrivateKeyFromPhrase: (phrase: string) => Promise<Uint8Array<ArrayBufferLike>>;
29
+ createTransaction: typeof cosmosCreateTransaction;
30
+ fetchFeeRateFromSwapKit: typeof fetchFeeRateFromSwapKit;
31
+ getAccount: (address: string) => Promise<Account | null>;
32
+ getAddress: () => Promise<string | undefined>;
33
+ getBalance: (address: string, _potentialScamFilter?: boolean) => Promise<AssetValue[]>;
34
+ getBalanceAsDenoms: (address: string) => Promise<{
35
+ denom: string;
36
+ amount: string;
37
+ }[]>;
38
+ getFees: () => Promise<{
39
+ average: USwapNumber;
40
+ fast: USwapNumber;
41
+ fastest: USwapNumber;
42
+ }>;
43
+ getPubKey: () => Promise<string>;
44
+ getSignerFromPhrase: ({ phrase, derivationPath }: {
45
+ phrase: string;
46
+ derivationPath: DerivationPathArray;
47
+ }) => Promise<import("@cosmjs/proto-signing").DirectSecp256k1HdWallet>;
48
+ getSignerFromPrivateKey: (privateKey: Uint8Array) => Promise<import("@cosmjs/proto-signing").DirectSecp256k1Wallet>;
49
+ signTransaction: ({ recipient, assetValue, memo, feeRate, feeOptionKey, }: GenericTransferParams) => Promise<string>;
50
+ transfer: ({ recipient, assetValue, memo, feeRate, feeOptionKey, dryRun, }: GenericTransferParams & {
51
+ dryRun?: boolean;
52
+ }) => Promise<string>;
53
+ validateAddress: (address: string) => boolean;
54
+ verifySignature: ({ signature, message, address, }: {
55
+ signature: string;
56
+ message: string;
57
+ address: string;
58
+ }) => Promise<boolean>;
59
+ }>;
60
+ export declare function getFeeRateFromSwapKit(chainId: ChainId, safeDefault: number): Promise<number>;
61
+ export declare function estimateTransactionFee({ assetValue: { chain } }: {
62
+ assetValue: AssetValue;
63
+ }): AssetValue;
64
+ export declare function getCosmosValidateAddress(chain: CosmosChain): (address: string) => boolean;
65
+ //# sourceMappingURL=cosmos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/toolbox/cosmos.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,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,EAM1B,WAAW,EAEZ,MAAM,iBAAiB,CAAC;AAGzB,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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Modifications © 2025 Horizontal Systems.
3
+ */
4
+ import { Chain, type CosmosChain } from "@tcswap/helpers";
5
+ import type { CosmosToolboxParams } from "../types";
6
+ import { createCosmosToolbox } from "./cosmos";
7
+ import { createThorchainToolbox } from "./thorchain";
8
+ export type CosmosToolboxes = {
9
+ GAIA: ReturnType<typeof createCosmosToolbox>;
10
+ KUJI: ReturnType<typeof createCosmosToolbox>;
11
+ MAYA: ReturnType<typeof createThorchainToolbox>;
12
+ NOBLE: ReturnType<typeof createCosmosToolbox>;
13
+ THOR: ReturnType<typeof createThorchainToolbox>;
14
+ };
15
+ export declare const getCosmosToolbox: <T extends Exclude<CosmosChain, Chain.Harbor>>(chain: T, params?: Omit<CosmosToolboxParams, "chain">) => CosmosToolboxes[T];
16
+ export * from "./cosmos";
17
+ export * from "./thorchain";
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/toolbox/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,WAAW,EAAc,MAAM,iBAAiB,CAAC;AAEtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IAC7C,IAAI,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IAC7C,IAAI,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;IAChD,KAAK,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IAC9C,IAAI,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;CACjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAC3E,OAAO,CAAC,EACR,SAAS,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,KAC1C,eAAe,CAAC,CAAC,CAcnB,CAAC;AAEF,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Modifications © 2025 Horizontal Systems.
3
+ */
4
+ import type { Pubkey, Secp256k1HdWallet } from "@cosmjs/amino";
5
+ import { type GenericTransferParams, type TCLikeChain, USwapNumber } from "@tcswap/helpers";
6
+ import { buildEncodedTxBody, createDefaultRegistry, parseAminoMessageForDirectSigning } from "../thorchainUtils";
7
+ import type { CosmosToolboxParams, MultiSigSigner, MultisigTx } from "../types";
8
+ declare function createMultisig(pubKeys: string[], threshold: number, noSortPubKeys?: boolean): Promise<import("@cosmjs/amino").MultisigThresholdPubkey>;
9
+ declare function importSignature(signature: string): Uint8Array<ArrayBufferLike>;
10
+ declare function signWithPrivateKey({ privateKey, message }: {
11
+ privateKey: Uint8Array;
12
+ message: string;
13
+ }): Promise<string>;
14
+ export declare function createThorchainToolbox({ chain, ...toolboxParams }: CosmosToolboxParams<TCLikeChain>): Promise<{
15
+ broadcastMultisigTx: (tx: string, signers: MultiSigSigner[], membersPubKeys: string[], threshold: number, bodyBytes: Uint8Array) => Promise<string>;
16
+ buildAminoMsg: ({ sender, recipient, assetValue, memo, }: {
17
+ sender: string;
18
+ recipient?: string;
19
+ assetValue: import("@tcswap/helpers").AssetValue;
20
+ memo?: string;
21
+ }) => {
22
+ type: "thorchain/MsgDeposit" | "mayachain/MsgDeposit";
23
+ value: {
24
+ coins: {
25
+ amount: string;
26
+ asset: string;
27
+ }[];
28
+ memo: string;
29
+ signer: string;
30
+ };
31
+ } | {
32
+ type: "thorchain/MsgSend" | "mayachain/MsgSend";
33
+ value: {
34
+ amount: {
35
+ amount: string;
36
+ denom: string;
37
+ }[];
38
+ from_address: string;
39
+ to_address: string | undefined;
40
+ };
41
+ };
42
+ buildEncodedTxBody: typeof buildEncodedTxBody;
43
+ convertToSignable: (msg: {
44
+ type: "thorchain/MsgSend" | "mayachain/MsgSend";
45
+ value: {
46
+ amount: {
47
+ amount: string;
48
+ denom: string;
49
+ }[];
50
+ from_address: string;
51
+ to_address: string | undefined;
52
+ };
53
+ } | {
54
+ type: "thorchain/MsgDeposit" | "mayachain/MsgDeposit";
55
+ value: {
56
+ coins: {
57
+ amount: string;
58
+ asset: string;
59
+ }[];
60
+ memo: string;
61
+ signer: string;
62
+ };
63
+ }, chain: TCLikeChain) => Promise<import("@cosmjs/proto-signing").EncodeObject>;
64
+ createDefaultAminoTypes: () => Promise<import("@cosmjs/stargate").AminoTypes>;
65
+ createDefaultRegistry: typeof createDefaultRegistry;
66
+ createMultisig: typeof createMultisig;
67
+ createTransaction: (params: import("..").ThorchainCreateTransactionParams) => Promise<{
68
+ accountNumber: number;
69
+ chainId: import("@tcswap/types").ChainId.Maya | import("@tcswap/types").ChainId.THORChain;
70
+ fee: {
71
+ amount: {
72
+ amount: string;
73
+ denom: string;
74
+ }[];
75
+ gas: string;
76
+ };
77
+ memo: string;
78
+ msgs: (import("@cosmjs/proto-signing").EncodeObject | {
79
+ type: "thorchain/MsgSend" | "mayachain/MsgSend";
80
+ value: {
81
+ amount: {
82
+ amount: string;
83
+ denom: string;
84
+ }[];
85
+ from_address: string;
86
+ to_address: string | undefined;
87
+ };
88
+ })[];
89
+ sequence: number;
90
+ }> | Promise<{
91
+ accountNumber: number;
92
+ chainId: import("@tcswap/types").ChainId.Maya | import("@tcswap/types").ChainId.THORChain;
93
+ fee: {
94
+ amount: {
95
+ amount: string;
96
+ denom: string;
97
+ }[];
98
+ gas: string;
99
+ };
100
+ memo: string;
101
+ msgs: (import("@cosmjs/proto-signing").EncodeObject | {
102
+ type: "thorchain/MsgDeposit" | "mayachain/MsgDeposit";
103
+ value: {
104
+ coins: {
105
+ amount: string;
106
+ asset: string;
107
+ }[];
108
+ memo: string;
109
+ signer: string;
110
+ };
111
+ })[];
112
+ sequence: number;
113
+ }>;
114
+ deposit: ({ assetValue, memo, recipient, }: Omit<GenericTransferParams, "recipient"> & {
115
+ recipient?: string;
116
+ }) => Promise<string>;
117
+ getFees: () => Promise<{
118
+ average: USwapNumber;
119
+ fast: USwapNumber;
120
+ fastest: USwapNumber;
121
+ }>;
122
+ importSignature: typeof importSignature;
123
+ parseAminoMessageForDirectSigning: typeof parseAminoMessageForDirectSigning;
124
+ pubkeyToAddress: (pubkey: Pubkey) => Promise<string>;
125
+ secp256k1HdWalletFromMnemonic: (mnemonic: string, index?: number) => Promise<Secp256k1HdWallet>;
126
+ signMultisigTx: ({ wallet, tx }: {
127
+ wallet: Secp256k1HdWallet;
128
+ tx: string | MultisigTx;
129
+ }) => Promise<{
130
+ bodyBytes: Uint8Array<ArrayBufferLike>;
131
+ signature: string;
132
+ }>;
133
+ signWithPrivateKey: typeof signWithPrivateKey;
134
+ transfer: ({ assetValue, memo, recipient, }: Omit<GenericTransferParams, "recipient"> & {
135
+ recipient?: string;
136
+ }) => Promise<string>;
137
+ createPrivateKeyFromPhrase: (phrase: string) => Promise<Uint8Array<ArrayBufferLike>>;
138
+ fetchFeeRateFromSwapKit: typeof import("./cosmos").fetchFeeRateFromSwapKit;
139
+ getAccount: (address: string) => Promise<import("@cosmjs/stargate").Account | null>;
140
+ getAddress: () => Promise<string | undefined>;
141
+ getBalance: (address: string, _potentialScamFilter?: boolean) => Promise<import("@tcswap/helpers").AssetValue[]>;
142
+ getBalanceAsDenoms: (address: string) => Promise<{
143
+ denom: string;
144
+ amount: string;
145
+ }[]>;
146
+ getPubKey: () => Promise<string>;
147
+ getSignerFromPhrase: ({ phrase, derivationPath }: {
148
+ phrase: string;
149
+ derivationPath: import("@tcswap/helpers").DerivationPathArray;
150
+ }) => Promise<import("@cosmjs/proto-signing").DirectSecp256k1HdWallet>;
151
+ getSignerFromPrivateKey: (privateKey: Uint8Array) => Promise<import("@cosmjs/proto-signing").DirectSecp256k1Wallet>;
152
+ signTransaction: ({ recipient, assetValue, memo, feeRate, feeOptionKey, }: GenericTransferParams) => Promise<string>;
153
+ validateAddress: (address: string) => boolean;
154
+ verifySignature: ({ signature, message, address, }: {
155
+ signature: string;
156
+ message: string;
157
+ address: string;
158
+ }) => Promise<boolean>;
159
+ }>;
160
+ export {};
161
+ //# sourceMappingURL=thorchain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thorchain.d.ts","sourceRoot":"","sources":["../../../../src/cosmos/toolbox/thorchain.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAKL,KAAK,qBAAqB,EAK1B,KAAK,WAAW,EAGhB,WAAW,EAEZ,MAAM,iBAAiB,CAAC;AAGzB,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;;;iBA7B4B,CAAC;;YAA0C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDA+H5F,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"}
@@ -0,0 +1,49 @@
1
+ import type { OfflineAminoSigner } from "@cosmjs/amino";
2
+ import type { DirectSecp256k1HdWallet, OfflineDirectSigner } from "@cosmjs/proto-signing";
3
+ import type { ChainId, CosmosChain, DerivationPathArray, GenericCreateTransactionParams, TCLikeChain } from "@tcswap/helpers";
4
+ import type { buildAminoMsg } from "./thorchainUtils";
5
+ import type { createCosmosToolbox } from "./toolbox/cosmos";
6
+ import type { createThorchainToolbox } from "./toolbox/thorchain";
7
+ import type { getDefaultChainFee } from "./util";
8
+ export type CosmosSDKClientParams = {
9
+ server: string;
10
+ chainId: ChainId;
11
+ prefix?: string;
12
+ stagenet?: boolean;
13
+ };
14
+ export type CosmosCreateTransactionParams = GenericCreateTransactionParams & {
15
+ accountNumber?: number;
16
+ sequence?: number;
17
+ };
18
+ export type MultiSigSigner = {
19
+ pubKey: string;
20
+ signature: string;
21
+ };
22
+ export type MultisigTx = {
23
+ msgs: ReturnType<typeof buildAminoMsg>[];
24
+ accountNumber: number;
25
+ sequence: number;
26
+ chainId: ChainId;
27
+ fee: ReturnType<typeof getDefaultChainFee>;
28
+ memo: string;
29
+ };
30
+ export type CosmosSigner = DirectSecp256k1HdWallet | OfflineDirectSigner | OfflineAminoSigner;
31
+ export type CosmosToolboxParams<T = CosmosChain> = {
32
+ chain: T;
33
+ } & ({
34
+ signer?: CosmosSigner;
35
+ } | {
36
+ phrase?: string;
37
+ derivationPath?: DerivationPathArray;
38
+ index?: number;
39
+ });
40
+ export type BaseCosmosToolboxType = ReturnType<typeof createCosmosToolbox>;
41
+ export type BaseCosmosWallet = Awaited<ReturnType<typeof createCosmosToolbox>>;
42
+ export type CosmosWallets = {
43
+ [chain in Exclude<CosmosChain, TCLikeChain>]: BaseCosmosWallet;
44
+ };
45
+ export type ThorchainWallet = Awaited<Omit<ReturnType<typeof createThorchainToolbox>, "signMessage">>;
46
+ export type ThorchainWallets = {
47
+ [chain in TCLikeChain]: ThorchainWallet;
48
+ };
49
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +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,iBAAiB,CAAC;AACzB,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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Modifications © 2025 Horizontal Systems.
3
+ */
4
+ import type { OfflineSigner } from "@cosmjs/proto-signing";
5
+ import type { SigningStargateClientOptions } from "@cosmjs/stargate";
6
+ import { AssetValue, type CosmosChain } from "@tcswap/helpers";
7
+ import type { CosmosCreateTransactionParams } from "./types";
8
+ export declare const USK_KUJIRA_FACTORY_DENOM = "FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK";
9
+ export declare const YUM_KUJIRA_FACTORY_DENOM = "FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM";
10
+ export declare const DEFAULT_COSMOS_FEE_MAINNET: {
11
+ amount: {
12
+ amount: string;
13
+ denom: string;
14
+ }[];
15
+ gas: string;
16
+ };
17
+ export declare const DEFAULT_KUJI_FEE_MAINNET: {
18
+ amount: {
19
+ amount: string;
20
+ denom: string;
21
+ }[];
22
+ gas: string;
23
+ };
24
+ export declare const DEFAULT_NOBLE_FEE_MAINNET: {
25
+ amount: {
26
+ amount: string;
27
+ denom: string;
28
+ }[];
29
+ gas: string;
30
+ };
31
+ export declare function getDefaultChainFee(chain: CosmosChain): {
32
+ amount: {
33
+ amount: string;
34
+ denom: string;
35
+ }[];
36
+ gas: string;
37
+ };
38
+ export declare const getMsgSendDenom: (symbol: string, isThorchain?: boolean) => string;
39
+ export declare const getDenomWithChain: ({ symbol, chain }: AssetValue) => string;
40
+ export declare function createStargateClient(url: string): Promise<import("@cosmjs/stargate").StargateClient>;
41
+ export declare function createSigningStargateClient(url: string, signer: OfflineSigner, optionsOrBaseGas?: string | SigningStargateClientOptions): Promise<import("@cosmjs/stargate").SigningStargateClient>;
42
+ export declare function createOfflineStargateClient(wallet: OfflineSigner, registry?: SigningStargateClientOptions): Promise<import("@cosmjs/stargate").SigningStargateClient>;
43
+ /**
44
+ * Used to build tx for Cosmos and Kujira
45
+ */
46
+ export declare function cosmosCreateTransaction({ sender, recipient, assetValue, memo, feeRate, sequence, accountNumber, }: CosmosCreateTransactionParams): Promise<{
47
+ accountNumber: number;
48
+ chainId: import("@tcswap/types").ChainId;
49
+ fee: {
50
+ amount: {
51
+ amount: string;
52
+ denom: string;
53
+ }[];
54
+ gas: string;
55
+ };
56
+ memo: string;
57
+ msgs: {
58
+ typeUrl: string;
59
+ value: {
60
+ amount: {
61
+ amount: string;
62
+ denom: string;
63
+ }[];
64
+ fromAddress: string;
65
+ toAddress: string;
66
+ };
67
+ }[];
68
+ sequence: number;
69
+ }>;
70
+ /**
71
+ * Converts a Cosmos denom and amount to an AssetValue with proper decimal handling
72
+ * @param denom - The denomination string
73
+ * @param amount - The amount in base units as a string
74
+ * @returns AssetValue with the correct decimal conversion
75
+ */
76
+ export declare const getAssetFromDenom: (denom: string, amount: string) => AssetValue;
77
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/cosmos/util.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAS,KAAK,WAAW,EAAyC,MAAM,iBAAiB,CAAC;AAC7G,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAE7D,eAAO,MAAM,wBAAwB,mFAC6C,CAAC;AAEnF,eAAO,MAAM,wBAAwB,+DAA+D,CAAC;AAErG,eAAO,MAAM,0BAA0B;;;;;;CAAiE,CAAC;AAEzG,eAAO,MAAM,wBAAwB;;;;;;CAAkE,CAAC;AAExG,eAAO,MAAM,yBAAyB;;;;;;CAAkE,CAAC;AAEzG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW;;;;;;EAapD;AAED,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,qBAAmB,WAwBlE,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,mBAAmB,UAAU,WAU9D,CAAC;AAEF,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,sDAWrD;AAED,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,EACrB,gBAAgB,GAAE,MAAM,GAAG,4BAAiC,6DAS7D;AAED,wBAAsB,2BAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,4BAA4B,6DAI/G;AAgBD;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,EAC5C,MAAM,EACN,SAAS,EACT,UAAU,EACV,IAAS,EACT,OAAO,EACP,QAAQ,EACR,aAAa,GACd,EAAE,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;GAkC/B;AAgCD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,eAc9D,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { EVMChain } from "@tcswap/helpers";
2
+ export declare function getEvmApi(chain: EVMChain): {
3
+ getBalance: (address: string, scamFilter?: boolean) => Promise<import("@tcswap/helpers").AssetValue[]>;
4
+ };
5
+ export declare function createCustomEvmApi(methods: ReturnType<typeof getEvmApi>): {
6
+ getBalance: (address: string, scamFilter?: boolean) => Promise<import("@tcswap/helpers").AssetValue[]>;
7
+ };
8
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/evm/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ;;EAExC;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC;;EAEvE"}
@@ -0,0 +1,36 @@
1
+ export declare const multicallAbi: {
2
+ inputs: ({
3
+ internalType: string;
4
+ name: string;
5
+ type: string;
6
+ components?: undefined;
7
+ } | {
8
+ components: {
9
+ internalType: string;
10
+ name: string;
11
+ type: string;
12
+ }[];
13
+ internalType: string;
14
+ name: string;
15
+ type: string;
16
+ })[];
17
+ name: string;
18
+ outputs: ({
19
+ internalType: string;
20
+ name: string;
21
+ type: string;
22
+ components?: undefined;
23
+ } | {
24
+ components: {
25
+ internalType: string;
26
+ name: string;
27
+ type: string;
28
+ }[];
29
+ internalType: string;
30
+ name: string;
31
+ type: string;
32
+ })[];
33
+ stateMutability: string;
34
+ type: string;
35
+ }[];
36
+ //# sourceMappingURL=multicall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multicall.d.ts","sourceRoot":"","sources":["../../../../../src/evm/contracts/eth/multicall.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoKxB,CAAC"}
@@ -0,0 +1,40 @@
1
+ export declare const gasOracleAbi: ({
2
+ inputs: {
3
+ internalType: string;
4
+ name: string;
5
+ type: string;
6
+ }[];
7
+ stateMutability: string;
8
+ type: string;
9
+ anonymous?: undefined;
10
+ name?: undefined;
11
+ outputs?: undefined;
12
+ } | {
13
+ anonymous: boolean;
14
+ inputs: {
15
+ indexed: boolean;
16
+ internalType: string;
17
+ name: string;
18
+ type: string;
19
+ }[];
20
+ name: string;
21
+ type: string;
22
+ stateMutability?: undefined;
23
+ outputs?: undefined;
24
+ } | {
25
+ inputs: {
26
+ internalType: string;
27
+ name: string;
28
+ type: string;
29
+ }[];
30
+ name: string;
31
+ outputs: {
32
+ internalType: string;
33
+ name: string;
34
+ type: string;
35
+ }[];
36
+ stateMutability: string;
37
+ type: string;
38
+ anonymous?: undefined;
39
+ })[];
40
+ //# sourceMappingURL=gasOracle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gasOracle.d.ts","sourceRoot":"","sources":["../../../../../src/evm/contracts/op/gasOracle.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgJxB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Chain, type EVMChain, type NetworkParams } from "@tcswap/helpers";
2
+ export declare function getProvider(chain: EVMChain, customUrl?: string): Promise<import("ethers").JsonRpcProvider>;
3
+ export declare function toHexString(value: bigint): string;
4
+ export declare function getNetworkParams<C extends EVMChain>(chain: C): () => C extends Chain.Ethereum ? undefined : NetworkParams;
5
+ export declare function getIsEIP1559Compatible<C extends EVMChain>(chain: C): boolean;
6
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/evm/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,QAAQ,EAA6B,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGtG,wBAAsB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,6CAIpE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,UAExC;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,SAGvB,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,aAAa,CAOzF;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,WAIlE"}
@@ -0,0 +1,5 @@
1
+ export * from "./api";
2
+ export * from "./helpers";
3
+ export * from "./toolbox";
4
+ export * from "./types";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/evm/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Modifications © 2025 Horizontal Systems.
3
+ */
4
+ import { type Asset, AssetValue, type ChainSigner, type EVMChain, FeeOption } from "@tcswap/helpers";
5
+ import { BrowserProvider, Contract, type ContractTransaction, type Fragment, type HDNodeWallet, type JsonFragment, type JsonRpcSigner, type Provider, type Signer } from "ethers";
6
+ import type { ApproveParams, CallParams, EIP1559TxParams, EstimateCallParams, EVMCreateTransactionParams, EVMTransferParams, EVMTxParams, IsApprovedParams } from "../types";
7
+ type ToolboxWrapParams<P = Provider | BrowserProvider, T = {}> = T & {
8
+ isEIP1559Compatible?: boolean;
9
+ provider: P;
10
+ signer?: Signer;
11
+ chain: EVMChain;
12
+ };
13
+ export declare const MAX_APPROVAL: bigint;
14
+ export declare function BaseEVMToolbox<P extends Provider | BrowserProvider, S extends (ChainSigner<EVMTransferParams, string> & Signer) | JsonRpcSigner | HDNodeWallet | undefined>({ chain, provider, signer, isEIP1559Compatible, }: {
15
+ signer: S;
16
+ provider: P;
17
+ isEIP1559Compatible?: boolean;
18
+ chain?: EVMChain;
19
+ }): {
20
+ approve: ({ assetAddress, spenderAddress, feeOptionKey, amount, gasLimitFallback, from: fromParam, nonce, }: ApproveParams) => Promise<string>;
21
+ approvedAmount: ({ assetAddress, spenderAddress, from }: IsApprovedParams) => Promise<bigint>;
22
+ broadcastTransaction: ((signedTx: string) => Promise<import("ethers").TransactionResponse>) | ((signedTx: string) => Promise<import("ethers").TransactionResponse>);
23
+ call: <T>({ callProvider, contractAddress, abi, funcName, funcParams, txOverrides, feeOption, }: CallParams) => Promise<T>;
24
+ createApprovalTx: ({ assetAddress, spenderAddress, amount, from: fromParam }: ApproveParams) => Promise<ContractTransaction>;
25
+ createContract: (address: string, abi: readonly (JsonFragment | Fragment)[]) => Contract;
26
+ createContractTxObject: ({ contractAddress, abi, funcName, funcParams, txOverrides }: CallParams) => Promise<ContractTransaction>;
27
+ createTransaction: ({ assetValue, memo, recipient, data, sender: fromOverride, maxFeePerGas, maxPriorityFeePerGas, gasPrice, ...tx }: EVMCreateTransactionParams) => Promise<ContractTransaction>;
28
+ createTransferTx: ({ assetValue, memo, recipient, data, sender: fromOverride, maxFeePerGas, maxPriorityFeePerGas, gasPrice, ...tx }: EVMCreateTransactionParams) => Promise<ContractTransaction>;
29
+ EIP1193SendTransaction: ({ value, ...params }: EVMTxParams | ContractTransaction) => Promise<string>;
30
+ estimateCall: ({ contractAddress, abi, funcName, funcParams, txOverrides }: EstimateCallParams) => Promise<bigint>;
31
+ estimateGasLimit: ({ assetValue, recipient, memo, data, sender, funcName, funcParams, txOverrides, }: EVMTransferParams & {
32
+ assetValue: AssetValue;
33
+ funcName?: string;
34
+ funcParams?: unknown[];
35
+ txOverrides?: EVMTxParams;
36
+ data?: string;
37
+ }) => Promise<bigint>;
38
+ estimateGasPrices: () => Promise<{ [key in FeeOption]: {
39
+ l1GasPrice?: bigint;
40
+ gasPrice?: bigint;
41
+ maxFeePerGas?: bigint;
42
+ maxPriorityFeePerGas?: bigint;
43
+ }; }>;
44
+ estimateTransactionFee: ({ feeOption, chain, ...txObject }: EIP1559TxParams & {
45
+ feeOption: FeeOption;
46
+ chain: EVMChain;
47
+ }) => Promise<AssetValue>;
48
+ getAddress: () => string | Promise<string> | undefined;
49
+ getBalance: (address: string, scamFilter?: boolean) => Promise<AssetValue[]>;
50
+ getNetworkParams: () => import("@tcswap/helpers").NetworkParams | undefined;
51
+ isApproved: ({ assetAddress, spenderAddress, from, amount }: IsApprovedParams) => Promise<boolean>;
52
+ sendTransaction: ({ feeOptionKey, ...tx }: EVMTxParams & {
53
+ feeOptionKey?: FeeOption;
54
+ }) => Promise<string>;
55
+ signMessage: ((message: string | Uint8Array) => Promise<string>) | undefined;
56
+ transfer: ({ assetValue, memo, recipient, feeOptionKey, sender, ...tx }: EVMTransferParams) => Promise<string>;
57
+ validateAddress: (address: string) => boolean;
58
+ };
59
+ export declare function evmValidateAddress({ address }: {
60
+ address: string;
61
+ }): boolean;
62
+ export declare function isBrowserProvider(provider: any): provider is BrowserProvider;
63
+ export declare function createContract(address: string, abi: readonly (JsonFragment | Fragment)[], provider: Provider): Contract;
64
+ export declare function getCreateContract({ provider }: ToolboxWrapParams): (address: string, abi: readonly (JsonFragment | Fragment)[]) => Contract;
65
+ export declare function isStateChangingCall({ abi, funcName }: {
66
+ abi: readonly JsonFragment[];
67
+ funcName: string;
68
+ }): any;
69
+ export declare function toChecksumAddress(address: string): string;
70
+ export declare function getEIP1193SendTransaction(provider: Provider | BrowserProvider): ({ value, ...params }: EVMTxParams | ContractTransaction) => Promise<string>;
71
+ export declare function getChecksumAddressFromAsset(asset: Asset, chain: EVMChain): string;
72
+ export declare const ContractAddress: Record<EVMChain, string>;
73
+ export declare function getTokenAddress({ chain, symbol, ticker }: Asset, baseAssetChain: EVMChain): string | null;
74
+ export declare function getCreateContractTxObject({ provider }: ToolboxWrapParams): ({ contractAddress, abi, funcName, funcParams, txOverrides }: CallParams) => Promise<ContractTransaction>;
75
+ export declare function getEstimateGasPrices({ chain, provider, isEIP1559Compatible, }: {
76
+ provider: Provider;
77
+ isEIP1559Compatible?: boolean;
78
+ chain: EVMChain;
79
+ }): () => Promise<{
80
+ [key in FeeOption]: {
81
+ l1GasPrice?: bigint;
82
+ gasPrice?: bigint;
83
+ maxFeePerGas?: bigint;
84
+ maxPriorityFeePerGas?: bigint;
85
+ };
86
+ }>;
87
+ export {};
88
+ //# sourceMappingURL=baseEVMToolbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseEVMToolbox.d.ts","sourceRoot":"","sources":["../../../../src/evm/toolbox/baseEVMToolbox.ts"],"names":[],"mappings":"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"}