@vultisig/core-chain 4.1.1 → 5.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 (119) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/Chain.d.ts +0 -4
  3. package/dist/Chain.d.ts.map +1 -1
  4. package/dist/Chain.js +0 -1
  5. package/dist/Chain.js.map +1 -1
  6. package/dist/ChainKind.d.ts +0 -1
  7. package/dist/ChainKind.d.ts.map +1 -1
  8. package/dist/ChainKind.js +0 -1
  9. package/dist/ChainKind.js.map +1 -1
  10. package/dist/chainRegistry.d.ts +0 -1
  11. package/dist/chainRegistry.d.ts.map +1 -1
  12. package/dist/chainRegistry.js +0 -1
  13. package/dist/chainRegistry.js.map +1 -1
  14. package/dist/chains/cosmos/account/getCosmosAccountInfo.d.ts.map +1 -1
  15. package/dist/chains/cosmos/account/getCosmosAccountInfo.js +0 -5
  16. package/dist/chains/cosmos/account/getCosmosAccountInfo.js.map +1 -1
  17. package/dist/chains/cosmos/chainInfo.d.ts.map +1 -1
  18. package/dist/chains/cosmos/chainInfo.js +0 -1
  19. package/dist/chains/cosmos/chainInfo.js.map +1 -1
  20. package/dist/chains/cosmos/cosmosFeeCoinDenom.d.ts.map +1 -1
  21. package/dist/chains/cosmos/cosmosFeeCoinDenom.js +0 -1
  22. package/dist/chains/cosmos/cosmosFeeCoinDenom.js.map +1 -1
  23. package/dist/chains/cosmos/cosmosGasLimitRecord.d.ts.map +1 -1
  24. package/dist/chains/cosmos/cosmosGasLimitRecord.js +0 -2
  25. package/dist/chains/cosmos/cosmosGasLimitRecord.js.map +1 -1
  26. package/dist/chains/cosmos/cosmosMemoCap.d.ts.map +1 -1
  27. package/dist/chains/cosmos/cosmosMemoCap.js +0 -1
  28. package/dist/chains/cosmos/cosmosMemoCap.js.map +1 -1
  29. package/dist/chains/cosmos/cosmosRpcUrl.d.ts.map +1 -1
  30. package/dist/chains/cosmos/cosmosRpcUrl.js +0 -3
  31. package/dist/chains/cosmos/cosmosRpcUrl.js.map +1 -1
  32. package/dist/chains/cosmos/gas.d.ts.map +1 -1
  33. package/dist/chains/cosmos/gas.js +0 -1
  34. package/dist/chains/cosmos/gas.js.map +1 -1
  35. package/dist/chains/cosmos/tendermintRpcUrl.d.ts.map +1 -1
  36. package/dist/chains/cosmos/tendermintRpcUrl.js +0 -1
  37. package/dist/chains/cosmos/tendermintRpcUrl.js.map +1 -1
  38. package/dist/chains/cosmos/thor/thorchainLp.d.ts.map +1 -1
  39. package/dist/chains/cosmos/thor/thorchainLp.js +0 -1
  40. package/dist/chains/cosmos/thor/thorchainLp.js.map +1 -1
  41. package/dist/chains/ripple/issuedCurrency.d.ts +13 -3
  42. package/dist/chains/ripple/issuedCurrency.d.ts.map +1 -1
  43. package/dist/chains/ripple/issuedCurrency.js +54 -6
  44. package/dist/chains/ripple/issuedCurrency.js.map +1 -1
  45. package/dist/chains/ton/address.d.ts +14 -0
  46. package/dist/chains/ton/address.d.ts.map +1 -1
  47. package/dist/chains/ton/address.js +15 -0
  48. package/dist/chains/ton/address.js.map +1 -1
  49. package/dist/chains/ton/comment.d.ts +51 -0
  50. package/dist/chains/ton/comment.d.ts.map +1 -0
  51. package/dist/chains/ton/comment.js +75 -0
  52. package/dist/chains/ton/comment.js.map +1 -0
  53. package/dist/chains/ton/messageBounce.d.ts +17 -0
  54. package/dist/chains/ton/messageBounce.d.ts.map +1 -0
  55. package/dist/chains/ton/messageBounce.js +41 -0
  56. package/dist/chains/ton/messageBounce.js.map +1 -0
  57. package/dist/chains/tron/getTronBlockInfo.d.ts.map +1 -1
  58. package/dist/chains/tron/getTronBlockInfo.js +4 -5
  59. package/dist/chains/tron/getTronBlockInfo.js.map +1 -1
  60. package/dist/coin/chainFeeCoin.d.ts.map +1 -1
  61. package/dist/coin/chainFeeCoin.js +0 -5
  62. package/dist/coin/chainFeeCoin.js.map +1 -1
  63. package/dist/coin/coinType.d.ts.map +1 -1
  64. package/dist/coin/coinType.js +0 -1
  65. package/dist/coin/coinType.js.map +1 -1
  66. package/dist/coin/knownTokens/cosmos.d.ts.map +1 -1
  67. package/dist/coin/knownTokens/cosmos.js +0 -64
  68. package/dist/coin/knownTokens/cosmos.js.map +1 -1
  69. package/dist/coin/knownTokens/index.d.ts +1 -1
  70. package/dist/coin/knownTokens/index.d.ts.map +1 -1
  71. package/dist/coin/token/metadata/chains.d.ts +1 -1
  72. package/dist/coin/token/metadata/chains.d.ts.map +1 -1
  73. package/dist/swap/general/swapkit/SwapKitEnabledChains.d.ts +14 -3
  74. package/dist/swap/general/swapkit/SwapKitEnabledChains.d.ts.map +1 -1
  75. package/dist/swap/general/swapkit/SwapKitEnabledChains.js +14 -1
  76. package/dist/swap/general/swapkit/SwapKitEnabledChains.js.map +1 -1
  77. package/dist/swap/general/swapkit/SwapKitProviders.d.ts +19 -3
  78. package/dist/swap/general/swapkit/SwapKitProviders.d.ts.map +1 -1
  79. package/dist/swap/general/swapkit/SwapKitProviders.js +161 -8
  80. package/dist/swap/general/swapkit/SwapKitProviders.js.map +1 -1
  81. package/dist/swap/general/swapkit/api/getSwapKitQuote.d.ts +1 -3
  82. package/dist/swap/general/swapkit/api/getSwapKitQuote.d.ts.map +1 -1
  83. package/dist/swap/general/swapkit/api/getSwapKitQuote.js +59 -73
  84. package/dist/swap/general/swapkit/api/getSwapKitQuote.js.map +1 -1
  85. package/dist/swap/general/swapkit/getSwapKitTrackerUrl.d.ts +2 -1
  86. package/dist/swap/general/swapkit/getSwapKitTrackerUrl.d.ts.map +1 -1
  87. package/dist/swap/general/swapkit/getSwapKitTrackerUrl.js +2 -1
  88. package/dist/swap/general/swapkit/getSwapKitTrackerUrl.js.map +1 -1
  89. package/dist/swap/native/NativeSwapChain.d.ts +1 -2
  90. package/dist/swap/native/NativeSwapChain.d.ts.map +1 -1
  91. package/dist/swap/native/NativeSwapChain.js +0 -2
  92. package/dist/swap/native/NativeSwapChain.js.map +1 -1
  93. package/dist/swap/native/limitSwapMemo.d.ts.map +1 -1
  94. package/dist/swap/native/limitSwapMemo.js +18 -5
  95. package/dist/swap/native/limitSwapMemo.js.map +1 -1
  96. package/dist/swap/native/thorchainMemoAsset.d.ts +1 -1
  97. package/dist/swap/native/thorchainMemoAsset.js +1 -1
  98. package/dist/swap/quote/findSwapQuote.d.ts.map +1 -1
  99. package/dist/swap/quote/findSwapQuote.js +2 -2
  100. package/dist/swap/quote/findSwapQuote.js.map +1 -1
  101. package/dist/swap/skip/skipRouting.d.ts.map +1 -1
  102. package/dist/swap/skip/skipRouting.js +0 -1
  103. package/dist/swap/skip/skipRouting.js.map +1 -1
  104. package/dist/swap/swapEnabledChains.d.ts +1 -1
  105. package/dist/swap/swapEnabledChains.d.ts.map +1 -1
  106. package/dist/tx/broadcast/resolvers/tron.d.ts.map +1 -1
  107. package/dist/tx/broadcast/resolvers/tron.js +6 -1
  108. package/dist/tx/broadcast/resolvers/tron.js.map +1 -1
  109. package/dist/tx/broadcast/verifyBroadcastByHash.js +1 -1
  110. package/dist/tx/broadcast/verifyBroadcastByHash.js.map +1 -1
  111. package/dist/tx/status/resolver.d.ts +9 -1
  112. package/dist/tx/status/resolver.d.ts.map +1 -1
  113. package/dist/tx/status/resolvers/ripple.d.ts.map +1 -1
  114. package/dist/tx/status/resolvers/ripple.js +62 -0
  115. package/dist/tx/status/resolvers/ripple.js.map +1 -1
  116. package/dist/tx/status/resolvers/tron.d.ts.map +1 -1
  117. package/dist/tx/status/resolvers/tron.js +18 -2
  118. package/dist/tx/status/resolvers/tron.js.map +1 -1
  119. package/package.json +11 -1
