@swapkit/toolboxes 4.3.10 → 4.13.2

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,212 +0,0 @@
1
- import type { TxBodyEncodeObject } from "@cosmjs/proto-signing";
2
- import { AssetValue, Chain, getChainConfig, SwapKitError, type TCLikeChain } from "@swapkit/helpers";
3
-
4
- import { createStargateClient, getDefaultChainFee, getDenomWithChain, getMsgSendDenom } from "../util";
5
-
6
- import { createDefaultAminoTypes, createDefaultRegistry } from "./registry";
7
- import type { ThorchainCreateTransactionParams } from "./types";
8
-
9
- type MsgSend = ReturnType<typeof transferMsgAmino>;
10
- type MsgDeposit = ReturnType<typeof depositMsgAmino>;
11
- type DirectMsgSendForBroadcast = ReturnType<typeof parseAminoMessageForDirectSigning<MsgSend>>;
12
- type DirectMsgDepositForBroadcast = ReturnType<typeof parseAminoMessageForDirectSigning<MsgDeposit>>;
13
-
14
- export const THORCHAIN_GAS_VALUE = getDefaultChainFee(Chain.THORChain).gas;
15
- export const MAYA_GAS_VALUE = getDefaultChainFee(Chain.Maya).gas;
16
-
17
- export const transferMsgAmino = ({
18
- sender,
19
- recipient,
20
- assetValue,
21
- }: {
22
- sender: string;
23
- recipient?: string;
24
- assetValue: AssetValue;
25
- }) => {
26
- const chain = assetValue.chain as typeof Chain.THORChain | typeof Chain.Maya;
27
- return {
28
- type: `${chain === Chain.Maya ? "mayachain" : "thorchain"}/MsgSend` as const,
29
- value: {
30
- amount: [{ amount: assetValue.getBaseValue("string"), denom: getMsgSendDenom(assetValue.symbol, true) }],
31
- from_address: sender,
32
- to_address: recipient,
33
- },
34
- };
35
- };
36
-
37
- export const depositMsgAmino = ({
38
- sender,
39
- assetValue,
40
- memo = "",
41
- }: {
42
- sender: string;
43
- assetValue: AssetValue;
44
- memo?: string;
45
- }) => {
46
- const chain = assetValue.chain as TCLikeChain;
47
- return {
48
- type: `${chain === Chain.Maya ? "mayachain" : "thorchain"}/MsgDeposit` as const,
49
- value: {
50
- coins: [{ amount: assetValue.getBaseValue("string"), asset: getDenomWithChain(assetValue) }],
51
- memo,
52
- signer: sender,
53
- },
54
- };
55
- };
56
-
57
- export const buildAminoMsg = ({
58
- sender,
59
- recipient,
60
- assetValue,
61
- memo,
62
- }: {
63
- sender: string;
64
- recipient?: string;
65
- assetValue: AssetValue;
66
- memo?: string;
67
- }) => {
68
- const isDeposit = !recipient;
69
- const msg = isDeposit
70
- ? depositMsgAmino({ assetValue, memo, sender })
71
- : transferMsgAmino({ assetValue, recipient, sender });
72
-
73
- return msg;
74
- };
75
-
76
- export const convertToSignable = async (msg: MsgSend | MsgDeposit, chain: TCLikeChain) => {
77
- const aminoTypes = await createDefaultAminoTypes(chain);
78
-
79
- return aminoTypes.fromAmino(msg);
80
- };
81
-
82
- const getAccount = async ({ rpcUrl, sender }: { sender: string; rpcUrl: string }) => {
83
- const client = await createStargateClient(rpcUrl);
84
- const account = await client.getAccount(sender);
85
-
86
- if (!account) {
87
- throw new SwapKitError("toolbox_cosmos_account_not_found", { sender });
88
- }
89
-
90
- return account;
91
- };
92
-
93
- export function getCreateTransaction(rpcUrl: string) {
94
- return function createTransaction(params: ThorchainCreateTransactionParams) {
95
- const { assetValue, recipient, memo, sender, asSignable, asAminoMessage } = params;
96
-
97
- if (recipient) {
98
- return buildTransferTx(rpcUrl)({ asAminoMessage, asSignable, assetValue, memo, recipient, sender });
99
- }
100
-
101
- return buildDepositTx(rpcUrl)({ asAminoMessage, asSignable, assetValue, memo, sender });
102
- };
103
- }
104
-
105
- export const buildTransferTx =
106
- (rpcUrl: string) =>
107
- async ({
108
- sender,
109
- recipient,
110
- assetValue,
111
- memo = "",
112
- asSignable = true,
113
- asAminoMessage = false,
114
- sequence,
115
- accountNumber,
116
- }: ThorchainCreateTransactionParams) => {
117
- const account = await getAccount({ rpcUrl, sender });
118
- const chain = assetValue.chain as TCLikeChain;
119
- const { chainId } = getChainConfig(chain);
120
-
121
- const transferMsg = transferMsgAmino({ assetValue, recipient, sender });
122
-
123
- const msg = asSignable
124
- ? await convertToSignable(asAminoMessage ? transferMsg : parseAminoMessageForDirectSigning(transferMsg), chain)
125
- : transferMsg;
126
-
127
- const transaction = {
128
- accountNumber: accountNumber || account.accountNumber,
129
- chainId,
130
- fee: getDefaultChainFee(chain),
131
- memo,
132
- msgs: [msg],
133
- sequence: sequence || account.sequence,
134
- };
135
-
136
- return transaction;
137
- };
138
-
139
- export const buildDepositTx =
140
- (rpcUrl: string) =>
141
- async ({
142
- sender,
143
- assetValue,
144
- memo = "",
145
- asSignable = true,
146
- asAminoMessage = false,
147
- sequence,
148
- accountNumber,
149
- }: ThorchainCreateTransactionParams) => {
150
- const account = await getAccount({ rpcUrl, sender });
151
- const chain = assetValue.chain as TCLikeChain;
152
- const { chainId } = getChainConfig(chain);
153
-
154
- const depositMsg = depositMsgAmino({ assetValue, memo, sender });
155
-
156
- const msg = asSignable
157
- ? await convertToSignable(
158
- asAminoMessage ? depositMsg : parseAminoMessageForDirectSigning<MsgDeposit>(depositMsg),
159
- chain,
160
- )
161
- : depositMsg;
162
-
163
- const transaction = {
164
- accountNumber: accountNumber || account.accountNumber,
165
- chainId,
166
- fee: getDefaultChainFee(chain),
167
- memo,
168
- msgs: [msg],
169
- sequence: sequence || account.sequence,
170
- };
171
-
172
- return transaction;
173
- };
174
-
175
- export function parseAminoMessageForDirectSigning<T extends MsgDeposit | MsgSend>(msg: T) {
176
- if (msg.type === "thorchain/MsgSend" || msg.type === "mayachain/MsgSend") return msg as MsgSend;
177
-
178
- return {
179
- ...msg,
180
- value: {
181
- ...msg.value,
182
- coins: (msg as MsgDeposit).value.coins.map((coin: { asset: string; amount: string }) => {
183
- const assetValue = AssetValue.from({ asset: coin.asset });
184
-
185
- const symbol = (assetValue.isSynthetic ? assetValue.symbol.split("/")?.[1] : assetValue.symbol)?.toUpperCase();
186
- const chain = (assetValue.isSynthetic ? assetValue.symbol.split("/")?.[0] : assetValue.chain)?.toUpperCase();
187
-
188
- return { ...coin, asset: { chain, symbol, synth: assetValue.isSynthetic, ticker: assetValue.ticker } };
189
- }),
190
- },
191
- };
192
- }
193
-
194
- export async function buildEncodedTxBody({
195
- chain,
196
- memo,
197
- msgs,
198
- }: {
199
- msgs: DirectMsgDepositForBroadcast[] | DirectMsgSendForBroadcast[];
200
- memo: string;
201
- chain: TCLikeChain;
202
- }) {
203
- const registry = await createDefaultRegistry();
204
- const aminoTypes = await createDefaultAminoTypes(chain);
205
-
206
- const signedTxBody: TxBodyEncodeObject = {
207
- typeUrl: "/cosmos.tx.v1beta1.TxBody",
208
- value: { memo, messages: msgs.map((msg) => aminoTypes.fromAmino(msg)) },
209
- };
210
-
211
- return registry.encode(signedTxBody);
212
- }
@@ -1,43 +0,0 @@
1
- import { Chain, type TCLikeChain } from "@swapkit/helpers";
2
- import { base64ToBech32, bech32ToBase64 } from "./addressFormat";
3
-
4
- export async function createDefaultRegistry() {
5
- const { $root } = await import("./types/MsgCompiled");
6
- const importedProtoSigning = await import("@cosmjs/proto-signing");
7
- const Registry = importedProtoSigning.Registry ?? importedProtoSigning.default?.Registry;
8
- const importedStargate = await import("@cosmjs/stargate");
9
- const defaultRegistryTypes = importedStargate.defaultRegistryTypes ?? importedStargate.default?.defaultRegistryTypes;
10
-
11
- return new Registry([
12
- ...defaultRegistryTypes,
13
- ["/types.MsgSend", $root.types.MsgSend],
14
- ["/types.MsgDeposit", $root.types.MsgDeposit],
15
- ]);
16
- }
17
-
18
- export async function createDefaultAminoTypes(chain: TCLikeChain) {
19
- const imported = await import("@cosmjs/stargate");
20
- const AminoTypes = imported.AminoTypes ?? imported.default?.AminoTypes;
21
- const aminoTypePrefix = chain === Chain.THORChain ? "thorchain" : ("mayachain" as const);
22
-
23
- return new AminoTypes({
24
- "/types.MsgDeposit": {
25
- aminoType: `${aminoTypePrefix}/MsgDeposit`,
26
- fromAmino: ({ signer, ...rest }: any) => ({ ...rest, signer: bech32ToBase64(signer) }),
27
- toAmino: ({ signer, ...rest }: any) => ({ ...rest, signer: base64ToBech32(signer) }),
28
- },
29
- "/types.MsgSend": {
30
- aminoType: `${aminoTypePrefix}/MsgSend`,
31
- fromAmino: ({ from_address, to_address, ...rest }: any) => ({
32
- ...rest,
33
- fromAddress: bech32ToBase64(from_address),
34
- toAddress: bech32ToBase64(to_address),
35
- }),
36
- toAmino: ({ fromAddress, toAddress, ...rest }: any) => ({
37
- ...rest,
38
- from_address: base64ToBech32(fromAddress),
39
- to_address: base64ToBech32(toAddress),
40
- }),
41
- },
42
- });
43
- }