@vultisig/core-chain 1.0.0 → 1.1.0

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 (155) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/chains/cardano/asset/cardanoAssetId.d.ts +14 -0
  3. package/dist/chains/cardano/asset/cardanoAssetId.d.ts.map +1 -0
  4. package/dist/chains/cardano/asset/cardanoAssetId.js +19 -0
  5. package/dist/chains/cardano/asset/cardanoAssetId.js.map +1 -0
  6. package/dist/chains/cardano/client/getCardanoAddressAssets.d.ts +10 -0
  7. package/dist/chains/cardano/client/getCardanoAddressAssets.d.ts.map +1 -0
  8. package/dist/chains/cardano/client/getCardanoAddressAssets.js +19 -0
  9. package/dist/chains/cardano/client/getCardanoAddressAssets.js.map +1 -0
  10. package/dist/chains/cardano/client/getCardanoAssetInfo.d.ts +23 -0
  11. package/dist/chains/cardano/client/getCardanoAssetInfo.d.ts.map +1 -0
  12. package/dist/chains/cardano/client/getCardanoAssetInfo.js +16 -0
  13. package/dist/chains/cardano/client/getCardanoAssetInfo.js.map +1 -0
  14. package/dist/chains/cardano/utxo/getCardanoExtendedUtxos.d.ts +20 -0
  15. package/dist/chains/cardano/utxo/getCardanoExtendedUtxos.d.ts.map +1 -0
  16. package/dist/chains/cardano/utxo/getCardanoExtendedUtxos.js +22 -0
  17. package/dist/chains/cardano/utxo/getCardanoExtendedUtxos.js.map +1 -0
  18. package/dist/chains/cosmos/computeCosmosTxReceiptFeeAmount.d.ts +14 -0
  19. package/dist/chains/cosmos/computeCosmosTxReceiptFeeAmount.d.ts.map +1 -0
  20. package/dist/chains/cosmos/computeCosmosTxReceiptFeeAmount.js +28 -0
  21. package/dist/chains/cosmos/computeCosmosTxReceiptFeeAmount.js.map +1 -0
  22. package/dist/chains/cosmos/qbtc/getQbtcAccountInfo.d.ts +1 -2
  23. package/dist/chains/cosmos/qbtc/getQbtcAccountInfo.d.ts.map +1 -1
  24. package/dist/chains/cosmos/qbtc/getQbtcAccountInfo.js +13 -9
  25. package/dist/chains/cosmos/qbtc/getQbtcAccountInfo.js.map +1 -1
  26. package/dist/chains/cosmos/qbtc/tendermintRpcUrl.d.ts +3 -5
  27. package/dist/chains/cosmos/qbtc/tendermintRpcUrl.d.ts.map +1 -1
  28. package/dist/chains/cosmos/qbtc/tendermintRpcUrl.js +3 -5
  29. package/dist/chains/cosmos/qbtc/tendermintRpcUrl.js.map +1 -1
  30. package/dist/chains/cosmos/sumFeeAmountForCosmosChainFeeDenom.d.ts +15 -0
  31. package/dist/chains/cosmos/sumFeeAmountForCosmosChainFeeDenom.d.ts.map +1 -0
  32. package/dist/chains/cosmos/sumFeeAmountForCosmosChainFeeDenom.js +22 -0
  33. package/dist/chains/cosmos/sumFeeAmountForCosmosChainFeeDenom.js.map +1 -0
  34. package/dist/chains/cosmos/thor/lp/affiliate.d.ts +16 -0
  35. package/dist/chains/cosmos/thor/lp/affiliate.d.ts.map +1 -0
  36. package/dist/chains/cosmos/thor/lp/affiliate.js +16 -0
  37. package/dist/chains/cosmos/thor/lp/affiliate.js.map +1 -0
  38. package/dist/chains/cosmos/thor/lp/index.d.ts +22 -0
  39. package/dist/chains/cosmos/thor/lp/index.d.ts.map +1 -0
  40. package/dist/chains/cosmos/thor/lp/index.js +18 -0
  41. package/dist/chains/cosmos/thor/lp/index.js.map +1 -0
  42. package/dist/chains/cosmos/thor/lp/memo.d.ts +41 -0
  43. package/dist/chains/cosmos/thor/lp/memo.d.ts.map +1 -0
  44. package/dist/chains/cosmos/thor/lp/memo.js +38 -0
  45. package/dist/chains/cosmos/thor/lp/memo.js.map +1 -0
  46. package/dist/chains/cosmos/thor/lp/payload.d.ts +46 -0
  47. package/dist/chains/cosmos/thor/lp/payload.d.ts.map +1 -0
  48. package/dist/chains/cosmos/thor/lp/payload.js +37 -0
  49. package/dist/chains/cosmos/thor/lp/payload.js.map +1 -0
  50. package/dist/chains/cosmos/thor/lp/pools.d.ts +46 -0
  51. package/dist/chains/cosmos/thor/lp/pools.d.ts.map +1 -0
  52. package/dist/chains/cosmos/thor/lp/pools.js +85 -0
  53. package/dist/chains/cosmos/thor/lp/pools.js.map +1 -0
  54. package/dist/chains/cosmos/thor/lp/position.d.ts +30 -0
  55. package/dist/chains/cosmos/thor/lp/position.d.ts.map +1 -0
  56. package/dist/chains/cosmos/thor/lp/position.js +58 -0
  57. package/dist/chains/cosmos/thor/lp/position.js.map +1 -0
  58. package/dist/chains/cosmos/thor/lp/validation.d.ts +13 -0
  59. package/dist/chains/cosmos/thor/lp/validation.d.ts.map +1 -0
  60. package/dist/chains/cosmos/thor/lp/validation.js +35 -0
  61. package/dist/chains/cosmos/thor/lp/validation.js.map +1 -0
  62. package/dist/chains/polkadot/dapp/PolkadotSignerPayload.d.ts +16 -0
  63. package/dist/chains/polkadot/dapp/PolkadotSignerPayload.d.ts.map +1 -0
  64. package/dist/chains/polkadot/dapp/PolkadotSignerPayload.js +2 -0
  65. package/dist/chains/polkadot/dapp/PolkadotSignerPayload.js.map +1 -0
  66. package/dist/chains/polkadot/dapp/constructSigningPayload.d.ts +12 -0
  67. package/dist/chains/polkadot/dapp/constructSigningPayload.d.ts.map +1 -0
  68. package/dist/chains/polkadot/dapp/constructSigningPayload.js +30 -0
  69. package/dist/chains/polkadot/dapp/constructSigningPayload.js.map +1 -0
  70. package/dist/chains/solana/getDynamicPriorityFeePrice.d.ts +3 -0
  71. package/dist/chains/solana/getDynamicPriorityFeePrice.d.ts.map +1 -0
  72. package/dist/chains/solana/getDynamicPriorityFeePrice.js +20 -0
  73. package/dist/chains/solana/getDynamicPriorityFeePrice.js.map +1 -0
  74. package/dist/chains/solana/jito.d.ts +6 -0
  75. package/dist/chains/solana/jito.d.ts.map +1 -0
  76. package/dist/chains/solana/jito.js +40 -0
  77. package/dist/chains/solana/jito.js.map +1 -0
  78. package/dist/chains/ton/address.d.ts +6 -0
  79. package/dist/chains/ton/address.d.ts.map +1 -0
  80. package/dist/chains/ton/address.js +17 -0
  81. package/dist/chains/ton/address.js.map +1 -0
  82. package/dist/chains/ton/api.d.ts +7 -2
  83. package/dist/chains/ton/api.d.ts.map +1 -1
  84. package/dist/chains/ton/api.js +16 -3
  85. package/dist/chains/ton/api.js.map +1 -1
  86. package/dist/chains/utxo/client/getDashUtxos.d.ts +3 -0
  87. package/dist/chains/utxo/client/getDashUtxos.d.ts.map +1 -0
  88. package/dist/chains/utxo/client/getDashUtxos.js +28 -0
  89. package/dist/chains/utxo/client/getDashUtxos.js.map +1 -0
  90. package/dist/chains/utxo/tx/getPsbtTransferInfo.js +1 -1
  91. package/dist/chains/utxo/tx/getPsbtTransferInfo.js.map +1 -1
  92. package/dist/chains/utxo/tx/getUtxos.d.ts.map +1 -1
  93. package/dist/chains/utxo/tx/getUtxos.js +5 -0
  94. package/dist/chains/utxo/tx/getUtxos.js.map +1 -1
  95. package/dist/coin/balance/resolvers/cardano.d.ts +1 -0
  96. package/dist/coin/balance/resolvers/cardano.d.ts.map +1 -1
  97. package/dist/coin/balance/resolvers/cardano.js +12 -0
  98. package/dist/coin/balance/resolvers/cardano.js.map +1 -1
  99. package/dist/coin/balance/resolvers/qbtc.d.ts.map +1 -1
  100. package/dist/coin/balance/resolvers/qbtc.js +6 -5
  101. package/dist/coin/balance/resolvers/qbtc.js.map +1 -1
  102. package/dist/coin/balance/resolvers/sui.d.ts.map +1 -1
  103. package/dist/coin/balance/resolvers/sui.js +1 -0
  104. package/dist/coin/balance/resolvers/sui.js.map +1 -1
  105. package/dist/coin/balance/resolvers/ton.d.ts.map +1 -1
  106. package/dist/coin/balance/resolvers/ton.js +11 -2
  107. package/dist/coin/balance/resolvers/ton.js.map +1 -1
  108. package/dist/coin/find/CoinFinderChainKind.d.ts +1 -1
  109. package/dist/coin/find/CoinFinderChainKind.d.ts.map +1 -1
  110. package/dist/coin/find/CoinFinderChainKind.js +1 -1
  111. package/dist/coin/find/CoinFinderChainKind.js.map +1 -1
  112. package/dist/coin/find/index.d.ts.map +1 -1
  113. package/dist/coin/find/index.js +2 -0
  114. package/dist/coin/find/index.js.map +1 -1
  115. package/dist/coin/find/resolvers/cardano.d.ts +5 -0
  116. package/dist/coin/find/resolvers/cardano.d.ts.map +1 -0
  117. package/dist/coin/find/resolvers/cardano.js +17 -0
  118. package/dist/coin/find/resolvers/cardano.js.map +1 -0
  119. package/dist/coin/knownTokens/index.d.ts.map +1 -1
  120. package/dist/coin/knownTokens/index.js +74 -0
  121. package/dist/coin/knownTokens/index.js.map +1 -1
  122. package/dist/coin/token/metadata/chains.d.ts +1 -1
  123. package/dist/coin/token/metadata/chains.d.ts.map +1 -1
  124. package/dist/coin/token/metadata/chains.js +1 -0
  125. package/dist/coin/token/metadata/chains.js.map +1 -1
  126. package/dist/coin/token/metadata/index.d.ts.map +1 -1
  127. package/dist/coin/token/metadata/index.js +2 -0
  128. package/dist/coin/token/metadata/index.js.map +1 -1
  129. package/dist/coin/token/metadata/resolvers/cardano.d.ts +8 -0
  130. package/dist/coin/token/metadata/resolvers/cardano.d.ts.map +1 -0
  131. package/dist/coin/token/metadata/resolvers/cardano.js +20 -0
  132. package/dist/coin/token/metadata/resolvers/cardano.js.map +1 -0
  133. package/dist/swap/native/utils/getNativeSwapDecimals.d.ts +8 -0
  134. package/dist/swap/native/utils/getNativeSwapDecimals.d.ts.map +1 -1
  135. package/dist/swap/native/utils/getNativeSwapDecimals.js +19 -4
  136. package/dist/swap/native/utils/getNativeSwapDecimals.js.map +1 -1
  137. package/dist/tx/broadcast/resolvers/qbtc.d.ts.map +1 -1
  138. package/dist/tx/broadcast/resolvers/qbtc.js +22 -5
  139. package/dist/tx/broadcast/resolvers/qbtc.js.map +1 -1
  140. package/dist/tx/broadcast/resolvers/solana.d.ts.map +1 -1
  141. package/dist/tx/broadcast/resolvers/solana.js +12 -1
  142. package/dist/tx/broadcast/resolvers/solana.js.map +1 -1
  143. package/dist/tx/hash/resolvers/cardano.d.ts.map +1 -1
  144. package/dist/tx/hash/resolvers/cardano.js +9 -5
  145. package/dist/tx/hash/resolvers/cardano.js.map +1 -1
  146. package/dist/tx/status/resolvers/cosmos.d.ts.map +1 -1
  147. package/dist/tx/status/resolvers/cosmos.js +21 -8
  148. package/dist/tx/status/resolvers/cosmos.js.map +1 -1
  149. package/dist/tx/status/resolvers/qbtc.d.ts.map +1 -1
  150. package/dist/tx/status/resolvers/qbtc.js +18 -19
  151. package/dist/tx/status/resolvers/qbtc.js.map +1 -1
  152. package/dist/tx/status/resolvers/ton.d.ts.map +1 -1
  153. package/dist/tx/status/resolvers/ton.js +4 -4
  154. package/dist/tx/status/resolvers/ton.js.map +1 -1
  155. package/package.json +107 -1