@@ -1,4 +1,5 @@
1
1
  import { Chain } from '@vultisig/core-chain/Chain';
2
+ import { isValidClassicAddress } from 'ripple-address-codec';
2
3
  /**
3
4
  * Owner-reserve locked by each XRP Ledger object a wallet owns, including every
4
5
  * trust line. Opening a trust line raises the account's required reserve by this
@@ -12,12 +13,19 @@ const standardCurrencyCodeLength = 3;
12
13
  const hexCurrencyCodeLength = 40;
13
14
  const hexCurrencyCodeRegex = /^[0-9a-fA-F]{40}$/;
14
15
  const asciiToHexCurrencyCode = (currency) => {
15
- const bytes = Buffer.from(currency, 'ascii');
16
+ const bytes = [...currency].map(character => {
17
+ const code = character.charCodeAt(0);
18
+ if (code > 127) {
19
+ throw new Error('Unsupported XRP issued-currency code: expected ASCII or a 160-bit hex code');
20
+ }
21
+ return code;
22
+ });
16
23
  if (bytes.length > 20) {
17
24
  throw new Error(`XRPL currency code too long: "${currency}" (max 20 bytes)`);
18
25
  }
19
- return Buffer.concat([bytes, Buffer.alloc(20 - bytes.length)])
20
- .toString('hex')
26
+ return [...bytes, ...Array(20 - bytes.length).fill(0)]
27
+ .map(byte => byte.toString(16).padStart(2, '0'))
28
+ .join('')
21
29
  .toUpperCase();
22
30
  };
23
31
  /**
@@ -68,7 +76,8 @@ export const parseRippleTokenId = (id) => {
68
76
  /**
69
77
  * Formats an issued-currency base-unit amount as an XRPL value string: a plain
70
78
  * decimal (never scientific notation) with trailing-zero fractional digits
71
- * trimmed. XRPL issued amounts allow up to 15 significant digits.
79
+ * trimmed. This formats values for display; use getSignableIssuedCurrencyAmount
80
+ * when the value must be exactly representable on the ledger.
72
81
  */
