@vultisig/core-chain 2.25.1 → 2.26.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 (67) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/chains/cosmos/qbtc/getQbtcAccountInfo.d.ts +2 -0
  3. package/dist/chains/cosmos/qbtc/getQbtcAccountInfo.d.ts.map +1 -1
  4. package/dist/chains/cosmos/qbtc/getQbtcAccountInfo.js +17 -4
  5. package/dist/chains/cosmos/qbtc/getQbtcAccountInfo.js.map +1 -1
  6. package/dist/chains/cosmos/thor/brune-bond/config.d.ts +9 -0
  7. package/dist/chains/cosmos/thor/brune-bond/config.d.ts.map +1 -0
  8. package/dist/chains/cosmos/thor/brune-bond/config.js +9 -0
  9. package/dist/chains/cosmos/thor/brune-bond/config.js.map +1 -0
  10. package/dist/chains/evm/chainInfo.d.ts +2 -2
  11. package/dist/chains/evm/chainInfo.d.ts.map +1 -1
  12. package/dist/chains/evm/chainInfo.js +3 -1
  13. package/dist/chains/evm/chainInfo.js.map +1 -1
  14. package/dist/chains/ripple/address.d.ts +12 -0
  15. package/dist/chains/ripple/address.d.ts.map +1 -0
  16. package/dist/chains/ripple/address.js +44 -0
  17. package/dist/chains/ripple/address.js.map +1 -0
  18. package/dist/coin/find/resolvers/cosmos.d.ts.map +1 -1
  19. package/dist/coin/find/resolvers/cosmos.js +2 -1
  20. package/dist/coin/find/resolvers/cosmos.js.map +1 -1
  21. package/dist/coin/knownTokens/cosmos.d.ts.map +1 -1
  22. package/dist/coin/knownTokens/cosmos.js +6 -0
  23. package/dist/coin/knownTokens/cosmos.js.map +1 -1
  24. package/dist/coin/knownTokens/thorchain.d.ts.map +1 -1
  25. package/dist/coin/knownTokens/thorchain.js +5 -0
  26. package/dist/coin/knownTokens/thorchain.js.map +1 -1
  27. package/dist/swap/native/asset/toNativeSwapAsset.d.ts.map +1 -1
  28. package/dist/swap/native/asset/toNativeSwapAsset.js +9 -1
  29. package/dist/swap/native/asset/toNativeSwapAsset.js.map +1 -1
  30. package/dist/tx/broadcast/index.d.ts.map +1 -1
  31. package/dist/tx/broadcast/index.js +10 -1
  32. package/dist/tx/broadcast/index.js.map +1 -1
  33. package/dist/tx/broadcast/resolvers/cardano.d.ts +5 -0
  34. package/dist/tx/broadcast/resolvers/cardano.d.ts.map +1 -1
  35. package/dist/tx/broadcast/resolvers/cardano.js +24 -4
  36. package/dist/tx/broadcast/resolvers/cardano.js.map +1 -1
  37. package/dist/tx/broadcast/resolvers/ripple.d.ts +1 -0
  38. package/dist/tx/broadcast/resolvers/ripple.d.ts.map +1 -1
  39. package/dist/tx/broadcast/resolvers/ripple.js +12 -4
  40. package/dist/tx/broadcast/resolvers/ripple.js.map +1 -1
  41. package/dist/tx/broadcast/transientRetry.d.ts +4 -0
  42. package/dist/tx/broadcast/transientRetry.d.ts.map +1 -0
  43. package/dist/tx/broadcast/transientRetry.js +82 -0
  44. package/dist/tx/broadcast/transientRetry.js.map +1 -0
  45. package/dist/tx/status/index.d.ts +3 -8
  46. package/dist/tx/status/index.d.ts.map +1 -1
  47. package/dist/tx/status/index.js.map +1 -1
  48. package/dist/tx/status/resolver.d.ts +4 -2
  49. package/dist/tx/status/resolver.d.ts.map +1 -1
  50. package/dist/tx/status/resolvers/bittensor.js +1 -1
  51. package/dist/tx/status/resolvers/bittensor.js.map +1 -1
  52. package/dist/tx/status/resolvers/qbtc.js +1 -1
  53. package/dist/tx/status/resolvers/qbtc.js.map +1 -1
  54. package/dist/tx/status/resolvers/solana.d.ts.map +1 -1
  55. package/dist/tx/status/resolvers/solana.js +16 -2
  56. package/dist/tx/status/resolvers/solana.js.map +1 -1
  57. package/dist/tx/status/resolvers/sui.js +2 -2
  58. package/dist/tx/status/resolvers/sui.js.map +1 -1
  59. package/dist/tx/status/resolvers/ton.js +1 -1
  60. package/dist/tx/status/resolvers/ton.js.map +1 -1
  61. package/dist/tx/status/resolvers/tron.d.ts.map +1 -1
  62. package/dist/tx/status/resolvers/tron.js +9 -3
  63. package/dist/tx/status/resolvers/tron.js.map +1 -1
  64. package/dist/utils/isValidAddress.d.ts.map +1 -1
  65. package/dist/utils/isValidAddress.js +4 -0
  66. package/dist/utils/isValidAddress.js.map +1 -1
  67. package/package.json +17 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # @vultisig/core-chain
2
2
 