@@ -0,0 +1,8 @@
1
+ import { OtherChain } from '@vultisig/core-chain/Chain';
2
+ import { TokenMetadataResolver } from '@vultisig/core-chain/coin/token/metadata/resolver';
3
+ /**
4
+ * Resolves Cardano native token metadata from the Koios `asset_info` endpoint.
5
+ * The `id` field is expected in `policy_id.asset_name` format (both hex).
6
+ */
7
+ export declare const getCardanoTokenMetadata: TokenMetadataResolver<OtherChain.Cardano>;
8
+ //# sourceMappingURL=cardano.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/coin/token/metadata/resolvers/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAGvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAA;AAEzF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,qBAAqB,CACzD,UAAU,CAAC,OAAO,CAkBnB,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { fromCardanoAssetId } from '@vultisig/core-chain/chains/cardano/asset/cardanoAssetId';
2
+ import { getCardanoAssetInfo } from '@vultisig/core-chain/chains/cardano/client/getCardanoAssetInfo';
3
+ /**
4
+ * Resolves Cardano native token metadata from the Koios `asset_info` endpoint.
5
+ * The `id` field is expected in `policy_id.asset_name` format (both hex).
6
+ */
7
+ export const getCardanoTokenMetadata = async ({ id }) => {
8
+ const { policyId, assetName } = fromCardanoAssetId(id);
9
+ const info = await getCardanoAssetInfo({ policyId, assetName });
10
+ const registry = info.token_registry_metadata;
11
+ const ticker = registry?.ticker?.trim() ||
12
+ info.asset_name_ascii?.trim() ||
13
+ assetName.slice(0, 8).toUpperCase();
14
+ const decimals = registry?.decimals ?? 0;
15
+ return {
16
+ ticker,
17
+ decimals,
18
+ };
19
+ };
20
+ //# sourceMappingURL=cardano.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/coin/token/metadata/resolvers/cardano.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gEAAgE,CAAA;AAGpG;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAEhC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACnB,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;IACtD,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;IAE/D,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAA;IAE7C,MAAM,MAAM,GACV,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;QACxB,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE;QAC7B,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IAErC,MAAM,QAAQ,GAAG,QAAQ,EAAE,QAAQ,IAAI,CAAC,CAAA;IAExC,OAAO;QACL,MAAM;QACN,QAAQ;KACT,CAAA;AACH,CAAC,CAAA"}
@@ -1,3 +1,11 @@
1
1
  import { CoinKey } from '@vultisig/core-chain/coin/Coin';