73
82
  export const formatIssuedCurrencyValue = (amount, decimals) => {
74
83
  const negative = amount < 0n;
@@ -78,9 +87,48 @@ export const formatIssuedCurrencyValue = (amount, decimals) => {
78
87
  const magnitude = fracPart ? `${intPart}.${fracPart}` : intPart;
79
88
  return negative && magnitude !== '0' ? `-${magnitude}` : magnitude;
80
89
  };
90
+ /** Construct an issued amount without letting a signer change its asset or round its value. */
91
+ export const getSignableIssuedCurrencyAmount = ({ currency, issuer, amount, decimals, }) => {
92
+ if ([...currency].some(character => character.charCodeAt(0) > 127)) {
93
+ throw new Error('Unsupported XRP issued-currency code: expected ASCII or a 160-bit hex code');
94
+ }
95
+ const code = toXrplCurrencyCode(currency);
96
+ const standardCharacters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789<>(){}[]|?!@#$%^&*';
97
+ const standardCode = code.length === 3 && [...code].every(character => standardCharacters.includes(character));
98
+ const nativeCodes = ['XRP', '0'.repeat(40), '0000000000000000000000005852500000000000'];
99
+ if ((!standardCode && !hexCurrencyCodeRegex.test(code)) || nativeCodes.includes(code)) {
100
+ throw new Error('Unsupported XRP issued-currency code: signing must preserve its exact identity');
101
+ }
102
+ if (!isValidClassicAddress(issuer)) {
103
+ throw new Error('Invalid XRP issued-currency issuer address');
104
+ }
105
+ if (!Number.isInteger(decimals) || decimals < 0 || decimals > 96 || amount < 0n) {
106
+ throw new Error('Invalid XRP issued-currency amount or decimal scale');
107
+ }
108
+ // XRPL uses a 16-digit mantissa and exponent [-96, 80]. Reject rather than
109
+ // silently truncating a quantity that the user already reviewed.
110
+ const digits = amount.toString();
111
+ const significantDigits = digits.replace(/0+$/, '').length;
112
+ const magnitude = digits.length - decimals - 1;
113
+ if (amount !== 0n && (significantDigits > 16 || magnitude < -81 || magnitude > 95)) {
114
+ throw new Error('XRP issued-currency amount is not exactly representable (maximum 16 significant digits)');
115
+ }
116
+ // WalletCore checks the exponent after trimming trailing zeroes, before
117
+ // padding the mantissa to 16 digits. Keep all signers within that supported
118
+ // subset and reject unsupported values before review, not during signing.
119
+ const trimmedExponent = digits.length - significantDigits - decimals;
120
+ if (amount !== 0n && trimmedExponent > 80) {
121
+ throw new Error('XRP issued-currency amount exceeds the supported signer exponent');
122
+ }
123
+ return {
124
+ currency: code,
125
+ issuer,
126
+ value: formatIssuedCurrencyValue(amount, decimals),
127
+ };
128
+ };
81
129
  /**
82
- * XRPL issued currencies carry up to 15 significant decimal digits rather than a
83
- * fixed on-chain decimal count. We model them internally with this many decimals.
130
+ * XRPL issued currencies carry up to 16 significant decimal digits rather than a
131
+ * fixed on-chain decimal count. Our fixed-point balance model uses 15 decimals.
84
132
  */
85
133
  export const rippleIssuedCurrencyDecimals = 15;
86
134
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"issuedCurrency.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/ripple/issuedCurrency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issuedCurrency.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/ripple/issuedCurrency.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,18 @@ export declare const tonAddressToRaw: (userFriendlyAddress: string) => string;
12
12
  * already in user-friendly form are returned re-encoded as bounceable.
13
13
  */
14
14
  export declare const tonAddressToBounceable: (address: string) => string;
15
+ /**
16
+ * What a TON destination address declares about bouncing. `unspecified` covers the
17
+ * raw `0:hex` spelling and anything unparseable — those carry no tag byte at all,
18
+ * which is exactly the case a leading-character check cannot express.
19
+ */
20
+ export type TonAddressBounceability = 'bounceable' | 'nonBounceable' | 'unspecified';
21
+ /**
22
+ * Reads the bounce tag out of a user-friendly TON address instead of inferring it
23
+ * from the leading `E`/`U`. The tag lives in the first byte of the base64 payload
24
+ * (`0x11` bounceable / `0x51` not, `| 0x80` on testnet) and is checksum-protected,
25
+ * so a raw or corrupted address reports `unspecified` rather than a flag it never
26
+ * declared — leaving the caller to pick the safe default for its own context.
27
+ */
28
+ export declare const getTonAddressBounceability: (address: string) => TonAddressBounceability;
15
29
  //# sourceMappingURL=address.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/ton/address.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,qBAAqB,MAAM,KAAG,MAM7D,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM,KAAG,MAIxD,CAAA"}
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/ton/address.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,qBAAqB,MAAM,KAAG,MAM7D,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM,KAAG,MAIxD,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,YAAY,GAAG,eAAe,GAAG,aAAa,CAAA;AAEpF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GAAI,SAAS,MAAM,KAAG,uBAQ5D,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { Address } from '@ton/core';
2
+ import { attempt } from '@vultisig/lib-utils/attempt';
2
3
  import { fromBase64 } from '@vultisig/lib-utils/fromBase64';
3
4
  /** Converts base64url encoding to standard base64 so `Buffer.from` can decode it. */
4
5
  const fromBase64Url = (value) => {
@@ -27,4 +28,18 @@ export const tonAddressToBounceable = (address) => {
27
28
  const parsed = address.includes(':') ? Address.parseRaw(address) : Address.parse(address);
28
29
  return parsed.toString({ bounceable: true, testOnly: false, urlSafe: true });
29
30
  };
31
+ /**
32
+ * Reads the bounce tag out of a user-friendly TON address instead of inferring it
33
+ * from the leading `E`/`U`. The tag lives in the first byte of the base64 payload
34
+ * (`0x11` bounceable / `0x51` not, `| 0x80` on testnet) and is checksum-protected,
35
+ * so a raw or corrupted address reports `unspecified` rather than a flag it never
36
+ * declared — leaving the caller to pick the safe default for its own context.
37
+ */
38
+ export const getTonAddressBounceability = (address) => {
39
+ const parsed = attempt(() => Address.parseFriendly(address));
40
+ if ('error' in parsed) {
41
+ return 'unspecified';
42
+ }
43
+ return parsed.data.isBounceable ? 'bounceable' : 'nonBounceable';
44
+ };
30
45
  //# sourceMappingURL=address.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/ton/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAE3D,qFAAqF;AACrF,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE;IAC9C,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAClE,OAAO,UAAU,CAAC,cAAc,CAAC,CAAA;AACnC,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,mBAA2B,EAAU,EAAE;IACrE,MAAM,OAAO,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEpD,OAAO,GAAG,SAAS,IAAI,IAAI,EAAE,CAAA;AAC/B,CAAC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAU,EAAE;IAChE,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAEzF,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AAC9E,CAAC,CAAA"}
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/ton/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAE3D,qFAAqF;AACrF,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE;IAC9C,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAClE,OAAO,UAAU,CAAC,cAAc,CAAC,CAAA;AACnC,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,mBAA2B,EAAU,EAAE;IACrE,MAAM,OAAO,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEpD,OAAO,GAAG,SAAS,IAAI,IAAI,EAAE,CAAA;AAC/B,CAAC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAU,EAAE;IAChE,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAEzF,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AAC9E,CAAC,CAAA;AASD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,OAAe,EAA2B,EAAE;IACrF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;IAE5D,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAA;AAClE,CAAC,CAAA"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * The longest UTF-8 comment a native TON transfer can carry.
3
+ *
4
+ * The comment is the message body's own cell, so everything after the opcode is
5
+ * available: (1023 - 32) / 8.
6
+ */
7
+ export declare const tonNativeCommentMaxBytes: number;
8
+ export type TonJettonCommentContext = {
9
+ /** Jetton amount in minimal units — the same value the transfer sends. */
10
+ amount: bigint;
11
+ /** Whether the recipient is initialized; decides the forward amount (1 vs 0). */
12
+ isActiveDestination: boolean;
13
+ };
14
+ /**
15
+ * The longest UTF-8 comment a jetton transfer can carry *for this amount*.
16
+ *
17
+ * A jetton comment is not a body of its own: it rides inline in the transfer
18
+ * body's `forward_payload`, sharing one 1023-bit cell with the opcode, query id,
19
+ * amount, both addresses and the forward amount. WalletCore emits only that
20
+ * inline form — it never spills the payload into a referenced cell — so the cap
21
+ * is whatever those fields leave behind, roughly 34–39 bytes. It SHRINKS as the
22
+ * amount grows, because `VarUInteger 16` widens a byte at a time. A fixed byte
23
+ * count is therefore always wrong for jettons.
24
+ *
25
+ * The amount-dependent widths are measured by encoding them rather than
26
+ * predicted, so the answer cannot drift from the encoder it describes.
27
+ */
28
+ export declare const getTonJettonCommentMaxBytes: ({ amount, isActiveDestination }: TonJettonCommentContext) => number;
29
+ export type TonCommentInput = {
30
+ memo: string;
31
+ /** Jetton transfer context. Omit for a native TON transfer. */
32
+ jetton?: TonJettonCommentContext;
33
+ };
34
+ /**
35
+ * The longest UTF-8 comment this transfer can carry, in bytes — a native cell's
36
+ * 123, or the amount-dependent inline capacity of a jetton transfer.
37
+ *
38
+ * Exposed so a send form can cap or count down against the real limit instead
39
+ * of discovering it at keysign.
40
+ */
41
+ export declare const getTonCommentMaxBytes: ({ jetton }: Pick<TonCommentInput, "jetton">) => number;
42
+ /**
43
+ * Rejects a TON comment that will not fit the cell it is destined for.
44
+ *
45
+ * Memos are load-bearing on TON — an exchange deposit without the right one
46
+ * loses the funds — so this is the single place that decides whether a comment
47
+ * is sendable. Run it before the user commits, not at keysign, where an
48
+ * oversized jetton comment surfaces as a bare WalletCore "Internal error".
49
+ */
50
+ export declare const validateTonComment: ({ memo, jetton }: TonCommentInput) => void;
51
+ //# sourceMappingURL=comment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/ton/comment.ts"],"names":[],"mappings":"AAwBA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,QAAiD,CAAA;AAEtF,MAAM,MAAM,uBAAuB,GAAG;IACpC,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAA;IACd,iFAAiF;IACjF,mBAAmB,EAAE,OAAO,CAAA;CAC7B,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,2BAA2B,GAAI,iCAAiC,uBAAuB,KAAG,MAUtG,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,+DAA+D;IAC/D,MAAM,CAAC,EAAE,uBAAuB,CAAA;CACjC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAAI,YAAY,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,KAAG,MACX,CAAA;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,kBAAkB,eAAe,KAAG,IAatE,CAAA"}
@@ -0,0 +1,75 @@
1
+ import { beginCell } from '@ton/core';
2
+ /** Every TON comment body opens with a 32-bit zero opcode, then the UTF-8 text. */
3
+ const commentOpcodeBits = 32;
4
+ /** A TON cell holds 1023 bits of data. */
5
+ const cellBits = 1023;
6
+ /** TEP-74 `transfer#0f8a7ea5`. */
7
+ const jettonTransferOpcode = 0xf8a7ea5;
8
+ /**
9
+ * `addr_std$10` is fixed width whatever account it names: 2 tag + 1 anycast +
10
+ * 8 workchain + 256 hash.
11
+ */
12
+ const addressBits = 267;
13
+ /**
14
+ * What the jetton transfer body spends on fields the comment has to share its
15
+ * cell with but whose width never moves: both addresses, the `custom_payload`
16
+ * Maybe bit, and the Either tag that selects the inline `forward_payload`.
17
+ */
18
+ const jettonFixedFieldBits = addressBits * 2 + 1 + 1;
19
+ /**
20
+ * The longest UTF-8 comment a native TON transfer can carry.
21
+ *
22
+ * The comment is the message body's own cell, so everything after the opcode is
23
+ * available: (1023 - 32) / 8.
24
+ */
25
+ export const tonNativeCommentMaxBytes = Math.floor((cellBits - commentOpcodeBits) / 8);
26
+ /**
27
+ * The longest UTF-8 comment a jetton transfer can carry *for this amount*.
28
+ *
29
+ * A jetton comment is not a body of its own: it rides inline in the transfer
30
+ * body's `forward_payload`, sharing one 1023-bit cell with the opcode, query id,
31
+ * amount, both addresses and the forward amount. WalletCore emits only that
32
+ * inline form — it never spills the payload into a referenced cell — so the cap
33
+ * is whatever those fields leave behind, roughly 34–39 bytes. It SHRINKS as the
34
+ * amount grows, because `VarUInteger 16` widens a byte at a time. A fixed byte
35
+ * count is therefore always wrong for jettons.
36
+ *
37
+ * The amount-dependent widths are measured by encoding them rather than
38
+ * predicted, so the answer cannot drift from the encoder it describes.
39
+ */
40
+ export const getTonJettonCommentMaxBytes = ({ amount, isActiveDestination }) => {
41
+ const variableFields = beginCell()
42
+ .storeUint(jettonTransferOpcode, 32)
43
+ .storeUint(0, 64) // query_id
44
+ .storeCoins(amount)
45
+ .storeCoins(isActiveDestination ? 1n : 0n); // forward_ton_amount
46
+ const available = variableFields.availableBits - jettonFixedFieldBits - commentOpcodeBits;
47
+ return Math.max(0, Math.floor(available / 8));
48
+ };
49
+ /**
50
+ * The longest UTF-8 comment this transfer can carry, in bytes — a native cell's
51
+ * 123, or the amount-dependent inline capacity of a jetton transfer.
52
+ *
53
+ * Exposed so a send form can cap or count down against the real limit instead
54
+ * of discovering it at keysign.
55
+ */
56
+ export const getTonCommentMaxBytes = ({ jetton }) => jetton ? getTonJettonCommentMaxBytes(jetton) : tonNativeCommentMaxBytes;
57
+ /**
58
+ * Rejects a TON comment that will not fit the cell it is destined for.
59
+ *
60
+ * Memos are load-bearing on TON — an exchange deposit without the right one
61
+ * loses the funds — so this is the single place that decides whether a comment
62
+ * is sendable. Run it before the user commits, not at keysign, where an
63
+ * oversized jetton comment surfaces as a bare WalletCore "Internal error".
64
+ */
65
+ export const validateTonComment = ({ memo, jetton }) => {
66
+ const byteLength = new TextEncoder().encode(memo).length;
67
+ const maxBytes = getTonCommentMaxBytes({ jetton });
68
+ if (byteLength <= maxBytes) {
69
+ return;
70
+ }
71
+ throw new Error(jetton
72
+ ? `TON memo must be at most ${maxBytes} bytes for this jetton amount (got ${byteLength}); the limit shrinks as the amount grows.`
73
+ : `TON memo must be at most ${maxBytes} bytes (got ${byteLength}).`);
74
+ };
75
+ //# sourceMappingURL=comment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/ton/comment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,mFAAmF;AACnF,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAE5B,0CAA0C;AAC1C,MAAM,QAAQ,GAAG,IAAI,CAAA;AAErB,kCAAkC;AAClC,MAAM,oBAAoB,GAAG,SAAS,CAAA;AAEtC;;;GAGG;AACH,MAAM,WAAW,GAAG,GAAG,CAAA;AAEvB;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEpD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;AAStF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAA2B,EAAU,EAAE;IAC9G,MAAM,cAAc,GAAG,SAAS,EAAE;SAC/B,SAAS,CAAC,oBAAoB,EAAE,EAAE,CAAC;SACnC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW;SAC5B,UAAU,CAAC,MAAM,CAAC;SAClB,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,qBAAqB;IAElE,MAAM,SAAS,GAAG,cAAc,CAAC,aAAa,GAAG,oBAAoB,GAAG,iBAAiB,CAAA;IAEzF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA;AAQD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAAE,MAAM,EAAmC,EAAU,EAAE,CAC3F,MAAM,CAAC,CAAC,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAA;AAEzE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAmB,EAAQ,EAAE;IAC5E,MAAM,UAAU,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;IACxD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAElD,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;QAC3B,OAAM;IACR,CAAC;IAED,MAAM,IAAI,KAAK,CACb,MAAM;QACJ,CAAC,CAAC,4BAA4B,QAAQ,sCAAsC,UAAU,2CAA2C;QACjI,CAAC,CAAC,4BAA4B,QAAQ,eAAe,UAAU,IAAI,CACtE,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The bounce flag a dApp (TonConnect) message destination declares. A user-friendly
3
+ * address carries it in its tag byte — `EQ…`/`kQ…` bounceable, `UQ…`/`0Q…` not. Raw
4
+ * `workchain:hex` addresses carry no tag, so callers have to disambiguate the two cases
5
+ * the raw form can mean:
6
+ * - a deployment message with `stateInit`, whose destination has no code yet to bounce
7
+ * from and therefore must stay non-bounceable
8
+ * - an already-deployed contract/router address, which must default bounceable so a
9
+ * rejection refunds instead of absorbing the transfer
10
+ *
11
+ * Input that is neither shape is reported non-bounceable, and the signer refuses such a
12
+ * destination anyway. The flag is part of the signed body, so every co-signer has to
13
+ * derive it from the same place: the message's own address plus whether the message
14
+ * carries `stateInit`, never a wallet-level default.
15
+ */
16
+ export declare const getTonMessageBounceable: (address: string, hasStateInit?: boolean) => boolean;
17
+ //# sourceMappingURL=messageBounce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageBounce.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/ton/messageBounce.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,MAAM,EAAE,sBAAoB,KAAG,OAW/E,CAAA"}
@@ -0,0 +1,41 @@
1
+ import { Address } from '@ton/core';
2
+ import { attempt } from '@vultisig/lib-utils/attempt';
3
+ /**
4
+ * A raw `workchain:hash` destination in any spelling the signer accepts. Leading zeros,
5
+ * an explicit sign and a `0x`-prefixed hash all name the same account: `0:…`, `00:…`,
6
+ * `+0:…` and `-0:…` compile to one and the same pre-image, as do `-1:…` and `-01:…`.
7
+ *
8
+ * Matching the shape beats demanding one canonical spelling. The error that costs money
9
+ * is calling a deployed contract non-bounceable, so every destination WalletCore will
10
+ * sign has to reach the `!hasStateInit` rule below — `00:<hash>` used to fall through it
11
+ * and get signed non-bounceable while `0:<hash>` did not, losing the refund on a
12
+ * rejection purely because of how the dApp spelled the address. Being wider here than
13
+ * the signer costs nothing: a shape WalletCore refuses never reaches a signed message.
14
+ */
15
+ const rawAddressPattern = /^[+-]?\d+:(?:0x)?[0-9a-fA-F]{64}$/;
16
+ /**
17
+ * The bounce flag a dApp (TonConnect) message destination declares. A user-friendly
18
+ * address carries it in its tag byte — `EQ…`/`kQ…` bounceable, `UQ…`/`0Q…` not. Raw
19
+ * `workchain:hex` addresses carry no tag, so callers have to disambiguate the two cases
20
+ * the raw form can mean:
21
+ * - a deployment message with `stateInit`, whose destination has no code yet to bounce
22
+ * from and therefore must stay non-bounceable
23
+ * - an already-deployed contract/router address, which must default bounceable so a
24
+ * rejection refunds instead of absorbing the transfer
25
+ *
26
+ * Input that is neither shape is reported non-bounceable, and the signer refuses such a
27
+ * destination anyway. The flag is part of the signed body, so every co-signer has to
28
+ * derive it from the same place: the message's own address plus whether the message
29
+ * carries `stateInit`, never a wallet-level default.
30
+ */
31
+ export const getTonMessageBounceable = (address, hasStateInit = false) => {
32
+ if (!Address.isFriendly(address)) {
33
+ return rawAddressPattern.test(address) && !hasStateInit;
34
+ }
35
+ const parsed = attempt(() => Address.parseFriendly(address));
36
+ if ('error' in parsed) {
37
+ return false;
38
+ }
39
+ return parsed.data.isBounceable;
40
+ };
41
+ //# sourceMappingURL=messageBounce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageBounce.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/ton/messageBounce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,iBAAiB,GAAG,mCAAmC,CAAA;AAE7D;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAe,EAAE,YAAY,GAAG,KAAK,EAAW,EAAE;IACxF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAA;IACzD,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;IAC5D,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAA;AACjC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTronBlockInfo.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/tron/getTronBlockInfo.ts"],"names":[],"mappings":"AAqBA,KAAK,sBAAsB,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,yBAAyB,EAAE,MAAM,CAAA;CAClC,CAAA;AAQD,KAAK,qBAAqB,GAAG;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AA+BD,wBAAsB,gBAAgB,CAAC,EACrC,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,GAChB,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA4BzD"}
1
+ {"version":3,"file":"getTronBlockInfo.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/tron/getTronBlockInfo.ts"],"names":[],"mappings":"AAqBA,KAAK,sBAAsB,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,yBAAyB,EAAE,MAAM,CAAA;CAClC,CAAA;AAQD,KAAK,qBAAqB,GAAG;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AA+BD,wBAAsB,gBAAgB,CAAC,EACrC,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,GAChB,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA2BzD"}
@@ -39,14 +39,13 @@ export async function getTronBlockInfo({ expiration, timestamp, refBlockBytesHex
39
39
  refBlockHashHex,
40
40
  });
41
41
  }
