@vultisig/core-chain 2.39.0 → 4.0.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 (100) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/chains/cardano/cip30/cardanoTxBodyHash.js +1 -1
  3. package/dist/chains/cardano/cip30/cardanoTxBodyHash.js.map +1 -1
  4. package/dist/chains/cosmos/qbtc/claim/computeClaimHashes.js +2 -2
  5. package/dist/chains/cosmos/qbtc/claim/computeClaimHashes.js.map +1 -1
  6. package/dist/chains/solana/kamino/config.d.ts +11 -2
  7. package/dist/chains/solana/kamino/config.d.ts.map +1 -1
  8. package/dist/chains/solana/kamino/config.js +12 -2
  9. package/dist/chains/solana/kamino/config.js.map +1 -1
  10. package/dist/chains/sui/sign.js +1 -1
  11. package/dist/chains/sui/sign.js.map +1 -1
  12. package/dist/coin/balance/resolvers/bittensor.js +2 -2
  13. package/dist/coin/balance/resolvers/bittensor.js.map +1 -1
  14. package/dist/coin/balance/resolvers/polkadot.js +2 -2
  15. package/dist/coin/balance/resolvers/polkadot.js.map +1 -1
  16. package/dist/coin/balance/resolvers/ripple.d.ts +13 -0
  17. package/dist/coin/balance/resolvers/ripple.d.ts.map +1 -1
  18. package/dist/coin/balance/resolvers/ripple.js +14 -6
  19. package/dist/coin/balance/resolvers/ripple.js.map +1 -1
  20. package/dist/coin/find/resolvers/evm/index.d.ts.map +1 -1
  21. package/dist/coin/find/resolvers/evm/index.js +14 -6
  22. package/dist/coin/find/resolvers/evm/index.js.map +1 -1
  23. package/dist/coin/knownTokens/index.d.ts.map +1 -1
  24. package/dist/coin/knownTokens/index.js +11 -0
  25. package/dist/coin/knownTokens/index.js.map +1 -1
  26. package/dist/coin/price/evm/getErc20Prices.d.ts.map +1 -1
  27. package/dist/coin/price/evm/getErc20Prices.js +28 -1
  28. package/dist/coin/price/evm/getErc20Prices.js.map +1 -1
  29. package/dist/coin/price/evm/getEvmVaultTokenPrices.d.ts +16 -0
  30. package/dist/coin/price/evm/getEvmVaultTokenPrices.d.ts.map +1 -0
  31. package/dist/coin/price/evm/getEvmVaultTokenPrices.js +67 -0
  32. package/dist/coin/price/evm/getEvmVaultTokenPrices.js.map +1 -0
  33. package/dist/coin/price/evm/getLifiTokenPrices.d.ts +15 -0
  34. package/dist/coin/price/evm/getLifiTokenPrices.d.ts.map +1 -0
  35. package/dist/coin/price/evm/getLifiTokenPrices.js +28 -0
  36. package/dist/coin/price/evm/getLifiTokenPrices.js.map +1 -0
  37. package/dist/coin/price/getUsdToFiatRate.d.ts +8 -0
  38. package/dist/coin/price/getUsdToFiatRate.d.ts.map +1 -0
  39. package/dist/coin/price/getUsdToFiatRate.js +20 -0
  40. package/dist/coin/price/getUsdToFiatRate.js.map +1 -0
  41. package/dist/publicKey/address/cardano.js +1 -1
  42. package/dist/publicKey/address/cardano.js.map +1 -1
  43. package/dist/publicKey/address/deriveQbtcAddress.js +2 -2
  44. package/dist/publicKey/address/deriveQbtcAddress.js.map +1 -1
  45. package/dist/swap/quote/getSwapQuoteSafetyFingerprint.js +2 -2
  46. package/dist/swap/quote/getSwapQuoteSafetyFingerprint.js.map +1 -1
  47. package/dist/tx/broadcast/index.d.ts +2 -0
  48. package/dist/tx/broadcast/index.d.ts.map +1 -1
  49. package/dist/tx/broadcast/index.js +34 -3
  50. package/dist/tx/broadcast/index.js.map +1 -1
  51. package/dist/tx/broadcast/resolver.d.ts +35 -1
  52. package/dist/tx/broadcast/resolver.d.ts.map +1 -1
  53. package/dist/tx/broadcast/resolver.js +42 -1
  54. package/dist/tx/broadcast/resolver.js.map +1 -1
  55. package/dist/tx/broadcast/resolvers/bittensor.d.ts.map +1 -1
  56. package/dist/tx/broadcast/resolvers/bittensor.js +17 -6
  57. package/dist/tx/broadcast/resolvers/bittensor.js.map +1 -1
  58. package/dist/tx/broadcast/resolvers/cardano.d.ts.map +1 -1
  59. package/dist/tx/broadcast/resolvers/cardano.js +26 -16
  60. package/dist/tx/broadcast/resolvers/cardano.js.map +1 -1
  61. package/dist/tx/broadcast/resolvers/cosmos.d.ts.map +1 -1
  62. package/dist/tx/broadcast/resolvers/cosmos.js +33 -31
  63. package/dist/tx/broadcast/resolvers/cosmos.js.map +1 -1
  64. package/dist/tx/broadcast/resolvers/evm.d.ts.map +1 -1
  65. package/dist/tx/broadcast/resolvers/evm.js +21 -9
  66. package/dist/tx/broadcast/resolvers/evm.js.map +1 -1
  67. package/dist/tx/broadcast/resolvers/polkadot.d.ts.map +1 -1
  68. package/dist/tx/broadcast/resolvers/polkadot.js +23 -4
  69. package/dist/tx/broadcast/resolvers/polkadot.js.map +1 -1
  70. package/dist/tx/broadcast/resolvers/qbtc.d.ts.map +1 -1
  71. package/dist/tx/broadcast/resolvers/qbtc.js +69 -52
  72. package/dist/tx/broadcast/resolvers/qbtc.js.map +1 -1
  73. package/dist/tx/broadcast/resolvers/ripple.d.ts.map +1 -1
  74. package/dist/tx/broadcast/resolvers/ripple.js +24 -9
  75. package/dist/tx/broadcast/resolvers/ripple.js.map +1 -1
  76. package/dist/tx/broadcast/resolvers/solana.d.ts.map +1 -1
  77. package/dist/tx/broadcast/resolvers/solana.js +19 -10
  78. package/dist/tx/broadcast/resolvers/solana.js.map +1 -1
  79. package/dist/tx/broadcast/resolvers/sui.d.ts.map +1 -1
  80. package/dist/tx/broadcast/resolvers/sui.js +20 -14
  81. package/dist/tx/broadcast/resolvers/sui.js.map +1 -1
  82. package/dist/tx/broadcast/resolvers/ton.d.ts.map +1 -1
  83. package/dist/tx/broadcast/resolvers/ton.js +16 -5
  84. package/dist/tx/broadcast/resolvers/ton.js.map +1 -1
  85. package/dist/tx/broadcast/resolvers/tron.d.ts.map +1 -1
  86. package/dist/tx/broadcast/resolvers/tron.js +15 -6
  87. package/dist/tx/broadcast/resolvers/tron.js.map +1 -1
  88. package/dist/tx/broadcast/resolvers/utxo.d.ts.map +1 -1
  89. package/dist/tx/broadcast/resolvers/utxo.js +27 -17
  90. package/dist/tx/broadcast/resolvers/utxo.js.map +1 -1
  91. package/dist/tx/broadcast/transientRetry.d.ts.map +1 -1
  92. package/dist/tx/broadcast/transientRetry.js +4 -2
  93. package/dist/tx/broadcast/transientRetry.js.map +1 -1
  94. package/dist/tx/broadcast/verifyBroadcastByHash.d.ts +1 -1
  95. package/dist/tx/broadcast/verifyBroadcastByHash.d.ts.map +1 -1
  96. package/dist/tx/broadcast/verifyBroadcastByHash.js +1 -1
  97. package/dist/tx/broadcast/verifyBroadcastByHash.js.map +1 -1
  98. package/dist/tx/hash/resolvers/cardano.js +1 -1
  99. package/dist/tx/hash/resolvers/cardano.js.map +1 -1
  100. package/package.json +18 -3