2
+ /**
3
+ * Returns the decimal precision used by the swap API for a given coin.
4
+ *
5
+ * - CACAO (MayaChain fee coin) uses 10 decimals.
6
+ * - Other MayaChain tokens (MAYA, AZTEC) use their native decimals
7
+ * because the MAYAChain API reports amounts in native precision.
8
+ * - Everything else uses THORChain's 8-decimal standard.
9
+ */
2
10
  export declare const getNativeSwapDecimals: (coin: CoinKey) => number;
3
11
  //# sourceMappingURL=getNativeSwapDecimals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getNativeSwapDecimals.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/utils/getNativeSwapDecimals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAOxD,eAAO,MAAM,qBAAqB,GAAI,MAAM,OAAO,WAMlD,CAAA"}
1
+ {"version":3,"file":"getNativeSwapDecimals.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/utils/getNativeSwapDecimals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAMxD;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,OAAO,WAgBlD,CAAA"}
@@ -1,11 +1,26 @@
1
1
  import { chainFeeCoin } from '@vultisig/core-chain/coin/chainFeeCoin';
2
+ import { knownTokensIndex } from '@vultisig/core-chain/coin/knownTokens';
2
3
  import { isFeeCoin } from '@vultisig/core-chain/coin/utils/isFeeCoin';
3
4
  import { Chain } from '../../../Chain.js';