42
- const currentTimestampMillis = Math.floor(Date.now());
43
- const nowMillis = Math.floor(Date.now());
42
+ const blockHeaderTimestamp = shouldBePresent(currentBlock.block_header?.raw_data?.timestamp);
44
43
  const oneHourMillis = 60 * 60 * 1000;
45
- expiration = expiration ?? nowMillis + oneHourMillis;
44
+ expiration = expiration ?? blockHeaderTimestamp + oneHourMillis;
46
45
  return {
47
- timestamp: timestamp ?? currentTimestampMillis,
46
+ timestamp: timestamp ?? blockHeaderTimestamp,
48
47
  expiration,
49
- blockHeaderTimestamp: currentBlock.block_header?.raw_data?.timestamp ?? 0,
48
+ blockHeaderTimestamp,
50
49
  blockHeaderNumber: currentBlock.block_header?.raw_data?.number ?? 0,
51
50
  blockHeaderVersion: currentBlock.block_header?.raw_data?.version ?? 0,
52
51
  blockHeaderTxTrieRoot: currentBlock.block_header?.raw_data?.txTrieRoot ?? '',
@@ -1 +1 @@
1
- {"version":3,"file":"getTronBlockInfo.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/tron/getTronBlockInfo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getTronBlockInfo.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/tron/getTronBlockInfo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chainFeeCoin.d.ts","sourceRoot":"","sources":["../../../../../packages/core/chain/coin/chainFeeCoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAmB,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAE,SAAS,EAAqB,MAAM,gCAAgC,CAAA;AAiN7E,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,CAG/C,CAAA"}
1
+ {"version":3,"file":"chainFeeCoin.d.ts","sourceRoot":"","sources":["../../../../../packages/core/chain/coin/chainFeeCoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAmB,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAE,SAAS,EAAqB,MAAM,gCAAgC,CAAA;AA2M7E,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,CAG/C,CAAA"}
@@ -1,6 +1,5 @@
1
1
  import { Chain, EthereumL2Chain } from '@vultisig/core-chain/Chain';
2
2
  import { recordMap } from '@vultisig/lib-utils/record/recordMap';
3
- import { kujiraCoinsMigratedToThorChainMetadata } from '../chains/cosmos/thor/kujira-merge/index.js';
4
3
  const ether = {
5
4
  ticker: 'ETH',
6
5
  logo: 'eth',
@@ -99,10 +98,6 @@ const leanChainFeeCoin = {
99
98
  decimals: 18,
100
99
  priceProviderId: 'dydx-chain',
101
100
  },
102
- [Chain.Kujira]: {
103
- ...kujiraCoinsMigratedToThorChainMetadata.kuji,
104
- decimals: 6,
105
- },
106
101
  [Chain.Terra]: {
107
102
  ticker: 'LUNA',
108
103
  logo: 'luna',
@@ -1 +1 @@
1
- {"version":3,"file":"chainFeeCoin.js","sourceRoot":"","sources":["../../../../../packages/core/chain/coin/chainFeeCoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AAEhE,OAAO,EAAE,sCAAsC,EAAE,MAAM,oCAAoC,CAAA;AAE3F,MAAM,KAAK,GAAsB;IAC/B,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,EAAE;IACZ,eAAe,EAAE,UAAU;CAC5B,CAAA;AAED,MAAM,gBAAgB,GAAqC;IACzD,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACf,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,SAAS;KAC3B;IACD,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;QACnB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,cAAc;KAChC;IACD,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QAChB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,UAAU;KAC5B;IACD,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QAChB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,UAAU;KAC5B;IACD,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACZ,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,MAAM;KACxB;IACD,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACd,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,QAAQ;KAC1B;IACD,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QACjB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,WAAW;KAC7B;IACD,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QACjB,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,OAAO;KACzB;IACD,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACd,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,QAAQ;KAC1B;IACD,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,kBAAkB;KACpC;IACD,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK;IACvB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QACjB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,aAAa;KAC/B;IACD,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,aAAa;KAC/B;IAED,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACf,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,yBAAyB;KAC3C;IAED,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;QACnB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,kBAAkB;KACpC;IACD,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACZ,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,YAAY;KAC9B;IACD,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACd,GAAG,sCAAsC,CAAC,IAAI;QAC9C,QAAQ,EAAE,CAAC;KACZ;IACD,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACb,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,cAAc;KAChC;IACD,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;QACpB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,YAAY;KAC9B;IACD,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,KAAK;KACvB;IACD,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QAChB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,UAAU;KAC5B;IACD,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QACjB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,WAAW;KAC7B;IACD,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACb,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,UAAU;KAC5B;IACD,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACb,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,eAAe;KACjC;IACD,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACd,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,QAAQ;KAC1B;IACD,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACf,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,SAAS;KAC3B;IACD,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACZ,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,MAAM;KACxB;IACD,GAAG,SAAS,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IAC1C,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACb,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,OAAO;KACzB;IACD,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACf,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,SAAS;KAC3B;IACD,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACd,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,QAAQ;KAC1B;IACD,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;QACnB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,aAAa;KAC/B;IACD,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,aAAa;KAC/B;IACD,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACZ,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,cAAc;KAChC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAA6B,SAAS,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAClG,GAAG,IAAI;IACP,KAAK;CACN,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"chainFeeCoin.js","sourceRoot":"","sources":["../../../../../packages/core/chain/coin/chainFeeCoin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"coinType.d.ts","sourceRoot":"","sources":["../../../../../packages/core/chain/coin/coinType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAA;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAGlD,KAAK,KAAK,GAAG;IACX,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,qCAAqC,KAAK,KAAG,QAyCrE,CAAA"}
1
+ {"version":3,"file":"coinType.d.ts","sourceRoot":"","sources":["../../../../../packages/core/chain/coin/coinType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAA;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAGlD,KAAK,KAAK,GAAG;IACX,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,qCAAqC,KAAK,KAAG,QAwCrE,CAAA"}
@@ -19,7 +19,6 @@ export const getCoinType = ({ walletCore: { CoinType }, chain }) => match(chain,
19
19
  [Chain.Dash]: () => CoinType.dash,
20
20
  [Chain.Solana]: () => CoinType.solana,
21
21
  [Chain.Cosmos]: () => CoinType.cosmos,
22
- [Chain.Kujira]: () => CoinType.kujira,
23
22
  [Chain.Dydx]: () => CoinType.dydx,
24
23
  [Chain.Polkadot]: () => CoinType.polkadot,
25
24
  [Chain.Bittensor]: () => CoinType.polkadot,
@@ -1 +1 @@
1
- {"version":3,"file":"coinType.js","sourceRoot":"","sources":["../../../../../packages/core/chain/coin/coinType.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coinType.js","sourceRoot":"","sources":["../../../../../packages/core/chain/coin/coinType.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,CA8OpF,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,CA6KpF,CAAA"}
@@ -152,70 +152,6 @@ export const knownCosmosTokens = {
152
152
  priceProviderId: 'celestia',
153
153
  },
154
154
  },
155
- [Chain.Kujira]: {
156
- 'factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk': {
157
- ticker: 'USK',
158
- logo: 'usk.png',
159
- decimals: 6,
160
- priceProviderId: 'usk',
161
- },
162
- 'factory/kujira12cjjeytrqcj25uv349thltcygnp9k0kukpct0e/uwink': {
163
- ...kujiraCoinsMigratedToThorChainMetadata.wink,
164
- decimals: 6,
165
- },
166
- 'factory/kujira1aaudpfr9y23lt9d45hrmskphpdfaq9ajxd3ukh/unstk': {
167
- ...kujiraCoinsMigratedToThorChainMetadata.nstk,
168
- decimals: 6,
169
- },
170
- 'factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta': {
171
- ticker: 'MNTA',
172
- logo: 'mnta.png',
173
- decimals: 6,
174
- priceProviderId: 'mantadao',
175
- },
176
- 'ibc/FE98AAD68F02F03565E9FA39A5E627946699B2B07115889ED812D8BA639576A9': {
177
- ticker: 'USDC',
178
- logo: 'usdc',
179
- decimals: 6,
180
- priceProviderId: 'usd-coin',
181
- },
182
- 'ibc/640E1C3E28FD45F611971DF891AE3DC90C825DF759DF8FAA8F33F7F72B35AD56': {
183
- ticker: 'ASTRO',
184
- logo: 'terra-astroport.png',
185
- decimals: 6,
186
- priceProviderId: 'astroport-fi',
187
- },
188
- 'ibc/119334C55720942481F458C9C462F5C0CD1F1E7EEAC4679D674AA67221916AEA': {
189
- ticker: 'LUNC',
190
- logo: 'lunc',
191
- decimals: 6,
192
- priceProviderId: 'terra-luna',
193
- },
194
- 'factory/kujira1tsekaqv9vmem0zwskmf90gpf0twl6k57e8vdnq/urkuji': {
195
- ...kujiraCoinsMigratedToThorChainMetadata.rkuji,
196
- decimals: 6,
197
- },
198
- 'factory/kujira13x2l25mpkhwnwcwdzzd34cr8fyht9jlj7xu9g4uffe36g3fmln8qkvm3qn/unami': {
199
- ticker: 'NAMI',
200
- logo: 'NAMI.png',
201
- decimals: 6,
202
- priceProviderId: 'nami-protocol',
203
- },
204
- 'factory/kujira1sc6a0347cc5q3k890jj0pf3ylx2s38rh4sza4t/ufuzn': {
205
- ...kujiraCoinsMigratedToThorChainMetadata.fuzn,
206
- decimals: 6,
207
- },
208
- 'ibc/B64A07C006C0F5E260A8AD50BD53568F1FD4A0D75B7A9F8765C81BEAFDA62053': {
209
- ...kujiraCoinsMigratedToThorChainMetadata.lvn,
210
- decimals: 6,
211
- },
212
- 'factory/kujira13x2l25mpkhwnwcwdzzd34cr8fyht9jlj7xu9g4uffe36g3fmln8qkvm3qn/uauto': {
213
- ticker: 'AUTO',
214
- logo: 'auto.png',
215
- decimals: 6,
216
- priceProviderId: 'auto-2',
217
- },
218
- },
219
155
  [Chain.Terra]: {
220
156
  terra13j2k5rfkg0qhk58vz63cze0uze4hwswlrfnm0fa4rnyggjyfrcnqcrs5z2: {
221
157
  ticker: 'TPT',
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/coin/knownTokens/cosmos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/coin/knownTokens/cosmos.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { Chain } from '@vultisig/core-chain/Chain';
2
2
  import { CoinKey, KnownCoin, KnownCoinMetadata, Token } from '../Coin.js';
3
3
  export declare const vult: Token<CoinKey> & KnownCoinMetadata;
4
4
  export declare const usdc: Token<CoinKey> & KnownCoinMetadata;
5
- export declare const knownTokens: Record<"Arbitrum" | "Base" | "Blast" | "Optimism" | "Zksync" | "Mantle" | "Robinhood" | "Avalanche" | "CronosChain" | "BSC" | "Ethereum" | "Polygon" | "Hyperliquid" | "Sei" | "Cosmos" | "Osmosis" | "Dydx" | "Kujira" | "Terra" | "TerraClassic" | "Noble" | "Akash" | "THORChain" | "MayaChain" | import("@vultisig/core-chain/Chain").UtxoChain | import("@vultisig/core-chain/Chain").OtherChain, KnownCoin[]>;
5
+ export declare const knownTokens: Record<"Arbitrum" | "Base" | "Blast" | "Optimism" | "Zksync" | "Mantle" | "Robinhood" | "Avalanche" | "CronosChain" | "BSC" | "Ethereum" | "Polygon" | "Hyperliquid" | "Sei" | "Cosmos" | "Osmosis" | "Dydx" | "Terra" | "TerraClassic" | "Noble" | "Akash" | "THORChain" | "MayaChain" | import("@vultisig/core-chain/Chain").UtxoChain | import("@vultisig/core-chain/Chain").OtherChain, KnownCoin[]>;
6
6
  type KnownIndex = Record<Chain, Record<string, KnownCoin>>;
7
7
  export declare const knownTokensIndex: KnownIndex;
8
8
  export {};