@uswap/toolboxes 4.3.6

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 +34 -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 +5 -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 +208 -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 +62 -0
  76. package/dist/types/cosmos/toolbox/cosmos.d.ts.map +1 -0
  77. package/dist/types/cosmos/toolbox/index.d.ts +15 -0
  78. package/dist/types/cosmos/toolbox/index.d.ts.map +1 -0
  79. package/dist/types/cosmos/toolbox/thorchain.d.ts +158 -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 +74 -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 +83 -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 +76 -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 +75 -0
  106. package/dist/types/index.d.ts.map +1 -0
  107. package/dist/types/near/helpers/core.d.ts +15 -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 +32 -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 +14 -0
  126. package/dist/types/radix/index.d.ts.map +1 -0
  127. package/dist/types/ripple/index.d.ts +46 -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 +51 -0
  132. package/dist/types/solana/toolbox.d.ts.map +1 -0
  133. package/dist/types/substrate/balance.d.ts +17 -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 +148 -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 +19 -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 +14 -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 +8 -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 +26 -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 +4 -0
  166. package/dist/types/utils.d.ts.map +1 -0
  167. package/dist/types/utxo/helpers/api.d.ts +101 -0
  168. package/dist/types/utxo/helpers/api.d.ts.map +1 -0
  169. package/dist/types/utxo/helpers/bchaddrjs.d.ts +10 -0
  170. package/dist/types/utxo/helpers/bchaddrjs.d.ts.map +1 -0
  171. package/dist/types/utxo/helpers/coinselect.d.ts +17 -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 +21 -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 +93 -0
  180. package/dist/types/utxo/toolbox/bitcoinCash.d.ts.map +1 -0
  181. package/dist/types/utxo/toolbox/index.d.ts +28 -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 +103 -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 +72 -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 +168 -0
  199. package/src/cardano/types.ts +10 -0
  200. package/src/cosmos/__tests__/toolbox.test.ts +91 -0
  201. package/src/cosmos/index.ts +4 -0
  202. package/src/cosmos/thorchainUtils/addressFormat.ts +22 -0
  203. package/src/cosmos/thorchainUtils/index.ts +4 -0
  204. package/src/cosmos/thorchainUtils/messages.ts +212 -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 +345 -0
  210. package/src/cosmos/toolbox/index.ts +35 -0
  211. package/src/cosmos/toolbox/thorchain.ts +249 -0
  212. package/src/cosmos/types.ts +48 -0
  213. package/src/cosmos/util.ts +214 -0
  214. package/src/evm/__tests__/address-validation.test.ts +84 -0
  215. package/src/evm/__tests__/ethereum.test.ts +137 -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 +73 -0
  221. package/src/evm/index.ts +4 -0
  222. package/src/evm/toolbox/baseEVMToolbox.ts +695 -0
  223. package/src/evm/toolbox/evm.ts +67 -0
  224. package/src/evm/toolbox/index.ts +44 -0
  225. package/src/evm/toolbox/op.ts +156 -0
  226. package/src/evm/types.ts +146 -0
  227. package/src/index.ts +260 -0
  228. package/src/near/__tests__/core.test.ts +70 -0
  229. package/src/near/helpers/core.ts +85 -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 +421 -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 +132 -0
  239. package/src/ripple/index.ts +179 -0
  240. package/src/solana/index.ts +36 -0
  241. package/src/solana/toolbox.ts +415 -0
  242. package/src/substrate/balance.ts +88 -0
  243. package/src/substrate/index.ts +2 -0
  244. package/src/substrate/substrate.ts +281 -0
  245. package/src/substrate/types.ts +115 -0
  246. package/src/sui/__tests__/toolbox.test.ts +82 -0
  247. package/src/sui/index.ts +2 -0
  248. package/src/sui/toolbox.ts +165 -0
  249. package/src/sui/types.ts +11 -0
  250. package/src/ton/__tests__/toolbox.test.ts +63 -0
  251. package/src/ton/index.ts +2 -0
  252. package/src/ton/toolbox.ts +136 -0
  253. package/src/ton/types.ts +13 -0
  254. package/src/tron/__tests__/toolbox.test.ts +221 -0
  255. package/src/tron/helpers/trc20.abi.ts +107 -0
  256. package/src/tron/helpers/trongrid.ts +53 -0
  257. package/src/tron/index.ts +21 -0
  258. package/src/tron/toolbox.ts +585 -0
  259. package/src/tron/types.ts +83 -0
  260. package/src/types.ts +28 -0
  261. package/src/utils.ts +27 -0
  262. package/src/utxo/__tests__/zcash-integration.test.ts +97 -0
  263. package/src/utxo/helpers/api.ts +471 -0
  264. package/src/utxo/helpers/bchaddrjs.ts +166 -0
  265. package/src/utxo/helpers/coinselect.ts +92 -0
  266. package/src/utxo/helpers/index.ts +4 -0
  267. package/src/utxo/helpers/txSize.ts +137 -0
  268. package/src/utxo/index.ts +6 -0
  269. package/src/utxo/toolbox/bitcoinCash.ts +243 -0
  270. package/src/utxo/toolbox/index.ts +59 -0
  271. package/src/utxo/toolbox/params.ts +18 -0
  272. package/src/utxo/toolbox/utxo.ts +439 -0
  273. package/src/utxo/toolbox/validators.ts +36 -0
  274. package/src/utxo/toolbox/zcash.ts +245 -0
  275. package/src/utxo/types.ts +39 -0