4
- // Use THORChain's decimals for all native swaps, except for the CACAO asset,
5
- // which is the only asset that uses 10 decimals.
5
+ /**
6
+ * Returns the decimal precision used by the swap API for a given coin.
7
+ *
8
+ * - CACAO (MayaChain fee coin) uses 10 decimals.
9
+ * - Other MayaChain tokens (MAYA, AZTEC) use their native decimals
10
+ * because the MAYAChain API reports amounts in native precision.
11
+ * - Everything else uses THORChain's 8-decimal standard.
12
+ */
6
13
  export const getNativeSwapDecimals = (coin) => {
7
- if (coin.chain === Chain.MayaChain && isFeeCoin(coin)) {
8
- return chainFeeCoin[coin.chain].decimals;
14
+ if (coin.chain === Chain.MayaChain) {
15
+ if (isFeeCoin(coin)) {
16
+ return chainFeeCoin[coin.chain].decimals;
17
+ }
18
+ const known = coin.id
19
+ ? knownTokensIndex[coin.chain][coin.id.toLowerCase()]
20
+ : undefined;
21
+ if (known) {
22
+ return known.decimals;
23
+ }
9
24
  }
10
25
  return chainFeeCoin[Chain.THORChain].decimals;
11
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getNativeSwapDecimals.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/utils/getNativeSwapDecimals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAErE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEtC,6EAA6E;AAC7E,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAa,EAAE,EAAE;IACrD,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAA;IAC1C,CAAC;IAED,OAAO,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAA;AAC/C,CAAC,CAAA"}
1
+ {"version":3,"file":"getNativeSwapDecimals.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/utils/getNativeSwapDecimals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAErE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEtC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAa,EAAE,EAAE;IACrD,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAA;QAC1C,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE;YACnB,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;YACrD,CAAC,CAAC,SAAS,CAAA;QAEb,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,QAAQ,CAAA;QACvB,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAA;AAC/C,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"qbtc.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/qbtc.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAKlD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,eAAe,EAAE,mBAAmB,CAAC,OAAO,KAAK,CAAC,IAAI,CAYlE,CAAA"}
1
+ {"version":3,"file":"qbtc.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/qbtc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAKlD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,eAAe,EAAE,mBAAmB,CAAC,OAAO,KAAK,CAAC,IAAI,CAoClE,CAAA"}
@@ -1,12 +1,29 @@
1
- import { StargateClient } from '@cosmjs/stargate';
2
- import { qbtcTendermintRpcUrl } from '@vultisig/core-chain/chains/cosmos/qbtc/tendermintRpcUrl';
1
+ import { qbtcRestUrl } from '@vultisig/core-chain/chains/cosmos/qbtc/tendermintRpcUrl';
3
2
  import { attempt } from '@vultisig/lib-utils/attempt';
4
3
  import { isInError } from '@vultisig/lib-utils/error/isInError';
5
4
  export const broadcastQbtcTx = async ({ tx: { serialized }, }) => {
6
5
  const { tx_bytes } = JSON.parse(serialized);
7
- const decodedTxBytes = Buffer.from(tx_bytes, 'base64');
8
- const client = await StargateClient.connect(qbtcTendermintRpcUrl);
9
- const { error } = await attempt(client.broadcastTx(decodedTxBytes));
6
+ const resp = await fetch(`${qbtcRestUrl}/cosmos/tx/v1beta1/txs`, {
7
+ method: 'POST',
8
+ headers: { 'Content-Type': 'application/json' },
9
+ body: JSON.stringify({
10
+ tx_bytes,
11
+ mode: 'BROADCAST_MODE_SYNC',
12
+ }),
13
+ });
14
+ if (!resp.ok) {
15
+ const text = await resp.text();
16
+ if (isInError(text, 'tx already exists in cache')) {
17
+ return;
18
+ }
19
+ throw new Error(`QBTC broadcast failed (${resp.status}): ${text}`);
20
+ }
21
+ const data = (await resp.json());
22
+ const { error } = await attempt(async () => {
23
+ if (data.tx_response?.code && data.tx_response.code !== 0) {
24
+ throw new Error(`QBTC tx error: ${data.tx_response.raw_log || data.tx_response.log}`);
25
+ }
26
+ });
10
27
  if (error && !isInError(error, 'tx already exists in cache')) {
11
28
  throw error;
12
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"qbtc.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/qbtc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAA;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAI/D,MAAM,CAAC,MAAM,eAAe,GAA2C,KAAK,EAAE,EAC5E,EAAE,EAAE,EAAE,UAAU,EAAE,GACnB,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAEtD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;IACjE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAA;IAEnE,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,4BAA4B,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"qbtc.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/qbtc.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0DAA0D,CAAA;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAI/D,MAAM,CAAC,MAAM,eAAe,GAA2C,KAAK,EAAE,EAC5E,EAAE,EAAE,EAAE,UAAU,EAAE,GACnB,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAyB,CAAA;IAEnE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,wBAAwB,EAAE;QAC/D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,QAAQ;YACR,IAAI,EAAE,qBAAqB;SAC5B,CAAC;KACH,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAC9B,IAAI,SAAS,CAAC,IAAI,EAAE,4BAA4B,CAAC,EAAE,CAAC;YAClD,OAAM;QACR,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAE9B,CAAA;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE;QACzC,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CACrE,CAAA;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,4BAA4B,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAIvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,iBAAiB,EAAE,mBAAmB,CACjD,UAAU,CAAC,MAAM,CAWlB,CAAA"}
1
+ {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAKvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,iBAAiB,EAAE,mBAAmB,CACjD,UAAU,CAAC,MAAM,CAoBlB,CAAA"}
@@ -1,8 +1,19 @@
1
1
  import { getSolanaClient } from '@vultisig/core-chain/chains/solana/client';
2
+ import { sendJitoTransaction } from '@vultisig/core-chain/chains/solana/jito';
2
3
  import base58 from 'bs58';
3
4
  export const broadcastSolanaTx = async ({ tx: { encoded } }) => {
4
- const client = getSolanaClient();
5
5
  const rawTransaction = base58.decode(encoded);
6
+ // Route all Solana transactions through JITO's sendTransaction endpoint
7
+ // for free MEV protection (private mempool). Falls back to standard RPC
8
+ // if JITO is unavailable.
9
+ try {
10
+ await sendJitoTransaction(rawTransaction);
11
+ return;
12
+ }
13
+ catch (err) {
14
+ console.warn('[solana] JITO sendTransaction failed, falling back to standard RPC:', err);
15
+ }
16
+ const client = getSolanaClient();
6
17
  await client.sendRawTransaction(rawTransaction, {
7
18
  skipPreflight: false,
8
19
  preflightCommitment: 'confirmed',
@@ -1 +1 @@
1
- {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/solana.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,MAAM,MAAM,MAAM,CAAA;AAIzB,MAAM,CAAC,MAAM,iBAAiB,GAE1B,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;IAChC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAEhC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE7C,MAAM,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE;QAC9C,aAAa,EAAE,KAAK;QACpB,mBAAmB,EAAE,WAAW;QAChC,UAAU,EAAE,CAAC;KACd,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/solana.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAC7E,OAAO,MAAM,MAAM,MAAM,CAAA;AAIzB,MAAM,CAAC,MAAM,iBAAiB,GAE1B,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;IAChC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE7C,wEAAwE;IACxE,wEAAwE;IACxE,0BAA0B;IAC1B,IAAI,CAAC;QACH,MAAM,mBAAmB,CAAC,cAAc,CAAC,CAAA;QACzC,OAAM;IACR,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,qEAAqE,EAAE,GAAG,CAAC,CAAA;IAC1F,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,MAAM,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE;QAC9C,aAAa,EAAE,KAAK;QACpB,mBAAmB,EAAE,WAAW;QAChC,UAAU,EAAE,CAAC;KACd,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/hash/resolvers/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAKvD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAAC,OAAO,CAO/D,CAAA"}
1
+ {"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/hash/resolvers/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAIvD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAAC,OAAO,CAY/D,CAAA"}
@@ -1,10 +1,14 @@
1
1
  import { blake2b } from '@noble/hashes/blake2.js';
2
2
  import { decode, encode } from 'cbor-x';
3
- import { toHex } from 'viem';
4
- export const getCardanoTxHash = ({ encoded, }) => {
5
- const tx = decode(encoded);
6
- const bodyCbor = encode(tx[0]);
3
+ export const getCardanoTxHash = tx => {
4
+ // Prefer pre-computed txId (set by compileTx to avoid cbor-x
5
+ // re-encoding which can alter byte representation).
6
+ if (tx.txId && tx.txId.length > 0) {
7
+ return Buffer.from(tx.txId).toString('hex');
8
+ }
9
+ const decoded = decode(tx.encoded);
10
+ const bodyCbor = encode(decoded[0]);
7
11
  const digest = blake2b(bodyCbor, { dkLen: 32 });
8
- return toHex(digest);
12
+ return Buffer.from(digest).toString('hex');
9
13
  };
10
14
  //# sourceMappingURL=cardano.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/hash/resolvers/cardano.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAI5B,MAAM,CAAC,MAAM,gBAAgB,GAAuC,CAAC,EACnE,OAAO,GACR,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IAC/C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAA;AACtB,CAAC,CAAA"}
1
+ {"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/hash/resolvers/cardano.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAIvC,MAAM,CAAC,MAAM,gBAAgB,GAAuC,EAAE,CAAC,EAAE;IACvE,6DAA6D;IAC7D,oDAAoD;IACpD,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IAE/C,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC5C,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAMxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,CAAC,WAAW,CAyC3D,CAAA"}
1
+ {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAQxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,CAAC,WAAW,CAwD3D,CAAA"}
@@ -1,4 +1,6 @@
1
+ import { computeCosmosTxReceiptFeeAmount } from '@vultisig/core-chain/chains/cosmos/computeCosmosTxReceiptFeeAmount';
1
2
  import { getCosmosClient } from '@vultisig/core-chain/chains/cosmos/client';
3
+ import { sumFeeAmountForCosmosChainFeeDenom } from '@vultisig/core-chain/chains/cosmos/sumFeeAmountForCosmosChainFeeDenom';
2
4
  import { chainFeeCoin } from '@vultisig/core-chain/coin/chainFeeCoin';
3
5
  import { decodeTxRaw } from '@cosmjs/proto-signing';
4
6
  import { attempt } from '@vultisig/lib-utils/attempt';
@@ -9,23 +11,34 @@ export const getCosmosTxStatus = async ({ chain, hash, }) => {
9
11
  return { status: 'pending' };
10
12
  }
11
13
  const status = tx.code === 0 ? 'success' : 'error';
12
- const feeCoin = chainFeeCoin[chain];
13
14
  const receipt = (() => {
14
15
  const gasUsed = tx.gasUsed;
15
- const gasWanted = tx.gasWanted;
16
- if (gasUsed == null || gasWanted == null || gasWanted === 0n) {
16
+ if (gasUsed == null || gasUsed === 0n) {
17
17
  return undefined;
18
18
  }
19
- const { data: decoded } = attempt(() => decodeTxRaw(tx.tx));
20
- if (!decoded) {
19
+ const decodeResult = attempt(() => decodeTxRaw(tx.tx));
20
+ if ('error' in decodeResult || !decodeResult.data) {
21
21
  return undefined;
22
22
  }
23
+ const decoded = decodeResult.data;
23
24
  const fee = decoded.authInfo?.fee;
24
- const maxFeeAmount = fee?.amount?.[0]?.amount != null ? BigInt(fee.amount[0].amount) : 0n;
25
- const actualFee = maxFeeAmount > 0n ? (maxFeeAmount * gasUsed) / gasWanted : 0n;
26
- if (actualFee === 0n) {
25
+ const maxFeeAmount = sumFeeAmountForCosmosChainFeeDenom({
26
+ amounts: fee?.amount,
27
+ chain,
28
+ });
29
+ if (maxFeeAmount === null || maxFeeAmount === 0n) {
27
30
  return undefined;
28
31
  }
32
+ const actualFee = computeCosmosTxReceiptFeeAmount({
33
+ gasUsed,
34
+ gasWantedFromTx: tx.gasWanted ?? 0n,
35
+ feeGasLimit: fee?.gasLimit ?? 0n,
36
+ maxFeeAmount,
37
+ });
38
+ if (actualFee === undefined) {
39
+ return undefined;
40
+ }
41
+ const feeCoin = chainFeeCoin[chain];
29
42
  return {
30
43
  feeAmount: actualFee,
31
44
  feeDecimals: feeCoin.decimals,
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/cosmos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAIrD,MAAM,CAAC,MAAM,iBAAiB,GAAkC,KAAK,EAAE,EACrE,KAAK,EACL,IAAI,GACL,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,CAAA;IAE3C,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAE7D,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;IAClD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAEnC,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;QACpB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAA;QAC1B,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,CAAA;QAC9B,IAAI,OAAO,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;YAC7D,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAA;QACjC,MAAM,YAAY,GAChB,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACtE,MAAM,SAAS,GACb,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/D,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;YACrB,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO;YACL,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,OAAO,CAAC,QAAQ;YAC7B,SAAS,EAAE,OAAO,CAAC,MAAM;SAC1B,CAAA;IACH,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AAC5B,CAAC,CAAA"}
1
+ {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/cosmos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,oEAAoE,CAAA;AACpH,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,kCAAkC,EAAE,MAAM,uEAAuE,CAAA;AAC1H,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAIrD,MAAM,CAAC,MAAM,iBAAiB,GAAkC,KAAK,EAAE,EACrE,KAAK,EACL,IAAI,GACL,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,CAAA;IAE3C,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAE7D,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;IAElD,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;QACpB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAA;QAC1B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACtC,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACtD,IAAI,OAAO,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAClD,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAA;QACjC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAA;QACjC,MAAM,YAAY,GAAG,kCAAkC,CAAC;YACtD,OAAO,EAAE,GAAG,EAAE,MAAM;YACpB,KAAK;SACN,CAAC,CAAA;QAEF,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACjD,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,+BAA+B,CAAC;YAChD,OAAO;YACP,eAAe,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE;YACnC,WAAW,EAAE,GAAG,EAAE,QAAQ,IAAI,EAAE;YAChC,YAAY;SACb,CAAC,CAAA;QAEF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QACnC,OAAO;YACL,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,OAAO,CAAC,QAAQ;YAC7B,SAAS,EAAE,OAAO,CAAC,MAAM;SAC1B,CAAA;IACH,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AAC5B,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"qbtc.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/qbtc.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAMlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,eAAO,MAAM,eAAe,EAAE,gBAAgB,CAAC,OAAO,KAAK,CAAC,IAAI,CAwC/D,CAAA"}
1
+ {"version":3,"file":"qbtc.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/qbtc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAKlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAkB9C,eAAO,MAAM,eAAe,EAAE,gBAAgB,CAAC,OAAO,KAAK,CAAC,IAAI,CAkC/D,CAAA"}
@@ -1,33 +1,32 @@
1
- import { StargateClient } from '@cosmjs/stargate';
2
1
  import { Chain } from '@vultisig/core-chain/Chain';
3
- import { qbtcTendermintRpcUrl } from '@vultisig/core-chain/chains/cosmos/qbtc/tendermintRpcUrl';
2
+ import { qbtcRestUrl } from '@vultisig/core-chain/chains/cosmos/qbtc/tendermintRpcUrl';
4
3
  import { chainFeeCoin } from '@vultisig/core-chain/coin/chainFeeCoin';
5
- import { decodeTxRaw } from '@cosmjs/proto-signing';
6
4
  import { attempt } from '@vultisig/lib-utils/attempt';
7
5
  export const getQbtcTxStatus = async ({ hash, }) => {
8
- const client = await StargateClient.connect(qbtcTendermintRpcUrl);
9
- const { data: tx, error } = await attempt(client.getTx(hash));
10
- if (error || !tx) {
6
+ const url = `${qbtcRestUrl}/cosmos/tx/v1beta1/txs/${hash}`;
7
+ const { data, error } = await attempt(async () => {
8
+ const resp = await fetch(url);
9
+ if (!resp.ok)
10
+ throw new Error(`${resp.status}`);
11
+ return resp.json();
12
+ });
13
+ if (error || !data?.tx_response) {
11
14
  return { status: 'pending' };
12
15
  }
13
- const status = tx.code === 0 ? 'success' : 'error';
16
+ const txResp = data.tx_response;
17
+ const status = txResp.code === 0 ? 'success' : 'error';
14
18
  const feeCoin = chainFeeCoin[Chain.QBTC];
15
19
  const receipt = (() => {
16
- const gasUsed = tx.gasUsed;
17
- const gasWanted = tx.gasWanted;
18
- if (gasUsed == null || gasWanted == null || gasWanted === 0n) {
20
+ const gasUsed = BigInt(txResp.gas_used || '0');
21
+ const gasWanted = BigInt(txResp.gas_wanted || '0');
22
+ if (gasUsed === 0n || gasWanted === 0n)
19
23
  return undefined;
20
- }
21
- const { data: decoded } = attempt(() => decodeTxRaw(tx.tx));
22
- if (!decoded) {
24
+ const maxFeeAmount = data.tx?.auth_info?.fee?.amount?.[0]?.amount;
25
+ if (!maxFeeAmount)
23
26
  return undefined;
24
- }
25
- const fee = decoded.authInfo?.fee;
26
- const maxFeeAmount = fee?.amount?.[0]?.amount != null ? BigInt(fee.amount[0].amount) : 0n;
27
- const actualFee = maxFeeAmount > 0n ? (maxFeeAmount * gasUsed) / gasWanted : 0n;
28
- if (actualFee === 0n) {
27
+ const actualFee = (BigInt(maxFeeAmount) * gasUsed) / gasWanted;
28
+ if (actualFee === 0n)
29
29
  return undefined;
30
- }
31
30
  return {
32
31
  feeAmount: actualFee,
33
32
  feeDecimals: feeCoin.decimals,
@@ -1 +1 @@
1
- {"version":3,"file":"qbtc.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/qbtc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAA;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAIrD,MAAM,CAAC,MAAM,eAAe,GAAwC,KAAK,EAAE,EACzE,IAAI,GACL,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAEjE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAE7D,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;IAClD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAExC,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;QACpB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAA;QAC1B,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,CAAA;QAC9B,IAAI,OAAO,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;YAC7D,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAA;QACjC,MAAM,YAAY,GAChB,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACtE,MAAM,SAAS,GACb,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/D,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;YACrB,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO;YACL,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,OAAO,CAAC,QAAQ;YAC7B,SAAS,EAAE,OAAO,CAAC,MAAM;SAC1B,CAAA;IACH,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AAC5B,CAAC,CAAA"}
1
+ {"version":3,"file":"qbtc.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/qbtc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,0DAA0D,CAAA;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAoBrD,MAAM,CAAC,MAAM,eAAe,GAAwC,KAAK,EAAE,EACzE,IAAI,GACL,EAAE,EAAE;IACH,MAAM,GAAG,GAAG,GAAG,WAAW,0BAA0B,IAAI,EAAE,CAAA;IAC1D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAC,IAAI,EAAyB,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QAChC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAA;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;IACtD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAExC,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;QACpB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAA;QAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAA;QAClD,IAAI,OAAO,KAAK,EAAE,IAAI,SAAS,KAAK,EAAE;YAAE,OAAO,SAAS,CAAA;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAA;QACjE,IAAI,CAAC,YAAY;YAAE,OAAO,SAAS,CAAA;QACnC,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,GAAG,SAAS,CAAA;QAC9D,IAAI,SAAS,KAAK,EAAE;YAAE,OAAO,SAAS,CAAA;QACtC,OAAO;YACL,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,OAAO,CAAC,QAAQ;YAC7B,SAAS,EAAE,OAAO,CAAC,MAAM;SAC1B,CAAA;IACH,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AAC5B,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ton.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/ton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAM9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAqB9C,eAAO,MAAM,cAAc,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAwC3D,CAAA"}
1
+ {"version":3,"file":"ton.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/ton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAM9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAiB9C,eAAO,MAAM,cAAc,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAwC3D,CAAA"}
@@ -4,12 +4,12 @@ import { rootApiUrl } from '@vultisig/core-config';
4
4
  import { attempt } from '@vultisig/lib-utils/attempt';
5
5
  import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
6
6
  export const getTonTxStatus = async ({ hash, }) => {
7
- const url = `${rootApiUrl}/ton/v2/getTransactions?hash=${hash}`;
7
+ const url = `${rootApiUrl}/ton/v3/transactionsByMessage?msg_hash=${hash}&direction=in&limit=1`;
8
8
  const { data: response, error } = await attempt(queryUrl(url));
9
- if (error || !response || !response.ok || response.result.length === 0) {
9
+ if (error || !response || response.transactions.length === 0) {
10
10
  return { status: 'pending' };
11
11
  }
12
- const tx = response.result[0];
12
+ const tx = response.transactions[0];
13
13
  // Check if transaction was aborted
14
14
  if (tx.description?.aborted) {
15
15
  return { status: 'error' };
@@ -21,7 +21,7 @@ export const getTonTxStatus = async ({ hash, }) => {
21
21
  const success = exitCode === undefined || exitCode === 0 || exitCode === 1;
22
22
  const status = success ? 'success' : 'error';
23
23
  const feeCoin = chainFeeCoin[Chain.Ton];
24
- const feeStr = tx.fee;
24
+ const feeStr = tx.total_fees;
25
25
  const receipt = feeStr != null && feeStr !== ''
26
26
  ? {
27
27
  feeAmount: BigInt(feeStr),
@@ -1 +1 @@
1
- {"version":3,"file":"ton.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/ton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAuB7D,MAAM,CAAC,MAAM,cAAc,GAAqC,KAAK,EAAE,EACrE,IAAI,GACL,EAAE,EAAE;IACH,MAAM,GAAG,GAAG,GAAG,UAAU,gCAAgC,IAAI,EAAE,CAAA;IAE/D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAC7C,QAAQ,CAA0B,GAAG,CAAC,CACvC,CAAA;IAED,IAAI,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAE7B,mCAAmC;IACnC,IAAI,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;QAC5B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IAC5B,CAAC;IAED,gCAAgC;IAChC,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAA;IAEtD,qCAAqC;IACrC,gEAAgE;IAChE,MAAM,OAAO,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAA;IAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;IAE5C,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAA;IACrB,MAAM,OAAO,GACX,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,EAAE;QAC7B,CAAC,CAAC;YACE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,OAAO,CAAC,QAAQ;YAC7B,SAAS,EAAE,OAAO,CAAC,MAAM;SAC1B;QACH,CAAC,CAAC,SAAS,CAAA;IAEf,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AAC5B,CAAC,CAAA"}
1
+ {"version":3,"file":"ton.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/ton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAmB7D,MAAM,CAAC,MAAM,cAAc,GAAqC,KAAK,EAAE,EACrE,IAAI,GACL,EAAE,EAAE;IACH,MAAM,GAAG,GAAG,GAAG,UAAU,0CAA0C,IAAI,uBAAuB,CAAA;IAE9F,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAC7C,QAAQ,CAA0B,GAAG,CAAC,CACvC,CAAA;IAED,IAAI,KAAK,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAEnC,mCAAmC;IACnC,IAAI,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;QAC5B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IAC5B,CAAC;IAED,gCAAgC;IAChC,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAA;IAEtD,qCAAqC;IACrC,gEAAgE;IAChE,MAAM,OAAO,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAA;IAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;IAE5C,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAA;IAC5B,MAAM,OAAO,GACX,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,EAAE;QAC7B,CAAC,CAAC;YACA,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,OAAO,CAAC,QAAQ;YAC7B,SAAS,EAAE,OAAO,CAAC,MAAM;SAC1B;QACD,CAAC,CAAC,SAAS,CAAA;IAEf,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AAC5B,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vultisig/core-chain",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Blockchain chain logic shared across Vultisig clients",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -74,6 +74,11 @@
74
74
  "import": "./dist/chains/bittensor/signing/scale.js",
75
75
  "default": "./dist/chains/bittensor/signing/scale.js"
76
76
  },
77
+ "./chains/cardano/asset/cardanoAssetId": {
78
+ "types": "./dist/chains/cardano/asset/cardanoAssetId.d.ts",
79
+ "import": "./dist/chains/cardano/asset/cardanoAssetId.js",
80
+ "default": "./dist/chains/cardano/asset/cardanoAssetId.js"
81
+ },
77
82
  "./chains/cardano/client/config": {
78
83
  "types": "./dist/chains/cardano/client/config.d.ts",
79
84
  "import": "./dist/chains/cardano/client/config.js",
@@ -84,11 +89,26 @@
84
89
  "import": "./dist/chains/cardano/client/currentSlot.js",
85
90
  "default": "./dist/chains/cardano/client/currentSlot.js"
86
91
  },
92
+ "./chains/cardano/client/getCardanoAddressAssets": {
93
+ "types": "./dist/chains/cardano/client/getCardanoAddressAssets.d.ts",
94
+ "import": "./dist/chains/cardano/client/getCardanoAddressAssets.js",
95
+ "default": "./dist/chains/cardano/client/getCardanoAddressAssets.js"
96
+ },
97
+ "./chains/cardano/client/getCardanoAssetInfo": {
98
+ "types": "./dist/chains/cardano/client/getCardanoAssetInfo.d.ts",
99
+ "import": "./dist/chains/cardano/client/getCardanoAssetInfo.js",
100
+ "default": "./dist/chains/cardano/client/getCardanoAssetInfo.js"
101
+ },
87
102
  "./chains/cardano/config": {
88
103
  "types": "./dist/chains/cardano/config.d.ts",
89
104
  "import": "./dist/chains/cardano/config.js",
90
105
  "default": "./dist/chains/cardano/config.js"
91
106
  },
107
+ "./chains/cardano/utxo/getCardanoExtendedUtxos": {
108
+ "types": "./dist/chains/cardano/utxo/getCardanoExtendedUtxos.d.ts",
109
+ "import": "./dist/chains/cardano/utxo/getCardanoExtendedUtxos.js",
110
+ "default": "./dist/chains/cardano/utxo/getCardanoExtendedUtxos.js"
111
+ },
92
112
  "./chains/cardano/utxo/getCardanoUtxos": {
93
113
  "types": "./dist/chains/cardano/utxo/getCardanoUtxos.d.ts",
94
114
  "import": "./dist/chains/cardano/utxo/getCardanoUtxos.js",
@@ -109,6 +129,11 @@
109
129
  "import": "./dist/chains/cosmos/client.js",
110
130
  "default": "./dist/chains/cosmos/client.js"
111
131
  },
132
+ "./chains/cosmos/computeCosmosTxReceiptFeeAmount": {
133
+ "types": "./dist/chains/cosmos/computeCosmosTxReceiptFeeAmount.d.ts",
134
+ "import": "./dist/chains/cosmos/computeCosmosTxReceiptFeeAmount.js",
135
+ "default": "./dist/chains/cosmos/computeCosmosTxReceiptFeeAmount.js"
136
+ },
112
137
  "./chains/cosmos/cosmosFeeCoinDenom": {
113
138
  "types": "./dist/chains/cosmos/cosmosFeeCoinDenom.d.ts",
114
139
  "import": "./dist/chains/cosmos/cosmosFeeCoinDenom.js",
@@ -149,6 +174,11 @@
149
174
  "import": "./dist/chains/cosmos/qbtc/tendermintRpcUrl.js",
150
175
  "default": "./dist/chains/cosmos/qbtc/tendermintRpcUrl.js"
151
176
  },
177
+ "./chains/cosmos/sumFeeAmountForCosmosChainFeeDenom": {
178
+ "types": "./dist/chains/cosmos/sumFeeAmountForCosmosChainFeeDenom.d.ts",
179
+ "import": "./dist/chains/cosmos/sumFeeAmountForCosmosChainFeeDenom.js",
180
+ "default": "./dist/chains/cosmos/sumFeeAmountForCosmosChainFeeDenom.js"
181
+ },
152
182
  "./chains/cosmos/tendermintRpcUrl": {
153
183
  "types": "./dist/chains/cosmos/tendermintRpcUrl.d.ts",
154
184
  "import": "./dist/chains/cosmos/tendermintRpcUrl.js",
@@ -174,6 +204,41 @@
174
204
  "import": "./dist/chains/cosmos/thor/kujira-merge/kujiraCoinsOnThorChain.js",
175
205
  "default": "./dist/chains/cosmos/thor/kujira-merge/kujiraCoinsOnThorChain.js"
176
206
  },
207
+ "./chains/cosmos/thor/lp": {
208
+ "types": "./dist/chains/cosmos/thor/lp/index.d.ts",
209
+ "import": "./dist/chains/cosmos/thor/lp/index.js",
210
+ "default": "./dist/chains/cosmos/thor/lp/index.js"
211
+ },
212
+ "./chains/cosmos/thor/lp/affiliate": {
213
+ "types": "./dist/chains/cosmos/thor/lp/affiliate.d.ts",
214
+ "import": "./dist/chains/cosmos/thor/lp/affiliate.js",
215
+ "default": "./dist/chains/cosmos/thor/lp/affiliate.js"
216
+ },
217
+ "./chains/cosmos/thor/lp/memo": {
218
+ "types": "./dist/chains/cosmos/thor/lp/memo.d.ts",
219
+ "import": "./dist/chains/cosmos/thor/lp/memo.js",
220
+ "default": "./dist/chains/cosmos/thor/lp/memo.js"
221
+ },
222
+ "./chains/cosmos/thor/lp/payload": {
223
+ "types": "./dist/chains/cosmos/thor/lp/payload.d.ts",
224
+ "import": "./dist/chains/cosmos/thor/lp/payload.js",
225
+ "default": "./dist/chains/cosmos/thor/lp/payload.js"
226
+ },
227
+ "./chains/cosmos/thor/lp/pools": {
228
+ "types": "./dist/chains/cosmos/thor/lp/pools.d.ts",
229
+ "import": "./dist/chains/cosmos/thor/lp/pools.js",
230
+ "default": "./dist/chains/cosmos/thor/lp/pools.js"
231
+ },
232
+ "./chains/cosmos/thor/lp/position": {
233
+ "types": "./dist/chains/cosmos/thor/lp/position.d.ts",
234
+ "import": "./dist/chains/cosmos/thor/lp/position.js",
235
+ "default": "./dist/chains/cosmos/thor/lp/position.js"
236
+ },
237
+ "./chains/cosmos/thor/lp/validation": {
238
+ "types": "./dist/chains/cosmos/thor/lp/validation.d.ts",
239
+ "import": "./dist/chains/cosmos/thor/lp/validation.js",
240
+ "default": "./dist/chains/cosmos/thor/lp/validation.js"
241
+ },
177
242
  "./chains/cosmos/thor/rujira/config": {
178
243
  "types": "./dist/chains/cosmos/thor/rujira/config.d.ts",
179
244
  "import": "./dist/chains/cosmos/thor/rujira/config.js",
@@ -304,6 +369,16 @@
304
369
  "import": "./dist/chains/polkadot/config.js",
305
370
  "default": "./dist/chains/polkadot/config.js"
306
371
  },
372
+ "./chains/polkadot/dapp/constructSigningPayload": {
373
+ "types": "./dist/chains/polkadot/dapp/constructSigningPayload.d.ts",
374
+ "import": "./dist/chains/polkadot/dapp/constructSigningPayload.js",
375
+ "default": "./dist/chains/polkadot/dapp/constructSigningPayload.js"
376
+ },
377
+ "./chains/polkadot/dapp/PolkadotSignerPayload": {
378
+ "types": "./dist/chains/polkadot/dapp/PolkadotSignerPayload.d.ts",
379
+ "import": "./dist/chains/polkadot/dapp/PolkadotSignerPayload.js",
380
+ "default": "./dist/chains/polkadot/dapp/PolkadotSignerPayload.js"
381
+ },
307
382
  "./chains/ripple/account/info": {
308
383
  "types": "./dist/chains/ripple/account/info.d.ts",
309
384
  "import": "./dist/chains/ripple/account/info.js",
@@ -329,6 +404,16 @@
329
404
  "import": "./dist/chains/solana/config.js",
330
405
  "default": "./dist/chains/solana/config.js"
331
406
  },
407
+ "./chains/solana/getDynamicPriorityFeePrice": {
408
+ "types": "./dist/chains/solana/getDynamicPriorityFeePrice.d.ts",
409
+ "import": "./dist/chains/solana/getDynamicPriorityFeePrice.js",
410
+ "default": "./dist/chains/solana/getDynamicPriorityFeePrice.js"
411
+ },
412
+ "./chains/solana/jito": {
413
+ "types": "./dist/chains/solana/jito.d.ts",
414
+ "import": "./dist/chains/solana/jito.js",
415
+ "default": "./dist/chains/solana/jito.js"
416
+ },
332
417
  "./chains/solana/solanaConfig": {
333
418
  "types": "./dist/chains/solana/solanaConfig.d.ts",
334
419
  "import": "./dist/chains/solana/solanaConfig.js",
@@ -374,6 +459,11 @@
374
459
  "import": "./dist/chains/ton/account/getTonBalance.js",
375
460
  "default": "./dist/chains/ton/account/getTonBalance.js"
376
461
  },
462
+ "./chains/ton/address": {
463
+ "types": "./dist/chains/ton/address.d.ts",
464
+ "import": "./dist/chains/ton/address.js",
465
+ "default": "./dist/chains/ton/address.js"
466
+ },
377
467
  "./chains/ton/api": {
378
468
  "types": "./dist/chains/ton/api.d.ts",
379
469
  "import": "./dist/chains/ton/api.js",
@@ -424,6 +514,11 @@
424
514
  "import": "./dist/chains/utxo/client/getBlockchairBaseUrl.js",
425
515
  "default": "./dist/chains/utxo/client/getBlockchairBaseUrl.js"
426
516
  },
517
+ "./chains/utxo/client/getDashUtxos": {
518
+ "types": "./dist/chains/utxo/client/getDashUtxos.d.ts",
519
+ "import": "./dist/chains/utxo/client/getDashUtxos.js",
520
+ "default": "./dist/chains/utxo/client/getDashUtxos.js"
521
+ },
427
522
  "./chains/utxo/client/getUtxoAddressInfo": {
428
523
  "types": "./dist/chains/utxo/client/getUtxoAddressInfo.d.ts",
429
524
  "import": "./dist/chains/utxo/client/getUtxoAddressInfo.js",
@@ -589,6 +684,11 @@
589
684
  "import": "./dist/coin/find/resolver.js",
590
685
  "default": "./dist/coin/find/resolver.js"
591
686
  },
687
+ "./coin/find/resolvers/cardano": {
688
+ "types": "./dist/coin/find/resolvers/cardano.d.ts",
689
+ "import": "./dist/coin/find/resolvers/cardano.js",
690
+ "default": "./dist/coin/find/resolvers/cardano.js"
691
+ },
592
692
  "./coin/find/resolvers/cosmos": {
593
693
  "types": "./dist/coin/find/resolvers/cosmos.d.ts",
594
694
  "import": "./dist/coin/find/resolvers/cosmos.js",
@@ -669,6 +769,11 @@
669
769
  "import": "./dist/coin/token/metadata/resolver.js",
670
770
  "default": "./dist/coin/token/metadata/resolver.js"
671
771
  },
772
+ "./coin/token/metadata/resolvers/cardano": {
773
+ "types": "./dist/coin/token/metadata/resolvers/cardano.d.ts",
774
+ "import": "./dist/coin/token/metadata/resolvers/cardano.js",
775
+ "default": "./dist/coin/token/metadata/resolvers/cardano.js"
776
+ },
672
777
  "./coin/token/metadata/resolvers/cosmos": {
673
778
  "types": "./dist/coin/token/metadata/resolvers/cosmos.d.ts",
674
779
  "import": "./dist/coin/token/metadata/resolvers/cosmos.js",
@@ -1365,6 +1470,7 @@
1365
1470
  "@mysten/sui": "^2.8.0",
1366
1471
  "@noble/hashes": "^2.0.1",
1367
1472
  "@polkadot/api": "^16.5.4",
1473
+ "@polkadot/util": "^14.0.1",
1368
1474
  "@polkadot/util-crypto": "^14.0.1",
1369
1475
  "@solana/web3.js": "^1.98.4",
1370
1476
  "@trustwallet/wallet-core": "^4.6.0",