@@ -1,7 +1,8 @@
1
1
  import { fromBase64 } from '@mysten/sui/utils';
2
2
  import { getSuiClient } from '@vultisig/core-chain/chains/sui/client';
3
- import { describeSuiExecutionFailure, isSuiExecutionSuccess, } from '@vultisig/core-chain/chains/sui/transactionResult';
3
+ import { describeSuiExecutionFailure, getSuiResultTransaction, isSuiExecutionSuccess, } from '@vultisig/core-chain/chains/sui/transactionResult';
4
4
  import { attempt } from '@vultisig/lib-utils/attempt';
5
+ import { broadcastAccepted, broadcastFailed, isRetryableBroadcastCause } from '../resolver.js';
5
6
  import { DeliverTxFailedError } from '../transientRetry.js';
6
7
  import { verifyBroadcastByHash } from '../verifyBroadcastByHash.js';
7
8
  export const assertSuiTxSucceeded = (result) => {
@@ -10,21 +11,21 @@ export const assertSuiTxSucceeded = (result) => {
10
11
  throw new DeliverTxFailedError(`Sui transaction failed on-chain: ${describeSuiExecutionFailure(result)}`);
11
12
  };
12
13
  export const broadcastSuiTx = async ({ chain, tx }) => {
13
- const { data: response, error } = await attempt(getSuiClient().executeTransaction({
14
+ const result = await attempt(Promise.resolve().then(() => getSuiClient().executeTransaction({
14
15
  transaction: fromBase64(tx.unsignedTx),
15
16
  signatures: [tx.signature],
16
- // sdk#1398: without requesting effects, execution resolves with a digest even when the tx
17
- // executed but ABORTED (MoveAbort / InsufficientGas) — an RPC-level success that is NOT
18
- // execution success. Ask for effects so we can tell the two apart.
19
17
  include: { effects: true },
20
- }));
21
- if (error) {
22
- await verifyBroadcastByHash({ chain, tx, error });
23
- return;
24
- }
25
- if (!response) {
26
- return;
18
+ })));
19
+ if ('error' in result) {
20
+ const { error } = result;
21
+ try {
22
+ return broadcastAccepted(await verifyBroadcastByHash({ chain, tx, error }));
23
+ }
24
+ catch (cause) {
25
+ return broadcastFailed(cause, isRetryableBroadcastCause(error));
26
+ }
27
27
  }
28
+ const response = result.data;
28
29
  // Mirror the status resolver (status/resolvers/sui.ts): ONLY an explicit `$kind: 'Transaction'`
29
30
  // with `status.success === true` is execution success. A `FailedTransaction` (MoveAbort /
30
31
  // InsufficientGas) — or a missing/unknown status — must NOT be returned as a digest-carrying
@@ -35,7 +36,12 @@ export const broadcastSuiTx = async ({ chain, tx }) => {
35
36
  // `instanceof` BEFORE its message-regex runs: a Sui abort error string routinely contains
36
37
  // "aborted"/"timed out", which the transient patterns match — a bare Error would be misclassified
37
38
  // as transient and the aborted tx re-sent by withTransientBroadcastRetry.
38
- assertSuiTxSucceeded(response);
39
- return response;
39
+ try {
40
+ assertSuiTxSucceeded(response);
41
+ }
42
+ catch (cause) {
43
+ return broadcastFailed(cause, false, { provider: response });
44
+ }
45
+ return broadcastAccepted(getSuiResultTransaction(response)?.digest, { provider: response });
40
46
  };
41
47
  //# sourceMappingURL=sui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sui.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/sui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,GAEtB,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAGrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAmD,EAAQ,EAAE;IAChG,IAAI,qBAAqB,CAAC,MAAM,CAAC;QAAE,OAAM;IAEzC,MAAM,IAAI,oBAAoB,CAAC,oCAAoC,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAC3G,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAwC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;IACzF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAC7C,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAChC,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC;QACtC,UAAU,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QAC1B,0FAA0F;QAC1F,wFAAwF;QACxF,mEAAmE;QACnE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KAC3B,CAAC,CACH,CAAA;IAED,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACjD,OAAM;IACR,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAM;IACR,CAAC;IAED,gGAAgG;IAChG,0FAA0F;IAC1F,6FAA6F;IAC7F,gGAAgG;IAChG,+FAA+F;IAC/F,EAAE;IACF,mGAAmG;IACnG,0FAA0F;IAC1F,kGAAkG;IAClG,0EAA0E;IAC1E,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IAE9B,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
1
+ {"version":3,"file":"sui.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/sui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,GAEtB,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAErD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAuB,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAChH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAmD,EAAQ,EAAE;IAChG,IAAI,qBAAqB,CAAC,MAAM,CAAC;QAAE,OAAM;IAEzC,MAAM,IAAI,oBAAoB,CAAC,oCAAoC,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAC3G,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAwC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;IACzF,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAC1B,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAChC,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC;QACtC,UAAU,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QAC1B,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KAC3B,CAAC,CACH,CACF,CAAA;IAED,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;QACxB,IAAI,CAAC;YACH,OAAO,iBAAiB,CAAC,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAC7E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAA;QACjE,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAA;IAE5B,gGAAgG;IAChG,0FAA0F;IAC1F,6FAA6F;IAC7F,gGAAgG;IAChG,+FAA+F;IAC/F,EAAE;IACF,mGAAmG;IACnG,0FAA0F;IAC1F,kGAAkG;IAClG,0EAA0E;IAC1E,IAAI,CAAC;QACH,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,iBAAiB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;AAC7F,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ton.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/ton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAMvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGjD,eAAO,MAAM,cAAc,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAkB9D,CAAA"}
1
+ {"version":3,"file":"ton.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/ton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAMvD,OAAO,EAAsC,mBAAmB,EAA6B,MAAM,aAAa,CAAA;AAGhH,eAAO,MAAM,cAAc,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG,CA2B9D,CAAA"}
@@ -2,18 +2,29 @@ import { rootApiUrl } from '@vultisig/core-config';
2
2
  import { attempt } from '@vultisig/lib-utils/attempt';
3
3
  import { isInError } from '@vultisig/lib-utils/error/isInError';
4
4
  import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
5
+ import { broadcastAccepted, broadcastFailed, isRetryableBroadcastCause } from '../resolver.js';
5
6
  import { verifyBroadcastByHash } from '../verifyBroadcastByHash.js';
6
7
  export const broadcastTonTx = async ({ chain, tx }) => {
7
8
  const url = `${rootApiUrl}/ton/v2/sendBocReturnHash`;
8
- const { error } = await attempt(queryUrl(url, {
9
+ const result = await attempt(queryUrl(url, {
9
10
  body: { boc: tx.encoded },
10
11
  }));
11
- if (!error) {
12
- return;
12
+ const hash = result.data?.result?.hash;
13
+ if (hash) {
14
+ return broadcastAccepted(hash);
13
15
  }
16
+ const responseMissingHash = result.data !== undefined;
17
+ const error = responseMissingHash
18
+ ? new Error('TON broadcast failed: missing transaction hash in response')
19
+ : result.error;
14
20
  if (isInError(error, 'duplicate message', 'duplicate msg_seqno')) {
15
- return;
21
+ return broadcastAccepted();
22
+ }
23
+ try {
24
+ return broadcastAccepted(await verifyBroadcastByHash({ chain, tx, error }));
25
+ }
26
+ catch (cause) {
27
+ return broadcastFailed(cause, responseMissingHash ? false : isRetryableBroadcastCause(error));
16
28
  }
17
- await verifyBroadcastByHash({ chain, tx, error });
18
29
  };
19
30
  //# sourceMappingURL=ton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ton.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/ton.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAG7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,MAAM,CAAC,MAAM,cAAc,GAAwC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;IACzF,MAAM,GAAG,GAAG,GAAG,UAAU,2BAA2B,CAAA;IAEpD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAC7B,QAAQ,CAA+B,GAAG,EAAE;QAC1C,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE;KAC1B,CAAC,CACH,CAAA;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAM;IACR,CAAC;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,EAAE,CAAC;QACjE,OAAM;IACR,CAAC;IAED,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AACnD,CAAC,CAAA"}
1
+ {"version":3,"file":"ton.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/ton.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAuB,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAChH,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,MAAM,CAAC,MAAM,cAAc,GAAwC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;IACzF,MAAM,GAAG,GAAG,GAAG,UAAU,2BAA2B,CAAA;IAEpD,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,QAAQ,CAAiC,GAAG,EAAE;QAC5C,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE;KAC1B,CAAC,CACH,CAAA;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAA;IACtC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAA;IACrD,MAAM,KAAK,GAAG,mBAAmB;QAC/B,CAAC,CAAC,IAAI,KAAK,CAAC,4DAA4D,CAAC;QACzE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;IAChB,IAAI,SAAS,CAAC,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,EAAE,CAAC;QACjE,OAAO,iBAAiB,EAAE,CAAA;IAC5B,CAAC;IAED,IAAI,CAAC;QACH,OAAO,iBAAiB,CAAC,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAC7E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,eAAe,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAA;IAC/F,CAAC;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"tron.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/tron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAIvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGjD,eAAO,MAAM,eAAe,EAAE,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAuBhE,CAAA"}
1
+ {"version":3,"file":"tron.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/tron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAIvD,OAAO,EAAsC,mBAAmB,EAA6B,MAAM,aAAa,CAAA;AAGhH,eAAO,MAAM,eAAe,EAAE,mBAAmB,CAAC,UAAU,CAAC,IAAI,CA6BhE,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
2
2
  import { tronRpcUrl } from '../../../chains/tron/config.js';
3
+ import { broadcastAccepted, broadcastFailed, isRetryableBroadcastCause } from '../resolver.js';
3
4
  import { verifyBroadcastByHash } from '../verifyBroadcastByHash.js';
4
5
  export const broadcastTronTx = async ({ chain, tx }) => {
5
6
  try {
@@ -10,15 +11,23 @@ export const broadcastTronTx = async ({ chain, tx }) => {
10
11
  const msg = result.message
11
12
  ? Buffer.from(result.message, 'hex').toString('utf8')
12
13
  : (result.code ?? 'Unknown error');
13
- throw new Error(`Tron broadcast failed: ${msg}`);
14
+ const error = new Error(`Tron broadcast failed: ${msg}`);
15
+ try {
16
+ return broadcastAccepted(await verifyBroadcastByHash({ chain, tx, error }));
17
+ }
18
+ catch (cause) {
19
+ return broadcastFailed(cause, false);
20
+ }
14
21
  }
15
- // Return the tx hash string, consistent with the other broadcast resolvers (which return a hash
16
- // or void) rather than the full RPC envelope. The SDK's BroadcastService discards this return and
17
- // derives the hash itself, so no consumer reads the object — this is a shape-consistency fix.
18
- return result.txid;
22
+ return broadcastAccepted(result.txid);
19
23
  }
20
24
  catch (error) {
21
- await verifyBroadcastByHash({ chain, tx, error });
25
+ try {
26
+ return broadcastAccepted(await verifyBroadcastByHash({ chain, tx, error }));
27
+ }
28
+ catch (cause) {
29
+ return broadcastFailed(cause, isRetryableBroadcastCause(error));
30
+ }
22
31
  }
23
32
  };
24
33
  //# sourceMappingURL=tron.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tron.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/tron.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAExD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,MAAM,CAAC,MAAM,eAAe,GAAyC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;IAC3F,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B,GAAG,UAAU,8BAA8B,EAC3C;YACE,IAAI,EAAE,EAAE,CAAC,IAAI;SACd,CACF,CAAA;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO;gBACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrD,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,eAAe,CAAC,CAAA;YACpC,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAA;QAClD,CAAC;QAED,gGAAgG;QAChG,kGAAkG;QAClG,8FAA8F;QAC9F,OAAO,MAAM,CAAC,IAAI,CAAA;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IACnD,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"tron.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/tron.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAuB,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAChH,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,MAAM,CAAC,MAAM,eAAe,GAAyC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;IAC3F,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B,GAAG,UAAU,8BAA8B,EAC3C;YACE,IAAI,EAAE,EAAE,CAAC,IAAI;SACd,CACF,CAAA;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO;gBACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrD,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,eAAe,CAAC,CAAA;YACpC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAA;YACxD,IAAI,CAAC;gBACH,OAAO,iBAAiB,CAAC,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YAC7E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;QAED,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,OAAO,iBAAiB,CAAC,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAC7E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAA;QACjE,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAOlF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGjD,KAAK,kBAAkB,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AAetF,eAAO,MAAM,eAAe,EAAE,mBAAmB,CAAC,cAAc,CAuB/D,CAAA;AAQD,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,EAAE,IAAI,kBAAkB,KAAG,UAKlF,CAAA"}
1
+ {"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAOlF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAsC,mBAAmB,EAA6B,MAAM,aAAa,CAAA;AAGhH,KAAK,kBAAkB,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AAetF,eAAO,MAAM,eAAe,EAAE,mBAAmB,CAAC,cAAc,CA8B/D,CAAA;AAQD,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,EAAE,IAAI,kBAAkB,KAAG,UAKlF,CAAA"}
@@ -3,26 +3,36 @@ import { extractErrorMsg } from '@vultisig/lib-utils/error/extractErrorMsg';
3
3
  import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
4
4
  import { getChainKind } from '../../../ChainKind.js';
5
5
  import { getBlockchairBaseUrl } from '../../../chains/utxo/client/getBlockchairBaseUrl.js';
6
+ import { broadcastAccepted, broadcastFailed, isRetryableBroadcastCause } from '../resolver.js';
6
7
  import { verifyBroadcastByHash } from '../verifyBroadcastByHash.js';
7
8
  export const broadcastUtxoTx = async ({ chain, tx }) => {
8
- const url = `${getBlockchairBaseUrl(chain)}/push/transaction`;
9
- const encodedBytes = selectEncodedBytes(chain, tx);
10
- const response = await queryUrl(url, {
11
- body: {
12
- data: Buffer.from(encodedBytes).toString('hex'),
13
- },
14
- });
15
- if (response.data) {
16
- return response.data.transaction_hash;
9
+ try {
10
+ const url = `${getBlockchairBaseUrl(chain)}/push/transaction`;
11
+ const encodedBytes = selectEncodedBytes(chain, tx);
12
+ const response = await queryUrl(url, {
13
+ body: {
14
+ data: Buffer.from(encodedBytes).toString('hex'),
15
+ },
16
+ });
17
+ if (response.data) {
18
+ return broadcastAccepted(response.data.transaction_hash);
19
+ }
20
+ const error = 'context' in response ? response.context.error : extractErrorMsg(response);
21
+ // Any submit error past this point is ambiguous — it could be a benign MPC-race duplicate (another
22
+ // device already broadcast the same signed tx) OR a genuine failure (e.g. BadInputsUTxO: spent/invalid
23
+ // inputs). String-matching alone can't tell them apart, so verify against the real chain: the hash
24
+ // either resolves on-chain (the race case — success) or it doesn't (the real failure — returns it).
25
+ const broadcastError = new Error(`Failed to broadcast transaction: ${extractErrorMsg(error)}`);
26
+ try {
27
+ return broadcastAccepted(await verifyBroadcastByHash({ chain, tx, error: broadcastError }));
28
+ }
29
+ catch (cause) {
30
+ return broadcastFailed(cause, isRetryableBroadcastCause(broadcastError));
31
+ }
32
+ }
33
+ catch (cause) {
34
+ return broadcastFailed(cause, isRetryableBroadcastCause(cause));
17
35
  }
18
- const error = 'context' in response ? response.context.error : extractErrorMsg(response);
19
- // Any submit error past this point is ambiguous — it could be a benign MPC-race duplicate (another
20
- // device already broadcast the same signed tx) OR a genuine failure (e.g. BadInputsUTxO: spent/invalid
21
- // inputs). String-matching alone can't tell them apart, so verify against the real chain: the hash
22
- // either resolves on-chain (the race case — success) or it doesn't (the real failure — rethrows).
23
- const broadcastError = new Error(`Failed to broadcast transaction: ${extractErrorMsg(error)}`);
24
- await verifyBroadcastByHash({ chain, tx, error: broadcastError });
25
- return null;
26
36
  };
27
37
  const hasSigningResultV2 = (tx) => tx != null && typeof tx === 'object' && 'signingResultV2' in tx && !!tx.signingResultV2;
28
38
  export const selectEncodedBytes = (chain, tx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"utxo.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/utxo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAA;AAGvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAiBhE,MAAM,CAAC,MAAM,eAAe,GAAwC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;IAC1F,MAAM,GAAG,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,mBAAmB,CAAA;IAC7D,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAwB,CAAC,CAAA;IAExE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAA8B,GAAG,EAAE;QAChE,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;SAChD;KACF,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAA;IACvC,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;IAExF,mGAAmG;IACnG,uGAAuG;IACvG,mGAAmG;IACnG,kGAAkG;IAClG,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,oCAAoC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC9F,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;IACjE,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CACzB,EAAsB,EAGtB,EAAE,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,iBAAiB,IAAI,EAAE,IAAI,CAAC,CAAE,EAAU,CAAC,eAAe,CAAA;AAErG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAqB,EAAE,EAAsB,EAAc,EAAE;IAC9F,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,MAAM,IAAI,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC3F,OAAO,eAAe,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AACpC,CAAC,CAAA"}
1
+ {"version":3,"file":"utxo.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/utxo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAA;AAEvF,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAuB,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAChH,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAiBhE,MAAM,CAAC,MAAM,eAAe,GAAwC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;IAC1F,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,mBAAmB,CAAA;QAC7D,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAwB,CAAC,CAAA;QAExE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAA8B,GAAG,EAAE;YAChE,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;aAChD;SACF,CAAC,CAAA;QAEF,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC1D,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QAExF,mGAAmG;QACnG,uGAAuG;QACvG,mGAAmG;QACnG,oGAAoG;QACpG,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,oCAAoC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC9F,IAAI,CAAC;YACH,OAAO,iBAAiB,CAAC,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;QAC7F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,EAAE,yBAAyB,CAAC,cAAc,CAAC,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,eAAe,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAA;IACjE,CAAC;AACH,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CACzB,EAAsB,EAGtB,EAAE,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,iBAAiB,IAAI,EAAE,IAAI,CAAC,CAAE,EAAU,CAAC,eAAe,CAAA;AAErG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAqB,EAAE,EAAsB,EAAc,EAAE;IAC9F,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,MAAM,IAAI,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC3F,OAAO,eAAe,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AACpC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"transientRetry.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/broadcast/transientRetry.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED,eAAO,MAAM,yBAAyB,IAAI,CAAA;AAuE1C,eAAO,MAAM,yBAAyB,GAAI,OAAO,OAAO,KAAG,OA2C1D,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAU,CAAC,EAAE,WAAW,MAAM,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAkB3F,CAAA"}
1
+ {"version":3,"file":"transientRetry.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/broadcast/transientRetry.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED,eAAO,MAAM,yBAAyB,IAAI,CAAA;AAyE1C,eAAO,MAAM,yBAAyB,GAAI,OAAO,OAAO,KAAG,OA2C1D,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAU,CAAC,EAAE,WAAW,MAAM,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAkB3F,CAAA"}
@@ -63,8 +63,10 @@ const decodeTransportMessage = (message) => {
63
63
  }
64
64
  };
65
65
  const transientMessagePatterns = [
66
+ /\b(?:ECONNRESET|ECONNREFUSED|ECONNABORTED|ETIMEDOUT|ENETRESET|ENETUNREACH|EHOSTUNREACH|EAI_AGAIN)\b/i,
66
67
  /\bfetch failed\b/i,
67
68
  /\bfailed to fetch\b/i,
69
+ /\bload failed\b/i,
68
70
  /\bnetwork error\b/i,
69
71
  /\bnetwork request failed\b/i,
70
72
  /\brequest timed out\b/i,
@@ -99,7 +101,7 @@ export const isTransientBroadcastError = (error) => {
99
101
  return false;
100
102
  }
101
103
  if (current instanceof HttpResponseError) {
102
- return current.status === 429 || (current.status >= 500 && current.status <= 599);
104
+ return current.status === 408 || current.status === 429 || (current.status >= 500 && current.status <= 599);
103
105
  }
104
106
  if (typeof current === 'object') {
105
107
  const code = current.code;
@@ -107,7 +109,7 @@ export const isTransientBroadcastError = (error) => {
107
109
  return true;
108
110
  }
109
111
  const status = current.status;
110
- if (typeof status === 'number' && (status === 429 || (status >= 500 && status <= 599))) {
112
+ if (typeof status === 'number' && (status === 408 || status === 429 || (status >= 500 && status <= 599))) {
111
113
  return true;
112
114
  }
113
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transientRetry.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/broadcast/transientRetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transientRetry.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/broadcast/transientRetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AAE/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAA;AAEtE;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;IACpC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAA;AAC1C,MAAM,yBAAyB,GAAG,GAAG,CAAA;AAErC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,WAAW;IACX,cAAc;IACd,YAAY;IACZ,cAAc;IACd,cAAc;IACd,UAAU;IACV,WAAW;IACX,aAAa;IACb,WAAW;IACX,WAAW;IACX,WAAW;CACZ,CAAC,CAAA;AAEF,8EAA8E;AAC9E,kFAAkF;AAClF,sDAAsD;AACtD,EAAE;AACF,iFAAiF;AACjF,oFAAoF;AACpF,qFAAqF;AACrF,qEAAqE;AACrE,EAAE;AACF,uFAAuF;AACvF,sFAAsF;AACtF,kDAAkD;AAClD,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,CAAC,CAAC,CAAA;AAEjG,kFAAkF;AAClF,mFAAmF;AACnF,uFAAuF;AACvF,gFAAgF;AAChF,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAU,EAAE;IACzD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAA;IAC1C,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAA;IAChB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAG;IAC/B,sGAAsG;IACtG,mBAAmB;IACnB,sBAAsB;IACtB,kBAAkB;IAClB,oBAAoB;IACpB,6BAA6B;IAC7B,wBAAwB;IACxB,gBAAgB;IAChB,mBAAmB;IACnB,qBAAqB;IACrB,0CAA0C;IAC1C,yBAAyB;IACzB,wBAAwB;IACxB,kBAAkB;IAClB,0BAA0B;IAC1B,sBAAsB;CACvB,CAAA;AAED,MAAM,IAAI,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;AAE5F,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAW,EAAE;IAC3C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QAC3D,OAAQ,KAA6B,CAAC,KAAK,CAAA;IAC7C,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAc,EAAW,EAAE;IACnE,IAAI,OAAO,GAAY,KAAK,CAAA;IAC5B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAW,CAAA;IAE/B,OAAO,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAEjB,IAAI,OAAO,YAAY,2BAA2B,EAAE,CAAC;YACnD,yEAAyE;YACzE,sEAAsE;YACtE,OAAO,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAA;QACpC,CAAC;QAED,IAAI,OAAO,YAAY,oBAAoB,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,OAAO,YAAY,iBAAiB,EAAE,CAAC;YACzC,OAAO,OAAO,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,CAAA;QAC7G,CAAC;QAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,GAAI,OAA8B,CAAC,IAAI,CAAA;YACjD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACnG,OAAO,IAAI,CAAA;YACb,CAAC;YAED,MAAM,MAAM,GAAI,OAAgC,CAAC,MAAM,CAAA;YACvD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;gBACzG,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;QACjH,MAAM,OAAO,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACzF,IAAI,OAAO,IAAI,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC/E,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAAK,SAA2B,EAAc,EAAE;IAC9F,IAAI,SAAkB,CAAA;IAEtB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,yBAAyB,EAAE,OAAO,EAAE,EAAE,CAAC;QACtE,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAA;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAA;YAEjB,IAAI,OAAO,KAAK,yBAAyB,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/E,MAAM,KAAK,CAAA;YACb,CAAC;YAED,MAAM,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;IAED,MAAM,SAAS,CAAA;AACjB,CAAC,CAAA"}
@@ -28,6 +28,6 @@ export declare const broadcastVerificationBaseDelayMs = 500;
28
28
  * before the original error is rethrown. Verification is a safety net, never
29
29
  * a new failure mode.
30
30
  */
31
- export declare const verifyBroadcastByHash: <T extends Chain>({ chain, tx, error }: VerifyInput<T>) => Promise<void>;
31
+ export declare const verifyBroadcastByHash: <T extends Chain>({ chain, tx, error }: VerifyInput<T>) => Promise<string>;
32
32
  export {};
33
33
  //# sourceMappingURL=verifyBroadcastByHash.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verifyBroadcastByHash.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/broadcast/verifyBroadcastByHash.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAItD,KAAK,WAAW,CAAC,CAAC,SAAS,KAAK,IAAI;IAClC,KAAK,EAAE,CAAC,CAAA;IACR,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IACpB,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,eAAO,MAAM,gCAAgC,IAAI,CAAA;AACjD,eAAO,MAAM,gCAAgC,MAAM,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,qBAAqB,GAAU,CAAC,SAAS,KAAK,EAAE,sBAAsB,WAAW,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAoC/G,CAAA"}
1
+ {"version":3,"file":"verifyBroadcastByHash.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/broadcast/verifyBroadcastByHash.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAItD,KAAK,WAAW,CAAC,CAAC,SAAS,KAAK,IAAI;IAClC,KAAK,EAAE,CAAC,CAAA;IACR,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IACpB,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,eAAO,MAAM,gCAAgC,IAAI,CAAA;AACjD,eAAO,MAAM,gCAAgC,MAAM,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,qBAAqB,GAAU,CAAC,SAAS,KAAK,EAAE,sBAAsB,WAAW,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,MAAM,CAoCjH,CAAA"}
@@ -43,7 +43,7 @@ export const verifyBroadcastByHash = async ({ chain, tx, error }) => {
43
43
  if (result) {
44
44
  const isKnownPending = result.status === 'pending' && result.isKnown !== false;
45
45
  if (result.status === 'success' || isKnownPending) {
46
- return;
46
+ return hash;
47
47
  }
48
48
  if (result.status === 'error') {
49
49
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"verifyBroadcastByHash.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/broadcast/verifyBroadcastByHash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAIjD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAQvC,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAA;AACjD,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAmB,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAkB,EAAiB,EAAE;IAClH,IAAI,IAAY,CAAA;IAEhB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,KAAK,CAAA;IACb,CAAC;IAED,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,gCAAgC,EAAE,OAAO,EAAE,EAAE,CAAC;QAC7E,IAAI,MAA2D,CAAA;QAE/D,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAA;YAE9E,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,cAAc,EAAE,CAAC;gBAClD,OAAM;YACR,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC9B,MAAK;YACP,CAAC;QACH,CAAC;QAED,IAAI,OAAO,GAAG,gCAAgC,EAAE,CAAC;YAC/C,MAAM,KAAK,CAAC,gCAAgC,GAAG,OAAO,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IAED,MAAM,KAAK,CAAA;AACb,CAAC,CAAA"}
1
+ {"version":3,"file":"verifyBroadcastByHash.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/broadcast/verifyBroadcastByHash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAIjD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAQvC,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAA;AACjD,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAmB,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAkB,EAAmB,EAAE;IACpH,IAAI,IAAY,CAAA;IAEhB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,KAAK,CAAA;IACb,CAAC;IAED,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,gCAAgC,EAAE,OAAO,EAAE,EAAE,CAAC;QAC7E,IAAI,MAA2D,CAAA;QAE/D,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAA;YAE9E,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,cAAc,EAAE,CAAC;gBAClD,OAAO,IAAI,CAAA;YACb,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC9B,MAAK;YACP,CAAC;QACH,CAAC;QAED,IAAI,OAAO,GAAG,gCAAgC,EAAE,CAAC;YAC/C,MAAM,KAAK,CAAC,gCAAgC,GAAG,OAAO,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IAED,MAAM,KAAK,CAAA;AACb,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { blake2b } from '@noble/hashes/blake2b';
1
+ import { blake2b } from '@noble/hashes/blake2.js';
2
2
  import { cardanoCborEncoder } from '@vultisig/core-chain/chains/cardano/cip30/cborEncoder';
3
3
  export const getCardanoTxHash = tx => {
4
4
  // Prefer pre-computed txId (set by compileTx to avoid cbor-x
@@ -1 +1 @@
1
- {"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/hash/resolvers/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAA;AAI1F,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,wEAAwE;IACxE,qEAAqE;IACrE,qEAAqE;IACrE,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,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
+ {"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/hash/resolvers/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAA;AAI1F,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,wEAAwE;IACxE,qEAAqE;IACrE,qEAAqE;IACrE,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vultisig/core-chain",
3
- "version": "2.39.0",
3
+ "version": "4.0.0",
4
4
  "description": "Blockchain chain logic shared across Vultisig clients",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1315,6 +1315,16 @@
1315
1315
  "import": "./dist/coin/price/evm/getErc20Prices.js",
1316
1316
  "default": "./dist/coin/price/evm/getErc20Prices.js"
1317
1317
  },
1318
+ "./coin/price/evm/getEvmVaultTokenPrices": {
1319
+ "types": "./dist/coin/price/evm/getEvmVaultTokenPrices.d.ts",
1320
+ "import": "./dist/coin/price/evm/getEvmVaultTokenPrices.js",
1321
+ "default": "./dist/coin/price/evm/getEvmVaultTokenPrices.js"
1322
+ },
1323
+ "./coin/price/evm/getLifiTokenPrices": {
1324
+ "types": "./dist/coin/price/evm/getLifiTokenPrices.d.ts",
1325
+ "import": "./dist/coin/price/evm/getLifiTokenPrices.js",
1326
+ "default": "./dist/coin/price/evm/getLifiTokenPrices.js"
1327
+ },
1318
1328
  "./coin/price/getCoinPrices": {
1319
1329
  "types": "./dist/coin/price/getCoinPrices.d.ts",
1320
1330
  "import": "./dist/coin/price/getCoinPrices.js",
@@ -1325,6 +1335,11 @@
1325
1335
  "import": "./dist/coin/price/getCoinPricesWithChange.js",
1326
1336
  "default": "./dist/coin/price/getCoinPricesWithChange.js"
1327
1337
  },
1338
+ "./coin/price/getUsdToFiatRate": {
1339
+ "types": "./dist/coin/price/getUsdToFiatRate.d.ts",
1340
+ "import": "./dist/coin/price/getUsdToFiatRate.js",
1341
+ "default": "./dist/coin/price/getUsdToFiatRate.js"
1342
+ },
1328
1343
  "./coin/price/queryCoingeickoPrices": {
1329
1344
  "types": "./dist/coin/price/queryCoingeickoPrices.d.ts",
1330
1345
  "import": "./dist/coin/price/queryCoingeickoPrices.js",
@@ -2366,7 +2381,7 @@
2366
2381
  "@cosmjs/stargate": "^0.39.0",
2367
2382
  "@lifi/sdk": "^4.1.0",
2368
2383
  "@mysten/sui": "^2.22.1",
2369
- "@noble/hashes": "^1.8.0",
2384
+ "@noble/hashes": "^2.2.0",
2370
2385
  "@polkadot/api": "^16.5.6",
2371
2386
  "@polkadot/util": "^14.0.3",
2372
2387
  "@polkadot/util-crypto": "^14.0.3",
@@ -2376,7 +2391,7 @@
2376
2391
  "@ton/crypto": "^3.3.0",
2377
2392
  "@trustwallet/wallet-core": "^4.7.0",
2378
2393
  "@vultisig/core-config": "0.9.1",
2379
- "@vultisig/lib-utils": "0.10.5",
2394
+ "@vultisig/lib-utils": "0.10.6",
2380
2395
  "bip32": "^5.0.1",
2381
2396
  "bitcoinjs-lib": "^7.0.1",
2382
2397
  "bs58": "^6.0.0",