@@ -0,0 +1,62 @@
1
+ import type { Account } from "@cosmjs/stargate";
2
+ import { AssetValue, Chain, type ChainId, type CosmosChain, type DerivationPathArray, type GenericTransferParams, SwapKitNumber } from "@uswap/helpers";
3
+ import type { CosmosToolboxParams } from "../types";
4
+ import { cosmosCreateTransaction } from "../util";
5
+ export declare function fetchFeeRateFromSwapKit(chainId: ChainId, safeDefault: number): Promise<number>;
6
+ export declare function getSignerFromPhrase({ phrase, prefix, ...derivationParams }: {
7
+ phrase: string;
8
+ prefix?: string;
9
+ } & ({
10
+ chain: Chain;
11
+ index?: number;
12
+ } | {
13
+ derivationPath: string;
14
+ })): Promise<import("@cosmjs/proto-signing").DirectSecp256k1HdWallet>;
15
+ export declare function getSignerFromPrivateKey({ privateKey, prefix }: {
16
+ privateKey: Uint8Array;
17
+ prefix: string;
18
+ }): Promise<import("@cosmjs/proto-signing").DirectSecp256k1Wallet>;
19
+ export declare function verifySignature(getAccount: (address: string) => Promise<Account | null>): ({ signature, message, address, }: {
20
+ signature: string;
21
+ message: string;
22
+ address: string;
23
+ }) => Promise<boolean>;
24
+ export declare function createCosmosToolbox({ chain, ...toolboxParams }: CosmosToolboxParams): Promise<{
25
+ createPrivateKeyFromPhrase: (phrase: string) => Promise<Uint8Array<ArrayBufferLike>>;
26
+ createTransaction: typeof cosmosCreateTransaction;
27
+ fetchFeeRateFromSwapKit: typeof fetchFeeRateFromSwapKit;
28
+ getAccount: (address: string) => Promise<Account | null>;
29
+ getAddress: () => Promise<string | undefined>;
30
+ getBalance: (address: string, _potentialScamFilter?: boolean) => Promise<AssetValue[]>;
31
+ getBalanceAsDenoms: (address: string) => Promise<{
32
+ denom: string;
33
+ amount: string;
34
+ }[]>;
35
+ getFees: () => Promise<{
36
+ average: SwapKitNumber;
37
+ fast: SwapKitNumber;
38
+ fastest: SwapKitNumber;
39
+ }>;
40
+ getPubKey: () => Promise<string>;
41
+ getSignerFromPhrase: ({ phrase, derivationPath }: {
42
+ phrase: string;
43
+ derivationPath: DerivationPathArray;
44
+ }) => Promise<import("@cosmjs/proto-signing").DirectSecp256k1HdWallet>;
45
+ 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>;
50
+ validateAddress: (address: string) => boolean;
51
+ verifySignature: ({ signature, message, address, }: {
52
+ signature: string;
53
+ message: string;
54
+ address: string;
55
+ }) => Promise<boolean>;
56
+ }>;
57
+ export declare function getFeeRateFromSwapKit(chainId: ChainId, safeDefault: number): Promise<number>;
58
+ export declare function estimateTransactionFee({ assetValue: { chain } }: {
59
+ assetValue: AssetValue;
60
+ }): AssetValue;
61
+ export declare function getCosmosValidateAddress(chain: CosmosChain): (address: string) => boolean;
62
+ //# sourceMappingURL=cosmos.d.ts.map
@@ -0,0 +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,gBAAgB,CAAC;AAGxB,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;yCAiO/B,MAAM;;;0BAjN5B,MAAM;;0BA2FX,MAAM,yBAAyB,OAAO;kCAwGd,MAAM;;;;;;;;;;sDAhFF;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,mBAAmB,CAAA;KAAE;0CAOnE,UAAU;+EAlGrD,qBAAqB;gFAqCrB,qBAAqB,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE;+BAuHN,MAAM;wDArN5C;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB;GAkKF;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,15 @@
1
+ import { Chain, type CosmosChain } from "@uswap/helpers";
2
+ import type { CosmosToolboxParams } from "../types";
3
+ import { createCosmosToolbox } from "./cosmos";
4
+ import { createThorchainToolbox } from "./thorchain";
5
+ export type CosmosToolboxes = {
6
+ GAIA: ReturnType<typeof createCosmosToolbox>;
7
+ KUJI: ReturnType<typeof createCosmosToolbox>;
8
+ MAYA: ReturnType<typeof createThorchainToolbox>;
9
+ NOBLE: ReturnType<typeof createCosmosToolbox>;
10
+ THOR: ReturnType<typeof createThorchainToolbox>;
11
+ };
12
+ export declare const getCosmosToolbox: <T extends Exclude<CosmosChain, Chain.Harbor>>(chain: T, params?: Omit<CosmosToolboxParams, "chain">) => CosmosToolboxes[T];
13
+ export * from "./cosmos";
14
+ export * from "./thorchain";
15
+ //# 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,OAAO,EAAE,KAAK,EAAE,KAAK,WAAW,EAAgB,MAAM,gBAAgB,CAAC;AAEvE,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,158 @@
1
+ import type { Pubkey, Secp256k1HdWallet } from "@cosmjs/amino";
2
+ import { type GenericTransferParams, SwapKitNumber, type TCLikeChain } from "@uswap/helpers";
3
+ import { buildEncodedTxBody, createDefaultRegistry, parseAminoMessageForDirectSigning } from "../thorchainUtils";
4
+ import type { CosmosToolboxParams, MultiSigSigner, MultisigTx } from "../types";
5
+ declare function createMultisig(pubKeys: string[], threshold: number, noSortPubKeys?: boolean): Promise<import("@cosmjs/amino").MultisigThresholdPubkey>;
6
+ declare function importSignature(signature: string): Uint8Array<ArrayBufferLike>;
7
+ declare function signWithPrivateKey({ privateKey, message }: {
8
+ privateKey: Uint8Array;
9
+ message: string;
10
+ }): Promise<string>;
11
+ export declare function createThorchainToolbox({ chain, ...toolboxParams }: CosmosToolboxParams<TCLikeChain>): Promise<{
12
+ broadcastMultisigTx: (tx: string, signers: MultiSigSigner[], membersPubKeys: string[], threshold: number, bodyBytes: Uint8Array) => Promise<string>;
13
+ buildAminoMsg: ({ sender, recipient, assetValue, memo, }: {
14
+ sender: string;
15
+ recipient?: string;
16
+ assetValue: import("@uswap/helpers").AssetValue;
17
+ memo?: string;
18
+ }) => {
19
+ type: "thorchain/MsgDeposit" | "mayachain/MsgDeposit";
20
+ value: {
21
+ coins: {
22
+ amount: string;
23
+ asset: string;
24
+ }[];
25
+ memo: string;
26
+ signer: string;
27
+ };
28
+ } | {
29
+ type: "thorchain/MsgSend" | "mayachain/MsgSend";
30
+ value: {
31
+ amount: {
32
+ amount: string;
33
+ denom: string;
34
+ }[];
35
+ from_address: string;
36
+ to_address: string | undefined;
37
+ };
38
+ };
39
+ buildEncodedTxBody: typeof buildEncodedTxBody;
40
+ convertToSignable: (msg: {
41
+ type: "thorchain/MsgSend" | "mayachain/MsgSend";
42
+ value: {
43
+ amount: {
44
+ amount: string;
45
+ denom: string;
46
+ }[];
47
+ from_address: string;
48
+ to_address: string | undefined;
49
+ };
50
+ } | {
51
+ type: "thorchain/MsgDeposit" | "mayachain/MsgDeposit";
52
+ value: {
53
+ coins: {
54
+ amount: string;
55
+ asset: string;
56
+ }[];
57
+ memo: string;
58
+ signer: string;
59
+ };
60
+ }, chain: TCLikeChain) => Promise<import("@cosmjs/proto-signing").EncodeObject>;
61
+ createDefaultAminoTypes: () => Promise<import("@cosmjs/stargate").AminoTypes>;
62
+ createDefaultRegistry: typeof createDefaultRegistry;
63
+ createMultisig: typeof createMultisig;
64
+ createTransaction: (params: import("..").ThorchainCreateTransactionParams) => Promise<{
65
+ accountNumber: number;
66
+ chainId: import("@uswap/types").ChainId.Maya | import("@uswap/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("@uswap/types").ChainId.Maya | import("@uswap/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
+ }>;
111
+ deposit: ({ assetValue, memo, recipient, }: Omit<GenericTransferParams, "recipient"> & {
112
+ recipient?: string;
113
+ }) => Promise<string>;
114
+ getFees: () => Promise<{
115
+ average: SwapKitNumber;
116
+ fast: SwapKitNumber;
117
+ fastest: SwapKitNumber;
118
+ }>;
119
+ importSignature: typeof importSignature;
120
+ parseAminoMessageForDirectSigning: typeof parseAminoMessageForDirectSigning;
121
+ pubkeyToAddress: (pubkey: Pubkey) => Promise<string>;
122
+ secp256k1HdWalletFromMnemonic: (mnemonic: string, index?: number) => Promise<Secp256k1HdWallet>;
123
+ signMultisigTx: ({ wallet, tx }: {
124
+ wallet: Secp256k1HdWallet;
125
+ tx: string | MultisigTx;
126
+ }) => Promise<{
127
+ bodyBytes: Uint8Array<ArrayBufferLike>;
128
+ signature: string;
129
+ }>;
130
+ signWithPrivateKey: typeof signWithPrivateKey;
131
+ transfer: ({ assetValue, memo, recipient, }: Omit<GenericTransferParams, "recipient"> & {
132
+ recipient?: string;
133
+ }) => Promise<string>;
134
+ createPrivateKeyFromPhrase: (phrase: string) => Promise<Uint8Array<ArrayBufferLike>>;
135
+ fetchFeeRateFromSwapKit: typeof import("./cosmos").fetchFeeRateFromSwapKit;
136
+ getAccount: (address: string) => Promise<import("@cosmjs/stargate").Account | null>;
137
+ getAddress: () => Promise<string | undefined>;
138
+ getBalance: (address: string, _potentialScamFilter?: boolean) => Promise<import("@uswap/helpers").AssetValue[]>;
139
+ getBalanceAsDenoms: (address: string) => Promise<{
140
+ denom: string;
141
+ amount: string;
142
+ }[]>;
143
+ getPubKey: () => Promise<string>;
144
+ getSignerFromPhrase: ({ phrase, derivationPath }: {
145
+ phrase: string;
146
+ derivationPath: import("@uswap/helpers").DerivationPathArray;
147
+ }) => Promise<import("@cosmjs/proto-signing").DirectSecp256k1HdWallet>;
148
+ getSignerFromPrivateKey: (privateKey: Uint8Array) => Promise<import("@cosmjs/proto-signing").DirectSecp256k1Wallet>;
149
+ signTransaction: ({ recipient, assetValue, memo, feeRate, feeOptionKey, }: GenericTransferParams) => Promise<string>;
150
+ validateAddress: (address: string) => boolean;
151
+ verifySignature: ({ signature, message, address, }: {
152
+ signature: string;
153
+ message: string;
154
+ address: string;
155
+ }) => Promise<boolean>;
156
+ }>;
157
+ export {};
158
+ //# 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,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAKL,KAAK,qBAAqB,EAO1B,aAAa,EACb,KAAK,WAAW,EAEjB,MAAM,gBAAgB,CAAC;AAGxB,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"}
@@ -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 "@uswap/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,gBAAgB,CAAC;AACxB,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,74 @@
1
+ import type { OfflineSigner } from "@cosmjs/proto-signing";
2
+ import type { SigningStargateClientOptions } from "@cosmjs/stargate";
3
+ import { AssetValue, type CosmosChain } from "@uswap/helpers";
4
+ import type { CosmosCreateTransactionParams } from "./types";
5
+ export declare const USK_KUJIRA_FACTORY_DENOM = "FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK";
6
+ export declare const YUM_KUJIRA_FACTORY_DENOM = "FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM";
7
+ export declare const DEFAULT_COSMOS_FEE_MAINNET: {
8
+ amount: {
9
+ amount: string;
10
+ denom: string;
11
+ }[];
12
+ gas: string;
13
+ };
14
+ export declare const DEFAULT_KUJI_FEE_MAINNET: {
15
+ amount: {
16
+ amount: string;
17
+ denom: string;
18
+ }[];
19
+ gas: string;
20
+ };
21
+ export declare const DEFAULT_NOBLE_FEE_MAINNET: {
22
+ amount: {
23
+ amount: string;
24
+ denom: string;
25
+ }[];
26
+ gas: string;
27
+ };
28
+ export declare function getDefaultChainFee(chain: CosmosChain): {
29
+ amount: {
30
+ amount: string;
31
+ denom: string;
32
+ }[];
33
+ gas: string;
34
+ };
35
+ export declare const getMsgSendDenom: (symbol: string, isThorchain?: boolean) => string;
36
+ export declare const getDenomWithChain: ({ symbol, chain }: AssetValue) => string;
37
+ export declare function createStargateClient(url: string): Promise<import("@cosmjs/stargate").StargateClient>;
38
+ export declare function createSigningStargateClient(url: string, signer: OfflineSigner, optionsOrBaseGas?: string | SigningStargateClientOptions): Promise<import("@cosmjs/stargate").SigningStargateClient>;
39
+ export declare function createOfflineStargateClient(wallet: OfflineSigner, registry?: SigningStargateClientOptions): Promise<import("@cosmjs/stargate").SigningStargateClient>;
40
+ /**
41
+ * Used to build tx for Cosmos and Kujira
42
+ */
43
+ export declare function cosmosCreateTransaction({ sender, recipient, assetValue, memo, feeRate, sequence, accountNumber, }: CosmosCreateTransactionParams): Promise<{
44
+ accountNumber: number;
45
+ chainId: import("@uswap/types").ChainId;
46
+ fee: {
47
+ amount: {
48
+ amount: string;
49
+ denom: string;
50
+ }[];
51
+ gas: string;
52
+ };
53
+ memo: string;
54
+ msgs: {
55
+ typeUrl: string;
56
+ value: {
57
+ amount: {
58
+ amount: string;
59
+ denom: string;
60
+ }[];
61
+ fromAddress: string;
62
+ toAddress: string;
63
+ };
64
+ }[];
65
+ sequence: number;
66
+ }>;
67
+ /**
68
+ * Converts a Cosmos denom and amount to an AssetValue with proper decimal handling
69
+ * @param denom - The denomination string
70
+ * @param amount - The amount in base units as a string
71
+ * @returns AssetValue with the correct decimal conversion
72
+ */
73
+ export declare const getAssetFromDenom: (denom: string, amount: string) => AssetValue;
74
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/cosmos/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAS,KAAK,WAAW,EAA2C,MAAM,gBAAgB,CAAC;AAC9G,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 "@uswap/helpers";
2
+ export declare function getEvmApi(chain: EVMChain): {
3
+ getBalance: (address: string, scamFilter?: boolean) => Promise<import("@uswap/helpers").AssetValue[]>;
4
+ };
5
+ export declare function createCustomEvmApi(methods: ReturnType<typeof getEvmApi>): {
6
+ getBalance: (address: string, scamFilter?: boolean) => Promise<import("@uswap/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,gBAAgB,CAAC;AAG/C,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 "@uswap/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 typeof 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,gBAAgB,CAAC;AAGrG,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,SAW/C,CAAC,SAAS,OAAO,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,aAAa,CACxE;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,83 @@
1
+ import { type Asset, AssetValue, type ChainSigner, type EVMChain, FeeOption } from "@uswap/helpers";
2
+ import { BrowserProvider, Contract, type ContractTransaction, type Fragment, type HDNodeWallet, type JsonFragment, type JsonRpcSigner, type Provider, type Signer } from "ethers";
3
+ import type { ApproveParams, CallParams, EIP1559TxParams, EstimateCallParams, EVMCreateTransactionParams, EVMTransferParams, EVMTxParams, IsApprovedParams } from "../types";
4
+ type ToolboxWrapParams<P = Provider | BrowserProvider, T = {}> = T & {
5
+ isEIP1559Compatible?: boolean;
6
+ provider: P;
7
+ signer?: Signer;
8
+ chain: EVMChain;
9
+ };
10
+ export declare const MAX_APPROVAL: bigint;
11
+ export declare function BaseEVMToolbox<P extends Provider | BrowserProvider, S extends (ChainSigner<EVMTransferParams, string> & Signer) | JsonRpcSigner | HDNodeWallet | undefined>({ chain, provider, signer, isEIP1559Compatible, }: {
12
+ signer: S;
13
+ provider: P;
14
+ isEIP1559Compatible?: boolean;
15
+ chain?: EVMChain;
16
+ }): {
17
+ approve: ({ assetAddress, spenderAddress, feeOptionKey, amount, gasLimitFallback, from: fromParam, nonce, }: ApproveParams) => Promise<string>;
18
+ approvedAmount: ({ assetAddress, spenderAddress, from }: IsApprovedParams) => Promise<bigint>;
19
+ broadcastTransaction: ((signedTx: string) => Promise<import("ethers").TransactionResponse>) | ((signedTx: string) => Promise<import("ethers").TransactionResponse>);
20
+ call: <T>({ callProvider, contractAddress, abi, funcName, funcParams, txOverrides, feeOption, }: CallParams) => Promise<T>;
21
+ createApprovalTx: ({ assetAddress, spenderAddress, amount, from: fromParam }: ApproveParams) => Promise<ContractTransaction>;
22
+ createContract: (address: string, abi: readonly (JsonFragment | Fragment)[]) => Contract;
23
+ createContractTxObject: ({ contractAddress, abi, funcName, funcParams, txOverrides }: CallParams) => Promise<ContractTransaction>;
24
+ createTransaction: ({ assetValue, memo, recipient, data, sender: fromOverride, maxFeePerGas, maxPriorityFeePerGas, gasPrice, ...tx }: EVMCreateTransactionParams) => Promise<ContractTransaction>;
25
+ createTransferTx: ({ assetValue, memo, recipient, data, sender: fromOverride, maxFeePerGas, maxPriorityFeePerGas, gasPrice, ...tx }: EVMCreateTransactionParams) => Promise<ContractTransaction>;
26
+ EIP1193SendTransaction: ({ value, ...params }: EVMTxParams | ContractTransaction) => Promise<string>;
27
+ estimateCall: ({ contractAddress, abi, funcName, funcParams, txOverrides }: EstimateCallParams) => Promise<bigint>;
28
+ estimateGasLimit: ({ assetValue, recipient, memo, data, sender, funcName, funcParams, txOverrides, }: EVMTransferParams & {
29
+ assetValue: AssetValue;
30
+ funcName?: string;
31
+ funcParams?: unknown[];
32
+ txOverrides?: EVMTxParams;
33
+ data?: string;
34
+ }) => Promise<bigint>;
35
+ estimateGasPrices: () => Promise<{ [key in FeeOption]: {
36
+ l1GasPrice?: bigint;
37
+ gasPrice?: bigint;
38
+ maxFeePerGas?: bigint;
39
+ maxPriorityFeePerGas?: bigint;
40
+ }; }>;
41
+ estimateTransactionFee: ({ feeOption, chain, ...txObject }: EIP1559TxParams & {
42
+ feeOption: FeeOption;
43
+ chain: EVMChain;
44
+ }) => Promise<AssetValue>;
45
+ getAddress: () => string | Promise<string> | undefined;
46
+ isApproved: ({ assetAddress, spenderAddress, from, amount }: IsApprovedParams) => Promise<boolean>;
47
+ sendTransaction: ({ feeOptionKey, ...tx }: EVMTxParams & {
48
+ feeOptionKey?: FeeOption;
49
+ }) => Promise<string>;
50
+ signMessage: ((message: string | Uint8Array) => Promise<string>) | undefined;
51
+ transfer: ({ assetValue, memo, recipient, feeOptionKey, sender, ...tx }: EVMTransferParams) => Promise<string>;
52
+ validateAddress: (address: string) => boolean;
53
+ };
54
+ export declare function evmValidateAddress({ address }: {
55
+ address: string;
56
+ }): boolean;
57
+ export declare function isBrowserProvider(provider: any): provider is BrowserProvider;
58
+ export declare function createContract(address: string, abi: readonly (JsonFragment | Fragment)[], provider: Provider): Contract;
59
+ export declare function getCreateContract({ provider }: ToolboxWrapParams): (address: string, abi: readonly (JsonFragment | Fragment)[]) => Contract;
60
+ export declare function isStateChangingCall({ abi, funcName }: {
61
+ abi: readonly JsonFragment[];
62
+ funcName: string;
63
+ }): any;
64
+ export declare function toChecksumAddress(address: string): string;
65
+ export declare function getEIP1193SendTransaction(provider: Provider | BrowserProvider): ({ value, ...params }: EVMTxParams | ContractTransaction) => Promise<string>;
66
+ export declare function getChecksumAddressFromAsset(asset: Asset, chain: EVMChain): string;
67
+ export declare const ContractAddress: Record<EVMChain, string>;
68
+ export declare function getTokenAddress({ chain, symbol, ticker }: Asset, baseAssetChain: EVMChain): string | null;
69
+ export declare function getCreateContractTxObject({ provider }: ToolboxWrapParams): ({ contractAddress, abi, funcName, funcParams, txOverrides }: CallParams) => Promise<ContractTransaction>;
70
+ export declare function getEstimateGasPrices({ chain, provider, isEIP1559Compatible, }: {
71
+ provider: Provider;
72
+ isEIP1559Compatible?: boolean;
73
+ chain: EVMChain;
74
+ }): () => Promise<{
75
+ [key in FeeOption]: {
76
+ l1GasPrice?: bigint;
77
+ gasPrice?: bigint;
78
+ maxFeePerGas?: bigint;
79
+ maxPriorityFeePerGas?: bigint;
80
+ };
81
+ }>;
82
+ export {};
83
+ //# 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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"}