3
+ ## 2.26.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#1265](https://github.com/vultisig/vultisig-sdk/pull/1265) [`b6fbbe3`](https://github.com/vultisig/vultisig-sdk/commit/b6fbbe3705d6aae02b483de0b7dd1b8a097acd6b) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Retry transient broadcast transport failures at the dispatcher for non-EVM,
8
+ non-Solana chains with a bounded retry budget.
9
+
10
+ - [#1317](https://github.com/vultisig/vultisig-sdk/pull/1317) [`a08a52b`](https://github.com/vultisig/vultisig-sdk/commit/a08a52bb0933fd5470ea849613e147baa29286ad) Thanks [@Ehsan-saradar](https://github.com/Ehsan-saradar)! - Register the Rujira liquid-bond THORChain tokens bRUNE (`x/brune`) and ybRUNE (`x/staking-x/brune`), and add the `bruneBondConfig` staking-contract config. bRUNE is auto-discovered as a normal wallet token priced against RUNE (`priceProviderId: 'thorchain'`); the ybRUNE auto-compounding staking receipt is excluded from wallet discovery and carries native-token metadata for backfill.
11
+
12
+ - [#1269](https://github.com/vultisig/vultisig-sdk/pull/1269) [`dda2e90`](https://github.com/vultisig/vultisig-sdk/commit/dda2e9084859eae02dd16149ac3ab2240a7d37e5) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Allow Solana status checks to return terminal `not_found` for unknown
13
+ signatures whose `lastValidBlockHeight` has expired.
14
+
15
+ - [#1128](https://github.com/vultisig/vultisig-sdk/pull/1128) [`f885e91`](https://github.com/vultisig/vultisig-sdk/commit/f885e91da06674dbef2ca1495291ca7d201e4c58) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Add first-class XRP DestinationTag support alongside transaction memos.
16
+
17
+ ### Patch Changes
18
+
19
+ - [#1306](https://github.com/vultisig/vultisig-sdk/pull/1306) [`747b6c6`](https://github.com/vultisig/vultisig-sdk/commit/747b6c68a81e14f3242003f39a4b58499ef44a21) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Preserve full uint64 Cosmos account numbers and sequences through additive exact QBTC bigint fields and WalletCore signing inputs while retaining the legacy numeric account fields.
20
+
21
+ - [#1272](https://github.com/vultisig/vultisig-sdk/pull/1272) [`9e366db`](https://github.com/vultisig/vultisig-sdk/commit/9e366db273e87e62d260867ea6702466b325d7fc) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Retry Cardano current-slot lookup before broadcast and submit when the tip guard is temporarily unavailable, while still blocking genuinely stale signed transactions.
22
+
23
+ - [#1324](https://github.com/vultisig/vultisig-sdk/pull/1324) [`30b76c6`](https://github.com/vultisig/vultisig-sdk/commit/30b76c6d0fbe7f0ad3015fee9bc77b5ee9fa7927) Thanks [@Ehsan-saradar](https://github.com/Ehsan-saradar)! - Fix broken Hyperliquid block-explorer links by pointing them at hypurrscan's `/evm/` section (`https://hypurrscan.io/evm/tx/<hash>` and `/evm/address/<addr>`). The bare `/tx/` path returned a hypurrscan server error.
24
+
25
+ - [#1261](https://github.com/vultisig/vultisig-sdk/pull/1261) [`846d6c2`](https://github.com/vultisig/vultisig-sdk/commit/846d6c24e96ba4f8133721f1030dd9d023376570) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Treat XRPL `terQUEUED` submit results as in-flight instead of hard broadcast failures while preserving rejection behavior for other engine results.
26
+
27
+ - [#1260](https://github.com/vultisig/vultisig-sdk/pull/1260) [`eb11e50`](https://github.com/vultisig/vultisig-sdk/commit/eb11e50b2f478fbb21db2970f8616d5f296b49f5) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Mark Sui, Ton, Tron, Bittensor, and QBTC status lookup misses as `isKnown:false` so broadcast verification rethrows rejected sends instead of reporting false success.
28
+
29
+ - [#1326](https://github.com/vultisig/vultisig-sdk/pull/1326) [`4815346`](https://github.com/vultisig/vultisig-sdk/commit/4815346d794f4a198e84a562c503b3bdd5ae10b8) Thanks [@Ehsan-saradar](https://github.com/Ehsan-saradar)! - Fix native swaps from THORChain secured assets. Swap quotes now emit secured-asset notation (`CHAIN-ASSET`, e.g. `XRP-XRP`, `ETH-USDC-0x…`) instead of the L1 pool notation (`CHAIN.ASSET`) that THORNode rejects for `thor1`-settling swaps, and the spent secured asset is encoded correctly in the `MsgDeposit` (L1 chain and symbol derived from the denom, `secured` flag set). Applies to all secured assets and swap directions.
30
+
3
31
  ## 2.25.1
4
32
 
5
33
  ### Patch Changes
@@ -4,6 +4,8 @@ export declare const getQbtcAccountInfo: ({ address }: {
4
4
  address: string;
5
5
  accountNumber: number;
6
6
  sequence: number;
7
+ accountNumberBigInt: bigint;
8
+ sequenceBigInt: bigint;
7
9
  latestBlock: string;
8
10
  }>;
9
11
  //# sourceMappingURL=getQbtcAccountInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getQbtcAccountInfo.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cosmos/qbtc/getQbtcAccountInfo.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,kBAAkB,GAAU,aAAa;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE;;;;;EAmBxE,CAAA"}
1
+ {"version":3,"file":"getQbtcAccountInfo.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cosmos/qbtc/getQbtcAccountInfo.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,kBAAkB,GAAU,aAAa;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE;;;;;;;EAqBxE,CAAA"}
@@ -1,20 +1,33 @@
1
1
  import { qbtcRestUrl } from '@vultisig/core-chain/chains/cosmos/qbtc/tendermintRpcUrl';
2
2
  import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
3
+ const maxUint64 = (1n << 64n) - 1n;
4
+ const parseUint64 = (value, field) => {
5
+ if (typeof value !== 'string' || !/^\d+$/.test(value)) {
6
+ throw new Error(`Invalid QBTC ${field}: expected an unsigned integer`);
7
+ }
8
+ const parsed = BigInt(value);
9
+ if (parsed > maxUint64) {
10
+ throw new Error(`Invalid QBTC ${field}: exceeds uint64`);
11
+ }
12
+ return parsed;
13
+ };
3
14
  export const getQbtcAccountInfo = async ({ address }) => {
4
15
  const [accountData, blockData] = await Promise.all([
5
16
  queryUrl(`${qbtcRestUrl}/cosmos/auth/v1beta1/accounts/${address}`),
6
17
  queryUrl(`${qbtcRestUrl}/cosmos/base/tendermint/v1beta1/blocks/latest`),
7
18
  ]);
8
- const accountNumber = Number(accountData.account.account_number);
9
- const sequence = Number(accountData.account.sequence);
19
+ const accountNumberBigInt = parseUint64(accountData.account.account_number, 'account_number');
20
+ const sequenceBigInt = parseUint64(accountData.account.sequence, 'sequence');
10
21
  const blockTimestampStr = blockData.block.header.time;
11
22
  const blockTimestampNs = BigInt(new Date(blockTimestampStr).getTime()) * 1000000n;
12
23
  const timeoutNs = blockTimestampNs + 600000000000n;
13
24
  const latestBlock = `${blockData.block.header.height}_${timeoutNs}`;
14
25
  return {
15
26
  address,
16
- accountNumber,
17
- sequence,
27
+ accountNumber: Number(accountNumberBigInt),
28
+ sequence: Number(sequenceBigInt),
29
+ accountNumberBigInt,
30
+ sequenceBigInt,
18
31
  latestBlock,
19
32
  };
20
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getQbtcAccountInfo.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cosmos/qbtc/getQbtcAccountInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0DAA0D,CAAA;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAmB7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EAAE,OAAO,EAAuB,EAAE,EAAE;IAC3E,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACjD,QAAQ,CAAkB,GAAG,WAAW,iCAAiC,OAAO,EAAE,CAAC;QACnF,QAAQ,CAAgB,GAAG,WAAW,+CAA+C,CAAC;KACvF,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrD,MAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAA;IACrD,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,QAAU,CAAA;IACnF,MAAM,SAAS,GAAG,gBAAgB,GAAG,aAAgB,CAAA;IACrD,MAAM,WAAW,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAA;IAEnE,OAAO;QACL,OAAO;QACP,aAAa;QACb,QAAQ;QACR,WAAW;KACZ,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"getQbtcAccountInfo.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cosmos/qbtc/getQbtcAccountInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0DAA0D,CAAA;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAmB7D,MAAM,SAAS,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAElC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,KAAa,EAAU,EAAE;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,gCAAgC,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,kBAAkB,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EAAE,OAAO,EAAuB,EAAE,EAAE;IAC3E,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACjD,QAAQ,CAAkB,GAAG,WAAW,iCAAiC,OAAO,EAAE,CAAC;QACnF,QAAQ,CAAgB,GAAG,WAAW,+CAA+C,CAAC;KACvF,CAAC,CAAA;IAEF,MAAM,mBAAmB,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAA;IAC7F,MAAM,cAAc,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAC5E,MAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAA;IACrD,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,QAAU,CAAA;IACnF,MAAM,SAAS,GAAG,gBAAgB,GAAG,aAAgB,CAAA;IACrD,MAAM,WAAW,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAA;IAEnE,OAAO;QACL,OAAO;QACP,aAAa,EAAE,MAAM,CAAC,mBAAmB,CAAC;QAC1C,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC;QAChC,mBAAmB;QACnB,cAAc;QACd,WAAW;KACZ,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ export declare const bruneBondConfig: {
2
+ readonly contract: "thor179fex2rxd45caedmz4hxsnu42sw20lu0djyh4yukyh965sq8muuqptru2g";
3
+ readonly depositDenom: "x/brune";
4
+ readonly depositDecimals: 8;
5
+ readonly shareDenom: "x/staking-x/brune";
6
+ readonly shareTicker: "ybRUNE";
7
+ readonly shareDecimals: 8;
8
+ };
9
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/chains/cosmos/thor/brune-bond/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;CAOlB,CAAA"}
@@ -0,0 +1,9 @@
1
+ export const bruneBondConfig = {
2
+ contract: 'thor179fex2rxd45caedmz4hxsnu42sw20lu0djyh4yukyh965sq8muuqptru2g',
3
+ depositDenom: 'x/brune',
4
+ depositDecimals: 8,
5
+ shareDenom: 'x/staking-x/brune',
6
+ shareTicker: 'ybRUNE',
7
+ shareDecimals: 8,
8
+ };
9
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/chains/cosmos/thor/brune-bond/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,iEAAiE;IAC3E,YAAY,EAAE,SAAS;IACvB,eAAe,EAAE,CAAC;IAClB,UAAU,EAAE,mBAAmB;IAC/B,WAAW,EAAE,QAAQ;IACrB,aAAa,EAAE,CAAC;CACR,CAAA"}
@@ -1,10 +1,10 @@
1
1
  import { EvmChain } from '@vultisig/core-chain/Chain';
2
- export declare const hyperliquidBlockExplorerUrl = "https://hypurrscan.io";
2
+ export declare const hyperliquidBlockExplorerUrl = "https://hypurrscan.io/evm";
3
3
  export declare const hyperliquid: {
4
4
  blockExplorers: {
5
5
  readonly default: {
6
6
  readonly name: "Hypurrscan";
7
- readonly url: "https://hypurrscan.io";
7
+ readonly url: "https://hypurrscan.io/evm";
8
8
  };
9
9
  };
10
10
  blockTime?: number | undefined | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"chainInfo.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/evm/chainInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAwBrD,eAAO,MAAM,2BAA2B,0BAA0B,CAAA;AAGlE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBtB,CAAA;AAoCF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;mBA5BZ,CAAC;4BACV,CAAC;kBACG,CAAC;uBACY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCpB,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,QAAQ,KAAG,MAA+D,CAAA;AAE9G,eAAO,MAAM,aAAa,GAAI,OAAO,QAAQ,KAAG,MAE/C,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,QAAQ,GAAG,SAEjE,CAAA"}
1
+ {"version":3,"file":"chainInfo.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/evm/chainInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AA0BrD,eAAO,MAAM,2BAA2B,8BAA8B,CAAA;AAGtE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBtB,CAAA;AAoCF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;mBAhCS,CAAC;4BAE9B,CAAC;kBACD,CAAC;uBACO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCZ,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,QAAQ,KAAG,MAA+D,CAAA;AAE9G,eAAO,MAAM,aAAa,GAAI,OAAO,QAAQ,KAAG,MAE/C,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,QAAQ,GAAG,SAEjE,CAAA"}
@@ -8,7 +8,9 @@ import { recordMap } from '@vultisig/lib-utils/record/recordMap';
8
8
  import { defineChain } from 'viem';
9
9
  import { arbitrum, avalanche, base, blast, bsc, cronos, mainnet, mantle, optimism, polygon, sei, zksync, } from 'viem/chains';
10
10
  const hyperliquidRpcUrl = `${rootApiUrl}/hyperevm/`;
11
- export const hyperliquidBlockExplorerUrl = 'https://hypurrscan.io';
11
+ // HyperEVM transactions and addresses live under hypurrscan's `/evm/` section.
12
+ // The bare `https://hypurrscan.io/tx/<hash>` path returns a server error.
13
+ export const hyperliquidBlockExplorerUrl = 'https://hypurrscan.io/evm';
12
14
  const hyperliquidNativeCoin = chainFeeCoin[EvmChain.Hyperliquid];
13
15
  export const hyperliquid = defineChain({
14
16
  id: 999,
@@ -1 +1 @@
1
- {"version":3,"file":"chainInfo.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/evm/chainInfo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chainInfo.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/evm/chainInfo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export type RippleDestination = {
2
+ address: string;
3
+ destinationTag?: number;
4
+ };
5
+ /** Decode a mainnet XLS-5d X-address into the classic address and optional tag. */
6
+ export declare const decodeRippleXAddress: (address: string) => RippleDestination;
7
+ export declare const isValidRippleXAddress: (address: string) => boolean;
8
+ /** Normalize a classic address or mainnet X-address for an XRP Payment. */
9
+ export declare const normalizeRippleDestination: (address: string) => RippleDestination;
10
+ /** Encode a mainnet X-address, primarily for UI round trips and test vectors. */
11
+ export declare const encodeRippleXAddress: (address: string, destinationTag?: number) => string;
12
+ //# sourceMappingURL=address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/ripple/address.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAOD,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,iBAWtD,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,KAAG,OAOvD,CAAA;AAED,2EAA2E;AAC3E,eAAO,MAAM,0BAA0B,GAAI,SAAS,MAAM,KAAG,iBAI5D,CAAA;AAED,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,EAAE,iBAAiB,MAAM,KAAG,MAQ/E,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { classicAddressToXAddress, isValidXAddress, xAddressToClassicAddress } from 'ripple-address-codec';
2
+ const assertSupportedTag = (tag) => {
3
+ if (tag === false)
4
+ return undefined;
5
+ return tag;
6
+ };
7
+ /** Decode a mainnet XLS-5d X-address into the classic address and optional tag. */
8
+ export const decodeRippleXAddress = (address) => {
9
+ const value = address.trim();
10
+ if (!isValidXAddress(value))
11
+ throw new Error('Invalid XRP X-address');
12
+ const decoded = xAddressToClassicAddress(value);
13
+ if (decoded.test)
14
+ throw new Error('XRP testnet X-addresses are not supported');
15
+ return {
16
+ address: decoded.classicAddress,
17
+ destinationTag: assertSupportedTag(decoded.tag),
18
+ };
19
+ };
20
+ export const isValidRippleXAddress = (address) => {
21
+ try {
22
+ decodeRippleXAddress(address);
23
+ return true;
24
+ }
25
+ catch {
26
+ return false;
27
+ }
28
+ };
29
+ /** Normalize a classic address or mainnet X-address for an XRP Payment. */
30
+ export const normalizeRippleDestination = (address) => {
31
+ const value = address.trim();
32
+ if (value.startsWith('X') || value.startsWith('T'))
33
+ return decodeRippleXAddress(value);
34
+ return { address: value };
35
+ };
36
+ /** Encode a mainnet X-address, primarily for UI round trips and test vectors. */
37
+ export const encodeRippleXAddress = (address, destinationTag) => {
38
+ if (destinationTag !== undefined &&
39
+ (!Number.isInteger(destinationTag) || destinationTag < 0 || destinationTag > 0xffffffff)) {
40
+ throw new Error('XRP X-address DestinationTag must be a nonnegative UInt32 integer');
41
+ }
42
+ return classicAddressToXAddress(address, destinationTag ?? false, false);
43
+ };
44
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/ripple/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAO1G,MAAM,kBAAkB,GAAG,CAAC,GAAmB,EAAsB,EAAE;IACrE,IAAI,GAAG,KAAK,KAAK;QAAE,OAAO,SAAS,CAAA;IACnC,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,mFAAmF;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAqB,EAAE;IACzE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAC5B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAErE,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAA;IAC/C,IAAI,OAAO,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAE9E,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,cAAc;QAC/B,cAAc,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC;KAChD,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAW,EAAE;IAChE,IAAI,CAAC;QACH,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,OAAe,EAAqB,EAAE;IAC/E,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAC5B,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAA;IACtF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AAC3B,CAAC,CAAA;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAE,cAAuB,EAAU,EAAE;IACvF,IACE,cAAc,KAAK,SAAS;QAC5B,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,UAAU,CAAC,EACxF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;IACtF,CAAC;IACD,OAAO,wBAAwB,CAAC,OAAO,EAAE,cAAc,IAAI,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1E,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/find/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAOxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AA0D3E,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,WAAW,CAyC1D,CAAA"}
1
+ {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/find/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAQxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AA0D3E,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,WAAW,CA0C1D,CAAA"}
@@ -2,6 +2,7 @@ import { CosmosChain } from '@vultisig/core-chain/Chain';
2
2
  import { getAllCosmosBalances } from '@vultisig/core-chain/chains/cosmos/account/getAllCosmosBalances';
3
3
  import { getCosmosClient } from '@vultisig/core-chain/chains/cosmos/client';
4
4
  import { cosmosFeeCoinDenom } from '@vultisig/core-chain/chains/cosmos/cosmosFeeCoinDenom';
5
+ import { bruneBondConfig } from '@vultisig/core-chain/chains/cosmos/thor/brune-bond/config';
5
6
  import { tcyAutoCompounderConfig } from '@vultisig/core-chain/chains/cosmos/thor/tcy-autocompound/config';
6
7
  import { chainFeeCoin } from '@vultisig/core-chain/coin/chainFeeCoin';
7
8
  import { getCosmosTokenMetadata } from '@vultisig/core-chain/coin/token/metadata/resolvers/cosmos';
@@ -59,7 +60,7 @@ export const findCosmosCoins = async ({ address, chain }) => {
59
60
  // today's behavior.
60
61
  const { data: lcdBalances } = await attempt(getAllCosmosBalances(chain, address));
61
62
  const balances = lcdBalances ?? (await (await getCosmosClient(chain)).getAllBalances(address));
62
- const coins = await Promise.all(without(balances.map(({ denom }) => denom), cosmosFeeCoinDenom[chain], tcyAutoCompounderConfig.shareDenom).map(denom => getDiscoveredDenom(chain, denom)));
63
+ const coins = await Promise.all(without(balances.map(({ denom }) => denom), cosmosFeeCoinDenom[chain], tcyAutoCompounderConfig.shareDenom, bruneBondConfig.shareDenom).map(denom => getDiscoveredDenom(chain, denom)));
63
64
  return without(coins.map(({ denom, metadata, isHidden }) => {
64
65
  const coinTicker = (metadata?.ticker || getFallbackTicker(denom))?.toUpperCase();
65
66
  const coinIsHidden = isHidden ?? metadata?.isHidden;
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/find/resolvers/cosmos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/find/resolvers/cosmos.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/coin/knownTokens/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,WAAW,EAAE,MAAM,aAAa,CAAA;AAIhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAE3C,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAwOpF,CAAA"}
1
+ {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/coin/knownTokens/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,WAAW,EAAE,MAAM,aAAa,CAAA;AAIhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAE3C,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CA8OpF,CAAA"}
@@ -36,6 +36,12 @@ export const knownCosmosTokens = {
36
36
  decimals: 8,
37
37
  priceProviderId: 'tcy',
38
38
  },
39
+ 'x/brune': {
40
+ ticker: 'bRUNE',
41
+ logo: 'brune',
42
+ decimals: 8,
43
+ priceProviderId: 'thorchain',
44
+ },
39
45
  'x/ruji': {
40
46
  ticker: 'RUJI',
41
47
  logo: 'ruji',
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/coin/knownTokens/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAe,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,sCAAsC,EAAE,MAAM,uCAAuC,CAAA;AAC9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAA;AACrG,OAAO,EAAE,2BAA2B,EAAE,MAAM,kEAAkE,CAAA;AAG9G,MAAM,CAAC,MAAM,iBAAiB,GAA2D;IACvF,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QACjB,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,CAAC;SACZ;QACD,KAAK,EAAE;YACL,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,CAAC;SACZ;KACF;IACD,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;QACpB,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,UAAU;SAC5B;QACD,4CAA4C,EAAE;YAC5C,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,WAAW;SAC7B;KACF;IACD,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QACjB,GAAG,EAAE;YACH,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,KAAK;SACvB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,QAAQ;SAC1B;QACD,eAAe,EAAE;YACf,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,KAAK;SACvB;QACD,GAAG,sBAAsB;QACzB,GAAG,2BAA2B;KAC/B;IACD,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACd,sEAAsE,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,UAAU;SAC5B;QACD,sEAAsE,EAAE;YACtE,GAAG,sCAAsC,CAAC,IAAI;YAC9C,QAAQ,EAAE,CAAC;SACZ;QACD,sEAAsE,EAAE;YACtE,GAAG,sCAAsC,CAAC,GAAG;YAC7C,QAAQ,EAAE,CAAC;SACZ;QACD,sEAAsE,EAAE;YACtE,GAAG,sCAAsC,CAAC,IAAI;YAC9C,QAAQ,EAAE,CAAC;SACZ;QACD,sEAAsE,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,KAAK;SACvB;QACD,sEAAsE,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,eAAe;SACjC;QACD,sEAAsE,EAAE;YACtE,GAAG,sCAAsC,CAAC,IAAI;YAC9C,QAAQ,EAAE,CAAC;SACZ;QACD,sEAAsE,EAAE;YACtE,GAAG,sCAAsC,CAAC,KAAK;YAC/C,QAAQ,EAAE,CAAC;SACZ;QACD,sEAAsE,EAAE;YACtE,QAAQ,EAAE,CAAC;YACX,GAAG,sCAAsC,CAAC,IAAI;SAC/C;KACF;IACD,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACf,IAAI,EAAE;YACJ,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,KAAK;SACvB;QACD,8EAA8E,EAAE;YAC9E,GAAG,sCAAsC,CAAC,GAAG;YAC7C,QAAQ,EAAE,CAAC;SACZ;QACD,mEAAmE;QACnE,qEAAqE;QACrE,+EAA+E;QAC/E,sEAAsE,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,QAAQ;SAC1B;QACD,sEAAsE,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,UAAU;SAC5B;QACD,sEAAsE,EAAE;YACtE,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,UAAU;SAC5B;QACD,sEAAsE,EAAE;YACtE,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,oBAAoB;SACtC;QACD,sEAAsE,EAAE;YACtE,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,oBAAoB;SACtC;QACD,sEAAsE,EAAE;YACtE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,UAAU;SAC5B;KACF;IACD,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACd,gFAAgF,EAAE;YAChF,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,KAAK;SACvB;QACD,6DAA6D,EAAE;YAC7D,GAAG,sCAAsC,CAAC,IAAI;YAC9C,QAAQ,EAAE,CAAC;SACZ;QACD,6DAA6D,EAAE;YAC7D,GAAG,sCAAsC,CAAC,IAAI;YAC9C,QAAQ,EAAE,CAAC;SACZ;QACD,6DAA6D,EAAE;YAC7D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,UAAU;SAC5B;QACD,sEAAsE,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,UAAU;SAC5B;QACD,sEAAsE,EAAE;YACtE,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,cAAc;SAChC;QACD,sEAAsE,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,YAAY;SAC9B;QACD,8DAA8D,EAAE;YAC9D,GAAG,sCAAsC,CAAC,KAAK;YAC/C,QAAQ,EAAE,CAAC;SACZ;QACD,iFAAiF,EAAE;YACjF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,eAAe;SACjC;QACD,6DAA6D,EAAE;YAC7D,GAAG,sCAAsC,CAAC,IAAI;YAC9C,QAAQ,EAAE,CAAC;SACZ;QAED,sEAAsE,EAAE;YACtE,GAAG,sCAAsC,CAAC,GAAG;YAC7C,QAAQ,EAAE,CAAC;SACZ;QACD,iFAAiF,EAAE;YACjF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,QAAQ;SAC1B;KACF;IACD,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACb,gEAAgE,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,KAAK;SACvB;QACD,sEAAsE,EAAE;YACtE,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,cAAc;SAChC;QACD,gEAAgE,EAAE;YAChE,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,cAAc;SAChC;KACF;IACD,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE;IAChB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE;IACjB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE;CAClB,CAAA"}
1
+ {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/coin/knownTokens/cosmos.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"thorchain.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/coin/knownTokens/thorchain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA0PtE,CAAA"}
1
+ {"version":3,"file":"thorchain.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/coin/knownTokens/thorchain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA+PtE,CAAA"}
@@ -4,6 +4,11 @@ export const thorchainNativeTokensMetadata = {
4
4
  logo: 'ruji',
5
5
  decimals: 8,
6
6
  },
7
+ 'x/staking-x/brune': {
8
+ ticker: 'ybRUNE',
9
+ logo: 'ybrune',
10
+ decimals: 8,
11
+ },
7
12
  'thor.nami': {
8
13
  ticker: 'NAMI',
9
14
  logo: 'nami.png',
@@ -1 +1 @@
1
- {"version":3,"file":"thorchain.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/coin/knownTokens/thorchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thorchain.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/coin/knownTokens/thorchain.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"toNativeSwapAsset.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/asset/toNativeSwapAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAA;AA8DhF,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,GAAI,uBAAuB,OAAO,GAAG,gBAAgB,KAAG,MAoBrF,CAAA"}
1
+ {"version":3,"file":"toNativeSwapAsset.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/asset/toNativeSwapAsset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAA;AAqEhF,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,GAAI,uBAAuB,OAAO,GAAG,gBAAgB,KAAG,MAoBrF,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { Chain } from '@vultisig/core-chain/Chain';
1
2
  import { isOneOf } from '@vultisig/lib-utils/array/isOneOf';
2
3
  import { shouldBePresent } from '@vultisig/lib-utils/assert/shouldBePresent';
3
4
  import { isFeeCoin } from '../../../coin/utils/isFeeCoin.js';
@@ -28,7 +29,14 @@ const normalizeNativeSwapChainDenom = ({ chain, id, ticker, }) => {
28
29
  const swapId = getSecuredAssetSwapId(segments[0]);
29
30
  if (swapId) {
30
31
  const rest = segments.slice(1).join('-');
31
- return `${swapId}.${formatSecuredAssetRest(rest)}`;
32
+ // THORChain secured assets settle on THORChain (a thor1 destination), so
33
+ // they must use secured-asset notation `CHAIN-ASSET`, not L1 pool
34
+ // notation `CHAIN.ASSET`. With the dot form THORNode reads the target as
35
+ // the L1 asset and rejects the swap ("swap destination address is not the
36
+ // same chain as the target asset"). MayaChain has no secured assets, so
37
+ // keep its existing dot notation.
38
+ const separator = chain === Chain.THORChain ? '-' : '.';
39
+ return `${swapId}${separator}${formatSecuredAssetRest(rest)}`;
32
40
  }
33
41
  }
34
42
  if (!denom.includes('-') && !denom.includes('/')) {
@@ -1 +1 @@
1
- {"version":3,"file":"toNativeSwapAsset.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/asset/toNativeSwapAsset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toNativeSwapAsset.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/native/asset/toNativeSwapAsset.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/broadcast/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AA6BhD,eAAO,MAAM,WAAW,EAAE,mBAA0E,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/broadcast/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAgChD,eAAO,MAAM,WAAW,EAAE,mBASzB,CAAA"}
@@ -11,6 +11,7 @@ import { broadcastSuiTx } from './resolvers/sui.js';
11
11
  import { broadcastTonTx } from './resolvers/ton.js';
12
12
  import { broadcastTronTx } from './resolvers/tron.js';
13
13
  import { broadcastUtxoTx } from './resolvers/utxo.js';
14
+ import { withTransientBroadcastRetry } from './transientRetry.js';
14
15
  const resolvers = {
15
16
  bittensor: broadcastBittensorTx,
16
17
  cardano: broadcastCardanoTx,
@@ -25,5 +26,13 @@ const resolvers = {
25
26
  utxo: broadcastUtxoTx,
26
27
  tron: broadcastTronTx,
27
28
  };
28
- export const broadcastTx = input => resolvers[getChainKind(input.chain)](input);
29
+ const hasResolverOwnedRetry = (chainKind) => chainKind === 'evm' || chainKind === 'solana';
30
+ export const broadcastTx = input => {
31
+ const chainKind = getChainKind(input.chain);
32
+ const resolver = resolvers[chainKind];
33
+ if (hasResolverOwnedRetry(chainKind)) {
34
+ return resolver(input);
35
+ }
36
+ return withTransientBroadcastRetry(() => resolver(input));
37
+ };
29
38
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/broadcast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,SAAS,GAAgD;IAC7D,SAAS,EAAE,oBAAoB;IAC/B,OAAO,EAAE,kBAAkB;IAC3B,MAAM,EAAE,iBAAiB;IACzB,GAAG,EAAE,cAAc;IACnB,QAAQ,EAAE,mBAAmB;IAC7B,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,iBAAiB;IACzB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,cAAc;IACnB,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;CACtB,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAwB,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/broadcast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AAE9D,MAAM,SAAS,GAAgD;IAC7D,SAAS,EAAE,oBAAoB;IAC/B,OAAO,EAAE,kBAAkB;IAC3B,MAAM,EAAE,iBAAiB;IACzB,GAAG,EAAE,cAAc;IACnB,QAAQ,EAAE,mBAAmB;IAC7B,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,iBAAiB;IACzB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,cAAc;IACnB,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;CACtB,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,SAAoB,EAAW,EAAE,CAAC,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,QAAQ,CAAA;AAE9G,MAAM,CAAC,MAAM,WAAW,GAAwB,KAAK,CAAC,EAAE;IACtD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;IAErC,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,2BAA2B,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;AAC3D,CAAC,CAAA"}
@@ -1,4 +1,9 @@
1
1
  import { OtherChain } from '@vultisig/core-chain/Chain';
2
2
  import { BroadcastTxResolver } from '../resolver.js';
3
+ export declare const getCardanoTtlFreshnessError: ({ currentSlot, ttl, }: {
4
+ currentSlot: bigint | null;
5
+ ttl: bigint;
6
+ }) => Error | null;
7
+ export declare const assertCardanoTtlFreshForBroadcast: (encodedBytes: Uint8Array) => Promise<void>;
3
8
  export declare const broadcastCardanoTx: BroadcastTxResolver<OtherChain.Cardano>;
4
9
  //# sourceMappingURL=cardano.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAOvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAsBjD,eAAO,MAAM,kBAAkB,EAAE,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAuBtE,CAAA"}
1
+ {"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAQvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAoBjD,eAAO,MAAM,2BAA2B,GAAI,uBAGzC;IACD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,GAAG,EAAE,MAAM,CAAA;CACZ,KAAG,KAAK,GAAG,IAcX,CAAA;AAED,eAAO,MAAM,iCAAiC,GAAU,cAAc,UAAU,kBAQ/E,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAuBtE,CAAA"}
@@ -2,6 +2,7 @@ import { getCardanoTxTtl } from '@vultisig/core-chain/chains/cardano/cip30/carda
2
2
  import { getCardanoCurrentSlot } from '@vultisig/core-chain/chains/cardano/client/currentSlot';
3
3
  import { cardanoBroadcastTtlSafetyMargin } from '@vultisig/core-chain/chains/cardano/config';
4
4
  import { getCardanoTxHash } from '@vultisig/core-chain/tx/hash/resolvers/cardano';
5
+ import { attempt } from '@vultisig/lib-utils/attempt';
5
6
  import { submitCardanoCbor } from '../../../chains/cardano/submit/submitCardanoCbor.js';
6
7
  import { verifyBroadcastByHash } from '../verifyBroadcastByHash.js';
7
8
  import { selectEncodedBytes } from './utxo.js';
@@ -10,12 +11,31 @@ import { selectEncodedBytes } from './utxo.js';
10
11
  * reports this, we hash the tx locally to return the deterministic id.
11
12
  */
12
13
  const alreadyCommittedCode = 3117;
13
- const assertCardanoTtlFreshForBroadcast = async (encodedBytes) => {
14
- const ttl = getCardanoTxTtl(encodedBytes);
15
- const currentSlot = await getCardanoCurrentSlot();
14
+ const getCardanoCurrentSlotForBroadcast = async () => {
15
+ const first = await attempt(getCardanoCurrentSlot());
16
+ if (!('error' in first))
17
+ return first.data;
18
+ const second = await attempt(getCardanoCurrentSlot());
19
+ if (!('error' in second))
20
+ return second.data;
21
+ return null;
22
+ };
23
+ export const getCardanoTtlFreshnessError = ({ currentSlot, ttl, }) => {
24
+ if (currentSlot === null) {
25
+ return null;
26
+ }
16
27
  const minimumFreshTtl = currentSlot + BigInt(cardanoBroadcastTtlSafetyMargin);
17
28
  if (ttl <= minimumFreshTtl) {
18
- throw new Error(`Cardano transaction TTL is expired or too close to expiry; rebuild the transaction and retry (ttl=${ttl}, currentSlot=${currentSlot}, safetyMargin=${cardanoBroadcastTtlSafetyMargin} slots)`);
29
+ return new Error(`Cardano transaction TTL is expired or too close to expiry; rebuild the transaction and retry (ttl=${ttl}, currentSlot=${currentSlot}, safetyMargin=${cardanoBroadcastTtlSafetyMargin} slots)`);
30
+ }
31
+ return null;
32
+ };
33
+ export const assertCardanoTtlFreshForBroadcast = async (encodedBytes) => {
34
+ const ttl = getCardanoTxTtl(encodedBytes);
35
+ const currentSlot = await getCardanoCurrentSlotForBroadcast();
36
+ const freshnessError = getCardanoTtlFreshnessError({ currentSlot, ttl });
37
+ if (freshnessError) {
38
+ throw freshnessError;
19
39
  }
20
40
  };
21
41
  export const broadcastCardanoTx = async ({ chain, tx }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/cardano.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAA;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAA;AAC9F,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAA;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAA;AAEjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAA;AAEpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAE3C;;;GAGG;AACH,MAAM,oBAAoB,GAAG,IAAI,CAAA;AAEjC,MAAM,iCAAiC,GAAG,KAAK,EAAE,YAAwB,EAAE,EAAE;IAC3E,MAAM,GAAG,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;IACzC,MAAM,WAAW,GAAG,MAAM,qBAAqB,EAAE,CAAA;IACjD,MAAM,eAAe,GAAG,WAAW,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAA;IAE7E,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,qGAAqG,GAAG,iBAAiB,WAAW,kBAAkB,+BAA+B,SAAS,CAC/L,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAA4C,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;IACjG,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAClD,MAAM,iCAAiC,CAAC,YAAY,CAAC,CAAA;IAErD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEzD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAE/E,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IAEzB,IAAI,YAAY,KAAK,oBAAoB,EAAE,CAAC;QAC1C,OAAO,CAAC,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,IAAI,2BAA2B,CAAA;IAEzD,mGAAmG;IACnG,uGAAuG;IACvG,mGAAmG;IACnG,kGAAkG;IAClG,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAA;IAC7E,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;IACjE,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
1
+ {"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/cardano.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { OtherChain } from '@vultisig/core-chain/Chain';
2
2
  import { BroadcastTxResolver } from '../resolver.js';
3
+ export declare const isRippleInFlightEngineResult: (engineResult: string) => boolean;
3
4
  export declare const broadcastRippleTx: BroadcastTxResolver<OtherChain.Ripple>;
4
5
  //# sourceMappingURL=ripple.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/ripple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAGvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AA0BjD,eAAO,MAAM,iBAAiB,EAAE,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAsCpE,CAAA"}
1
+ {"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/ripple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAGvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AA8BjD,eAAO,MAAM,4BAA4B,GAAI,cAAc,MAAM,KAAG,OAAuC,CAAA;AAE3G,eAAO,MAAM,iBAAiB,EAAE,mBAAmB,CAAC,UAAU,CAAC,MAAM,CA0CpE,CAAA"}
@@ -9,9 +9,13 @@ import { verifyBroadcastByHash } from '../verifyBroadcastByHash.js';
9
9
  * consumed this sequence.
10
10
  *
11
11
  * For these we go through `verifyBroadcastByHash` to confirm the tx is
12
- * actually on-chain before swallowing the duplicate error. Any OTHER
13
- * non-success engine result (`tem*` malformed, `tec*` claim failures,
14
- * `tel*` local-policy rejections, `ter*` retry-later, the remaining
12
+ * actually on-chain before swallowing the duplicate error.
13
+ *
14
+ * `terQUEUED` is different from other `ter*` retry-later results: XRPL
15
+ * accepted the transaction into the transaction queue, so it is in flight.
16
+ *
17
+ * Any OTHER non-success engine result (`tem*` malformed, `tec*` claim failures,
18
+ * `tel*` local-policy rejections, remaining `ter*` retry-later, remaining
15
19
  * `tef*` failures) is the chain's authoritative "no" at preflight —
16
20
  * propagate directly so the caller sees the real failure.
17
21
  *
@@ -22,6 +26,7 @@ import { verifyBroadcastByHash } from '../verifyBroadcastByHash.js';
22
26
  * where rejected txs are never on-chain).
23
27
  */
24
28
  const PEER_RACE_ENGINE_RESULTS = new Set(['tefALREADY', 'tefPAST_SEQ']);
29
+ export const isRippleInFlightEngineResult = (engineResult) => engineResult === 'terQUEUED';
25
30
  export const broadcastRippleTx = async ({ chain, tx }) => {
26
31
  const client = await getRippleClient();
27
32
  // RPC-level errors (network blip, connection drop) get the safety-net
@@ -51,7 +56,10 @@ export const broadcastRippleTx = async ({ chain, tx }) => {
51
56
  await verifyBroadcastByHash({ chain, tx, error });
52
57
  return;
53
58
  }
54
- // Authoritative rejection at preflight (tem*/tec*/tel*/ter*/remaining tef*).
59
+ if (isRippleInFlightEngineResult(engineResult)) {
60
+ return;
61
+ }
62
+ // Authoritative rejection at preflight (tem*/tec*/tel*/remaining ter*/remaining tef*).
55
63
  // Propagate so the caller sees the real failure instead of a fake hash.
56
64
  throw error;
57
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/ripple.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAG3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAEhE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,iBAAiB,GAA2C,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;IAC/F,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAA;IAEtC,sEAAsE;IACtE,wEAAwE;IACxE,IAAI,QAAQ,CAAA;IACZ,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YAC9B,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;SACjD,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACjD,OAAM;IACR,CAAC;IAED,MAAM,gBAAgB,GAAG,QAAQ,EAAE,MAAM,EAAE,kBAAkB,CAAA;IAC7D,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;QACnE,2DAA2D;QAC3D,OAAM;IACR,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAA;IAC/D,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,qBAAqB,IAAI,EAAE,CAAA;IACvE,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,8BAA8B,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAM,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACtG,CAAA;IAED,IAAI,wBAAwB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/C,gEAAgE;QAChE,mDAAmD;QACnD,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACjD,OAAM;IACR,CAAC;IAED,6EAA6E;IAC7E,wEAAwE;IACxE,MAAM,KAAK,CAAA;AACb,CAAC,CAAA"}
1
+ {"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/ripple.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAG3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,YAAoB,EAAW,EAAE,CAAC,YAAY,KAAK,WAAW,CAAA;AAE3G,MAAM,CAAC,MAAM,iBAAiB,GAA2C,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;IAC/F,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAA;IAEtC,sEAAsE;IACtE,wEAAwE;IACxE,IAAI,QAAQ,CAAA;IACZ,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YAC9B,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;SACjD,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACjD,OAAM;IACR,CAAC;IAED,MAAM,gBAAgB,GAAG,QAAQ,EAAE,MAAM,EAAE,kBAAkB,CAAA;IAC7D,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;QACnE,2DAA2D;QAC3D,OAAM;IACR,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAA;IAC/D,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,qBAAqB,IAAI,EAAE,CAAA;IACvE,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,8BAA8B,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAM,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACtG,CAAA;IAED,IAAI,wBAAwB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/C,gEAAgE;QAChE,mDAAmD;QACnD,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACjD,OAAM;IACR,CAAC;IAED,IAAI,4BAA4B,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/C,OAAM;IACR,CAAC;IAED,uFAAuF;IACvF,wEAAwE;IACxE,MAAM,KAAK,CAAA;AACb,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare const broadcastRetryMaxAttempts = 3;
2
+ export declare const isTransientBroadcastError: (error: unknown) => boolean;
3
+ export declare const withTransientBroadcastRetry: <T>(operation: () => Promise<T>) => Promise<T>;
4
+ //# sourceMappingURL=transientRetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transientRetry.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/broadcast/transientRetry.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,IAAI,CAAA;AA4C1C,eAAO,MAAM,yBAAyB,GAAI,OAAO,OAAO,KAAG,OAgC1D,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAU,CAAC,EAAE,WAAW,MAAM,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAkB3F,CAAA"}
@@ -0,0 +1,82 @@
1
+ import { HttpResponseError } from '@vultisig/lib-utils/fetch/HttpResponseError';
2
+ export const broadcastRetryMaxAttempts = 3;
3
+ const broadcastRetryBaseDelayMs = 250;
4
+ const transientErrorCodes = new Set([
5
+ 'ABORT_ERR',
6
+ 'ECONNABORTED',
7
+ 'ECONNRESET',
8
+ 'ECONNREFUSED',
9
+ 'EHOSTUNREACH',
10
+ 'ENETDOWN',
11
+ 'ENETRESET',
12
+ 'ENETUNREACH',
13
+ 'ENOTFOUND',
14
+ 'ETIMEDOUT',
15
+ 'EAI_AGAIN',
16
+ ]);
17
+ const transientMessagePatterns = [
18
+ /\bfetch failed\b/i,
19
+ /\bfailed to fetch\b/i,
20
+ /\bnetwork error\b/i,
21
+ /\bnetwork request failed\b/i,
22
+ /\brequest timed out\b/i,
23
+ /\btimed out\b/i,
24
+ /\babort(?:ed)?\b/i,
25
+ /\bsocket hang up\b/i,
26
+ /\bconnection (?:reset|refused|closed)\b/i,
27
+ /\bHTTP (?:429|5\d\d)\b/i,
28
+ /\btoo many requests\b/i,
29
+ /\bbad gateway\b/i,
30
+ /\bservice unavailable\b/i,
31
+ /\bgateway timeout\b/i,
32
+ ];
33
+ const wait = (durationMs) => new Promise(resolve => setTimeout(resolve, durationMs));
34
+ const getCause = (error) => {
35
+ if (error && typeof error === 'object' && 'cause' in error) {
36
+ return error.cause;
37
+ }
38
+ return undefined;
39
+ };
40
+ export const isTransientBroadcastError = (error) => {
41
+ let current = error;
42
+ const seen = new Set();
43
+ while (current != null && !seen.has(current)) {
44
+ seen.add(current);
45
+ if (current instanceof HttpResponseError) {
46
+ return current.status === 429 || (current.status >= 500 && current.status <= 599);
47
+ }
48
+ if (typeof current === 'object') {
49
+ const code = current.code;
50
+ if (typeof code === 'string' && transientErrorCodes.has(code)) {
51
+ return true;
52
+ }
53
+ const status = current.status;
54
+ if (typeof status === 'number' && (status === 429 || (status >= 500 && status <= 599))) {
55
+ return true;
56
+ }
57
+ }
58
+ const message = current instanceof Error ? current.message : typeof current === 'string' ? current : undefined;
59
+ if (message && transientMessagePatterns.some(pattern => pattern.test(message))) {
60
+ return true;
61
+ }
62
+ current = getCause(current);
63
+ }
64
+ return false;
65
+ };
66
+ export const withTransientBroadcastRetry = async (operation) => {
67
+ let lastError;
68
+ for (let attempt = 1; attempt <= broadcastRetryMaxAttempts; attempt++) {
69
+ try {
70
+ return await operation();
71
+ }
72
+ catch (error) {
73
+ lastError = error;
74
+ if (attempt === broadcastRetryMaxAttempts || !isTransientBroadcastError(error)) {
75
+ throw error;
76
+ }
77
+ await wait(broadcastRetryBaseDelayMs * attempt);
78
+ }
79
+ }
80
+ throw lastError;
81
+ };
82
+ //# sourceMappingURL=transientRetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transientRetry.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/broadcast/transientRetry.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,4 @@
1
- import { Chain } from '@vultisig/core-chain/Chain';
2
- import { TxReceiptInfo } from './resolver.js';
3
- type GetTxStatusInput = {
4
- chain: Chain;
5
- hash: string;
6
- };
7
- export declare const getTxStatus: (input: GetTxStatusInput) => Promise<import("./resolver.js").TxStatusResult>;
8
- export type { TxReceiptInfo };
1
+ import { TxReceiptInfo, TxStatusInput } from './resolver.js';
2
+ export declare const getTxStatus: (input: TxStatusInput) => Promise<import("./resolver.js").TxStatusResult>;
3
+ export type { TxReceiptInfo, TxStatusInput };
9
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/status/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAGlD,OAAO,EAAE,aAAa,EAAoB,MAAM,YAAY,CAAA;AA6B5D,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,KAAK,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,iDAOlD,CAAA;AAED,YAAY,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/status/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAoB,MAAM,YAAY,CAAA;AA6B3E,eAAO,MAAM,WAAW,GAAI,OAAO,aAAa,iDAO/C,CAAA;AAED,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/status/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,cAAc,GAA6C;IAC/D,SAAS,EAAE,oBAAoB;IAC/B,OAAO,EAAE,kBAAkB;IAC3B,MAAM,EAAE,iBAAiB;IACzB,GAAG,EAAE,cAAc;IACnB,QAAQ,EAAE,mBAAmB;IAC7B,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,iBAAiB;IACzB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,cAAc;IACnB,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;CACtB,CAAA;AAOD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAE,EAAE;IACrD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACvB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAErC,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IAEzC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;AACvB,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/status/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,cAAc,GAA6C;IAC/D,SAAS,EAAE,oBAAoB;IAC/B,OAAO,EAAE,kBAAkB;IAC3B,MAAM,EAAE,iBAAiB;IACzB,GAAG,EAAE,cAAc;IACnB,QAAQ,EAAE,mBAAmB;IAC7B,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,iBAAiB;IACzB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,cAAc;IACnB,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;CACtB,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,EAAE;IAClD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACvB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAErC,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IAEzC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;AACvB,CAAC,CAAA"}
@@ -11,9 +11,11 @@ export type TxStatusResult = {
11
11
  isKnown?: boolean;
12
12
  receipt?: TxReceiptInfo;
13
13
  };
14
- export type TxStatusResolver<T extends Chain = Chain> = Resolver<{
14
+ export type TxStatusInput<T extends Chain = Chain> = {
15
15
  chain: T;
16
16
  hash: string;
17
- }, Promise<TxStatusResult>>;
17
+ lastValidBlockHeight?: number;
18
+ };
19
+ export type TxStatusResolver<T extends Chain = Chain> = Resolver<TxStatusInput<T>, Promise<TxStatusResult>>;
18
20
  export {};
19
21
  //# sourceMappingURL=resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/status/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAOnC,KAAK,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAA;AAE7D,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,QAAQ,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI,QAAQ,CAC9D;IACE,KAAK,EAAE,CAAC,CAAA;IACR,IAAI,EAAE,MAAM,CAAA;CACb,EACD,OAAO,CAAC,cAAc,CAAC,CACxB,CAAA"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/tx/status/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAOnC,KAAK,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAA;AAE7D,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,QAAQ,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI;IACnD,KAAK,EAAE,CAAC,CAAA;IACR,IAAI,EAAE,MAAM,CAAA;IACZ,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAA"}
@@ -9,7 +9,7 @@ export const getBittensorTxStatus = async ({ hash }) => {
9
9
  const txHash = ensureHexPrefix(hash);
10
10
  const { data: response, error } = await attempt(queryUrl(`${taostatsExtrinsicUrl}?${new URLSearchParams({ hash: txHash })}`));
11
11
  if (error || !response?.data?.length) {
12
- return { status: 'pending' };
12
+ return { status: 'pending', isKnown: false };
13
13
  }
14
14
  const extrinsic = response.data[0];
15
15
  const feeCoin = chainFeeCoin[Chain.Bittensor];
@@ -1 +1 @@
1
- {"version":3,"file":"bittensor.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/bittensor.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,eAAe,EAAE,MAAM,yCAAyC,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAI7D,MAAM,oBAAoB,GAAG,GAAG,UAAU,YAAY,CAAA;AAatD,MAAM,CAAC,MAAM,oBAAoB,GAA2C,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7F,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IAEpC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAC7C,QAAQ,CAA4B,GAAG,oBAAoB,IAAI,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CACxG,CAAA;IAED,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACrC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAC7C,IAAI,OAAkF,CAAA;IACtF,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,OAAO,GAAG;gBACR,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;gBAChC,WAAW,EAAE,OAAO,CAAC,QAAQ;gBAC7B,SAAS,EAAE,OAAO,CAAC,MAAM;aAC1B,CAAA;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,OAAO,GAAG,SAAS,CAAA;QACrB,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;QAC/C,OAAO;KACR,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"bittensor.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/bittensor.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,eAAe,EAAE,MAAM,yCAAyC,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAI7D,MAAM,oBAAoB,GAAG,GAAG,UAAU,YAAY,CAAA;AAatD,MAAM,CAAC,MAAM,oBAAoB,GAA2C,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7F,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IAEpC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAC7C,QAAQ,CAA4B,GAAG,oBAAoB,IAAI,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CACxG,CAAA;IAED,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACrC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC9C,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAC7C,IAAI,OAAkF,CAAA;IACtF,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,OAAO,GAAG;gBACR,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;gBAChC,WAAW,EAAE,OAAO,CAAC,QAAQ;gBAC7B,SAAS,EAAE,OAAO,CAAC,MAAM;aAC1B,CAAA;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,OAAO,GAAG,SAAS,CAAA;QACrB,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;QAC/C,OAAO;KACR,CAAA;AACH,CAAC,CAAA"}
@@ -11,7 +11,7 @@ export const getQbtcTxStatus = async ({ hash }) => {
11
11
  return resp.json();
12
12
  });
13
13
  if (error || !data?.tx_response) {
14
- return { status: 'pending' };
14
+ return { status: 'pending', isKnown: false };
15
15
  }
16
16
  const txResp = data.tx_response;
17
17
  const status = txResp.code === 0 ? 'success' : 'error';
@@ -1 +1 @@
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,EAAE,IAAI,EAAE,EAAE,EAAE;IACrF,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
+ {"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,EAAE,IAAI,EAAE,EAAE,EAAE;IACrF,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,OAAO,EAAE,KAAK,EAAE,CAAA;IAC9C,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":"solana.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAK9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,CAAC,UAAU,CAAC,MAAM,CA6CjE,CAAA"}
1
+ {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAK9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAiB9C,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAqDjE,CAAA"}
@@ -2,13 +2,27 @@ import { Chain } from '@vultisig/core-chain/Chain';
2
2
  import { getSolanaClient } from '@vultisig/core-chain/chains/solana/client';
3
3
  import { chainFeeCoin } from '@vultisig/core-chain/coin/chainFeeCoin';
4
4
  import { attempt } from '@vultisig/lib-utils/attempt';
5
- export const getSolanaTxStatus = async ({ hash }) => {
5
+ const isExpiredLastValidBlockHeight = async (client, lastValidBlockHeight) => {
6
+ const height = lastValidBlockHeight;
7
+ if (height == null || !Number.isSafeInteger(height) || height < 0) {
8
+ return false;
9
+ }
10
+ const { data: currentBlockHeight, error } = await attempt(client.getBlockHeight());
11
+ return !error && typeof currentBlockHeight === 'number' && currentBlockHeight > height;
12
+ };
13
+ export const getSolanaTxStatus = async ({ hash, lastValidBlockHeight }) => {
6
14
  const client = getSolanaClient();
7
15
  const { data: signatureStatuses, error: signatureStatusError } = await attempt(client.getSignatureStatuses([hash], {
8
16
  searchTransactionHistory: true,
9
17
  }));
10
18
  const signatureStatus = signatureStatuses?.value[0];
11
- if (signatureStatusError || !signatureStatus) {
19
+ if (signatureStatusError) {
20
+ return { status: 'pending', isKnown: false };
21
+ }
22
+ if (!signatureStatus) {
23
+ if (await isExpiredLastValidBlockHeight(client, lastValidBlockHeight)) {
24
+ return { status: 'not_found', isKnown: false };
25
+ }
12
26
  return { status: 'pending', isKnown: false };
13
27
  }
14
28
  if (signatureStatus.err) {
@@ -1 +1 @@
1
- {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAIrD,MAAM,CAAC,MAAM,iBAAiB,GAAwC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACvF,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAEhC,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,oBAAoB,EAAE,GAAG,MAAM,OAAO,CAC5E,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,EAAE;QAClC,wBAAwB,EAAE,IAAI;KAC/B,CAAC,CACH,CAAA;IACD,MAAM,eAAe,GAAG,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAEnD,IAAI,oBAAoB,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC9C,CAAC;IAED,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC3C,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CACvC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE;QAC1B,8BAA8B,EAAE,CAAC;KAClC,CAAC,CACH,CAAA;IAED,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC7C,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAA;IACpB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC7C,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC3C,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAG;QACd,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3B,WAAW,EAAE,OAAO,CAAC,QAAQ;QAC7B,SAAS,EAAE,OAAO,CAAC,MAAM;KAC1B,CAAA;IAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AACvC,CAAC,CAAA"}
1
+ {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/solana.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export const getSuiTxStatus = async ({ hash }) => {
9
9
  options: { showEffects: true },
10
10
  }));
11
11
  if (error || !data) {
12
- return { status: 'pending' };
12
+ return { status: 'pending', isKnown: false };
13
13
  }
14
14
  const effectsStatus = data.effects?.status?.status;
15
15
  if (effectsStatus === 'success') {
@@ -33,6 +33,6 @@ export const getSuiTxStatus = async ({ hash }) => {
33
33
  if (effectsStatus === 'failure') {
34
34
  return { status: 'error' };
35
35
  }
36
- return { status: 'pending' };
36
+ return { status: 'pending', isKnown: true };
37
37
  };
38
38
  //# sourceMappingURL=sui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sui.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/sui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAIrD,MAAM,CAAC,MAAM,cAAc,GAAqC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACjF,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAE7B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CACnC,MAAM,CAAC,mBAAmB,CAAC;QACzB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;KAC/B,CAAC,CACH,CAAA;IAED,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAA;IAElD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAA;QACrC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,OAAO,GACX,OAAO,IAAI,IAAI;YACf,OAAO,OAAO,KAAK,QAAQ;YAC3B,iBAAiB,IAAI,OAAO;YAC5B,aAAa,IAAI,OAAO;YACxB,eAAe,IAAI,OAAO;YACxB,CAAC,CAAC;gBACE,SAAS,EACP,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oBACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBACnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACvC,WAAW,EAAE,OAAO,CAAC,QAAQ;gBAC7B,SAAS,EAAE,OAAO,CAAC,MAAM;aAC1B;YACH,CAAC,CAAC,SAAS,CAAA;QAEf,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;IACvC,CAAC;IAED,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IAC5B,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;AAC9B,CAAC,CAAA"}
1
+ {"version":3,"file":"sui.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/sui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAIrD,MAAM,CAAC,MAAM,cAAc,GAAqC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACjF,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAE7B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CACnC,MAAM,CAAC,mBAAmB,CAAC;QACzB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;KAC/B,CAAC,CACH,CAAA;IAED,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC9C,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAA;IAElD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAA;QACrC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,OAAO,GACX,OAAO,IAAI,IAAI;YACf,OAAO,OAAO,KAAK,QAAQ;YAC3B,iBAAiB,IAAI,OAAO;YAC5B,aAAa,IAAI,OAAO;YACxB,eAAe,IAAI,OAAO;YACxB,CAAC,CAAC;gBACE,SAAS,EACP,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oBACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBACnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACvC,WAAW,EAAE,OAAO,CAAC,QAAQ;gBAC7B,SAAS,EAAE,OAAO,CAAC,MAAM;aAC1B;YACH,CAAC,CAAC,SAAS,CAAA;QAEf,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;IACvC,CAAC;IAED,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IAC5B,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC7C,CAAC,CAAA"}
@@ -7,7 +7,7 @@ export const getTonTxStatus = async ({ hash }) => {
7
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
9
  if (error || !response || response.transactions.length === 0) {
10
- return { status: 'pending' };
10
+ return { status: 'pending', isKnown: false };
11
11
  }
12
12
  const tx = response.transactions[0];
13
13
  // Check if transaction was aborted
@@ -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;AAmB7D,MAAM,CAAC,MAAM,cAAc,GAAqC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACjF,MAAM,GAAG,GAAG,GAAG,UAAU,0CAA0C,IAAI,uBAAuB,CAAA;IAE9F,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,CAA0B,GAAG,CAAC,CAAC,CAAA;IAEvF,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;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,EAAE,IAAI,EAAE,EAAE,EAAE;IACjF,MAAM,GAAG,GAAG,GAAG,UAAU,0CAA0C,IAAI,uBAAuB,CAAA;IAE9F,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,CAA0B,GAAG,CAAC,CAAC,CAAA;IAEvF,IAAI,KAAK,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC9C,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;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 +1 @@
1
- {"version":3,"file":"tron.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/tron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAM9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAgC9C,eAAO,MAAM,eAAe,EAAE,gBAAgB,CAAC,UAAU,CAAC,IAAI,CA0C7D,CAAA"}
1
+ {"version":3,"file":"tron.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/tron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAM9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAgC9C,eAAO,MAAM,eAAe,EAAE,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAkD7D,CAAA"}
@@ -20,8 +20,14 @@ export const getTronTxStatus = async ({ hash }) => {
20
20
  const { data: tx, error } = await attempt(queryUrl(url, {
21
21
  body: { value: hash },
22
22
  }));
23
- if (error || !tx || tx.blockNumber === undefined || tx.blockNumber === 0) {
24
- return { status: 'pending' };
23
+ if (error || !tx) {
24
+ return { status: 'pending', isKnown: false };
25
+ }
26
+ if (!tx.id) {
27
+ return { status: 'not_found', isKnown: false };
28
+ }
29
+ if (tx.blockNumber === undefined || tx.blockNumber === 0) {
30
+ return { status: 'pending', isKnown: true };
25
31
  }
26
32
  // 1. top-level result === "FAILED" → error
27
33
  // Tron RPC only emits "FAILED" here — no "SUCCESS" counterpart exists at the top level.
@@ -32,7 +38,7 @@ export const getTronTxStatus = async ({ hash }) => {
32
38
  }
33
39
  // 2. receipt absent → pending (native TRX transfers or tx still processing)
34
40
  if (!tx.receipt) {
35
- return { status: 'pending' };
41
+ return { status: 'pending', isKnown: true };
36
42
  }
37
43
  // 3. receipt.result in terminal failure set → error
38
44
  // receipt.result == null → success (native TRX send, no contract result)
@@ -1 +1 @@
1
- {"version":3,"file":"tron.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/tron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAGxD,oGAAoG;AACpG,yFAAyF;AACzF,gGAAgG;AAChG,iFAAiF;AACjF,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC3C,QAAQ;IACR,eAAe;IACf,QAAQ;IACR,aAAa;IACb,iBAAiB;IACjB,iBAAiB;CAClB,CAAC,CAAA;AAmBF,MAAM,CAAC,MAAM,eAAe,GAAsC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACnF,MAAM,GAAG,GAAG,GAAG,UAAU,gCAAgC,CAAA;IAEzD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CACvC,QAAQ,CAAqB,GAAG,EAAE;QAChC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;KACtB,CAAC,CACH,CAAA;IAED,IAAI,KAAK,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;QACzE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC9B,CAAC;IAED,2CAA2C;IAC3C,2FAA2F;IAC3F,yFAAyF;IACzF,wFAAwF;IACxF,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IAC5B,CAAC;IAED,4EAA4E;IAC5E,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC9B,CAAC;IAED,oDAAoD;IACpD,4EAA4E;IAC5E,sGAAsG;IACtG,mFAAmF;IACnF,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,4BAA4B,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IACrH,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxC,MAAM,OAAO,GACX,EAAE,CAAC,GAAG,IAAI,IAAI;QACZ,CAAC,CAAC;YACE,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,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":"tron.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/status/resolvers/tron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAGxD,oGAAoG;AACpG,yFAAyF;AACzF,gGAAgG;AAChG,iFAAiF;AACjF,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC3C,QAAQ;IACR,eAAe;IACf,QAAQ;IACR,aAAa;IACb,iBAAiB;IACjB,iBAAiB;CAClB,CAAC,CAAA;AAmBF,MAAM,CAAC,MAAM,eAAe,GAAsC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACnF,MAAM,GAAG,GAAG,GAAG,UAAU,gCAAgC,CAAA;IAEzD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CACvC,QAAQ,CAAqB,GAAG,EAAE;QAChC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;KACtB,CAAC,CACH,CAAA;IAED,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC9C,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAChD,CAAC;IAED,IAAI,EAAE,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC7C,CAAC;IAED,2CAA2C;IAC3C,2FAA2F;IAC3F,yFAAyF;IACzF,wFAAwF;IACxF,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IAC5B,CAAC;IAED,4EAA4E;IAC5E,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC7C,CAAC;IAED,oDAAoD;IACpD,4EAA4E;IAC5E,sGAAsG;IACtG,mFAAmF;IACnF,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,4BAA4B,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IACrH,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxC,MAAM,OAAO,GACX,EAAE,CAAC,GAAG,IAAI,IAAI;QACZ,CAAC,CAAC;YACE,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,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 +1 @@
1
- {"version":3,"file":"isValidAddress.d.ts","sourceRoot":"","sources":["../../../../../packages/core/chain/utils/isValidAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAGlD,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,gCAAgC,KAAK,YA6BnE,CAAA"}
1
+ {"version":3,"file":"isValidAddress.d.ts","sourceRoot":"","sources":["../../../../../packages/core/chain/utils/isValidAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAKlD,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,gCAAgC,KAAK,YAiCnE,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { fromBech32 } from '@cosmjs/encoding';
2
2
  import { Chain } from '@vultisig/core-chain/Chain';
3
3
  import { getCoinType } from '@vultisig/core-chain/coin/coinType';
4
+ import { isValidRippleXAddress } from '../chains/ripple/address.js';
4
5
  export const isValidAddress = ({ chain, address, walletCore }) => {
5
6
  const coinType = getCoinType({
6
7
  walletCore,
@@ -18,6 +19,9 @@ export const isValidAddress = ({ chain, address, walletCore }) => {
18
19
  return false;
19
20
  }
20
21
  }
22
+ if (chain === Chain.Ripple && /^[XT]/u.test(address.trim())) {
23
+ return isValidRippleXAddress(address);
24
+ }
21
25
  if (chain === Chain.MayaChain) {
22
26
  // MayaChain is Cosmos-style Bech32. Accept common account + validator address forms.
23
27
  const mayaHrps = ['maya', 'mayavaloper', 'mayavalcons', 'mayavaloperpub', 'mayavalconspub'];
@@ -1 +1 @@
1
- {"version":3,"file":"isValidAddress.js","sourceRoot":"","sources":["../../../../../packages/core/chain/utils/isValidAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAQhE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAS,EAAE,EAAE;IACtE,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,UAAU;QACV,KAAK;KACN,CAAC,CAAA;IAEF,IAAI,KAAK,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;IACjE,CAAC;IAED,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;YAC7C,OAAO,MAAM,KAAK,MAAM,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,IAAI,KAAK,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;QAC9B,qFAAqF;QACrF,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,CAAU,CAAA;QAEpG,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAExB,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;IACpF,CAAC;IAED,OAAO,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AACzD,CAAC,CAAA"}
1
+ {"version":3,"file":"isValidAddress.js","sourceRoot":"","sources":["../../../../../packages/core/chain/utils/isValidAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAQhE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAS,EAAE,EAAE;IACtE,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,UAAU;QACV,KAAK;KACN,CAAC,CAAA;IAEF,IAAI,KAAK,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;IACjE,CAAC;IAED,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;YAC7C,OAAO,MAAM,KAAK,MAAM,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5D,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,KAAK,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;QAC9B,qFAAqF;QACrF,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,CAAU,CAAA;QAEpG,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAExB,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;IACpF,CAAC;IAED,OAAO,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AACzD,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vultisig/core-chain",
3
- "version": "2.25.1",
3
+ "version": "2.26.0",
4
4
  "description": "Blockchain chain logic shared across Vultisig clients",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -390,6 +390,11 @@
390
390
  "import": "./dist/chains/cosmos/terraClassicTax.js",
391
391
  "default": "./dist/chains/cosmos/terraClassicTax.js"
392
392
  },
393
+ "./chains/cosmos/thor/brune-bond/config": {
394
+ "types": "./dist/chains/cosmos/thor/brune-bond/config.d.ts",
395
+ "import": "./dist/chains/cosmos/thor/brune-bond/config.js",
396
+ "default": "./dist/chains/cosmos/thor/brune-bond/config.js"
397
+ },
393
398
  "./chains/cosmos/thor/getThorchainInboundAddress": {
394
399
  "types": "./dist/chains/cosmos/thor/getThorchainInboundAddress.d.ts",
395
400
  "import": "./dist/chains/cosmos/thor/getThorchainInboundAddress.js",
@@ -675,6 +680,11 @@
675
680
  "import": "./dist/chains/ripple/account/lines.js",
676
681
  "default": "./dist/chains/ripple/account/lines.js"
677
682
  },
683
+ "./chains/ripple/address": {
684
+ "types": "./dist/chains/ripple/address.d.ts",
685
+ "import": "./dist/chains/ripple/address.js",
686
+ "default": "./dist/chains/ripple/address.js"
687
+ },
678
688
  "./chains/ripple/client": {
679
689
  "types": "./dist/chains/ripple/client.d.ts",
680
690
  "import": "./dist/chains/ripple/client.js",
@@ -1883,6 +1893,11 @@
1883
1893
  "import": "./dist/tx/broadcast/resolvers/utxo.js",
1884
1894
  "default": "./dist/tx/broadcast/resolvers/utxo.js"
1885
1895
  },
1896
+ "./tx/broadcast/transientRetry": {
1897
+ "types": "./dist/tx/broadcast/transientRetry.d.ts",
1898
+ "import": "./dist/tx/broadcast/transientRetry.js",
1899
+ "default": "./dist/tx/broadcast/transientRetry.js"
1900
+ },
1886
1901
  "./tx/broadcast/verifyBroadcastByHash": {
1887
1902
  "types": "./dist/tx/broadcast/verifyBroadcastByHash.d.ts",
1888
1903
  "import": "./dist/tx/broadcast/verifyBroadcastByHash.js",
@@ -2130,6 +2145,7 @@
2130
2145
  "date-fns": "^4.4.0",
2131
2146
  "ethers": "^6.17.0",
2132
2147
  "long": "^5.3.2",
2148
+ "ripple-address-codec": "^5.0.1",
2133
2149
  "tiny-secp256k1": "^2.2.4",
2134
2150
  "viem": "^2.53.1",
2135
2151
  "xrpl": "^5.0.0"