@vultisig/core-chain 2.2.3 → 2.2.5

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 (32) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/chains/polkadot/dapp/constructSigningPayload.d.ts +19 -5
  3. package/dist/chains/polkadot/dapp/constructSigningPayload.d.ts.map +1 -1
  4. package/dist/chains/polkadot/dapp/constructSigningPayload.js +33 -6
  5. package/dist/chains/polkadot/dapp/constructSigningPayload.js.map +1 -1
  6. package/dist/coin/balance/resolvers/tron.d.ts +17 -4
  7. package/dist/coin/balance/resolvers/tron.d.ts.map +1 -1
  8. package/dist/coin/balance/resolvers/tron.js +61 -55
  9. package/dist/coin/balance/resolvers/tron.js.map +1 -1
  10. package/dist/coin/knownTokens/index.d.ts.map +1 -1
  11. package/dist/coin/knownTokens/index.js +19 -0
  12. package/dist/coin/knownTokens/index.js.map +1 -1
  13. package/dist/station/importPrimitives.d.ts +57 -0
  14. package/dist/station/importPrimitives.d.ts.map +1 -0
  15. package/dist/station/importPrimitives.js +124 -0
  16. package/dist/station/importPrimitives.js.map +1 -0
  17. package/dist/swap/general/GeneralSwapQuote.d.ts +4 -0
  18. package/dist/swap/general/GeneralSwapQuote.d.ts.map +1 -1
  19. package/dist/swap/general/lifi/api/getLifiSwapQuote.d.ts.map +1 -1
  20. package/dist/swap/general/lifi/api/getLifiSwapQuote.js +55 -2
  21. package/dist/swap/general/lifi/api/getLifiSwapQuote.js.map +1 -1
  22. package/dist/swap/general/lifi/api/injectSolanaAtaIfMissing.d.ts +10 -0
  23. package/dist/swap/general/lifi/api/injectSolanaAtaIfMissing.d.ts.map +1 -1
  24. package/dist/swap/general/lifi/api/injectSolanaAtaIfMissing.js +38 -5
  25. package/dist/swap/general/lifi/api/injectSolanaAtaIfMissing.js.map +1 -1
  26. package/dist/swap/general/swapkit/api/getSwapKitQuote.d.ts.map +1 -1
  27. package/dist/swap/general/swapkit/api/getSwapKitQuote.js +38 -0
  28. package/dist/swap/general/swapkit/api/getSwapKitQuote.js.map +1 -1
  29. package/dist/tx/status/resolvers/tron.d.ts.map +1 -1
  30. package/dist/tx/status/resolvers/tron.js +28 -3
  31. package/dist/tx/status/resolvers/tron.js.map +1 -1
  32. package/package.json +7 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @vultisig/core-chain
2
2
 
3
+ ## 2.2.5
4
+
5
+ ### Patch Changes
6
+
7
+ - [#554](https://github.com/vultisig/vultisig-sdk/pull/554) [`bf7278c`](https://github.com/vultisig/vultisig-sdk/commit/bf7278c5886789c4a181169a36bc9296ef81b79c) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Emit the dedicated commondata SwapKit swap payload for source-chain transfer routes so QR cosigners can distinguish SwapKit swaps from OneInch-compatible swap payloads.
8
+
9
+ ## 2.2.4
10
+
11
+ ### Patch Changes
12
+
13
+ - [#512](https://github.com/vultisig/vultisig-sdk/pull/512) [`72eb200`](https://github.com/vultisig/vultisig-sdk/commit/72eb200ec647a707d1ebdc1f8b6f0f5243780477) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Add Station Terra import primitives for legacy seed-byte, mnemonic, and raw private-key migration flows.
14
+
3
15
  ## 2.2.3
4
16
 
5
17
  ### Patch Changes
@@ -1,12 +1,26 @@
1
1
  import { PolkadotSignerPayloadJSON } from './PolkadotSignerPayload.js';
2
2
  /**
3
- * Construct the raw signing payload bytes from a Polkadot SignerPayloadJSON.
3
+ * Construct the raw signing payload bytes from an Asset Hub Polkadot SignerPayloadJSON.
4
4
  *
5
- * Follows the Polkadot extrinsic payload v4 encoding:
6
- * method + era + compact(nonce) + compact(tip) + LE-u32(specVersion) +
7
- * LE-u32(transactionVersion) + genesisHash + blockHash
5
+ * SCOPE: Asset Hub (statemint/statemine) payloads ONLY. The payload must include
6
+ * both `ChargeAssetTxPayment` and `CheckMetadataHash` in `signedExtensions`.
7
+ * Relay-chain payloads use different extensions and must NOT use this function.
8
+ *
9
+ * Follows the Asset Hub Polkadot (statemint) extrinsic payload v4 encoding:
10
+ * method + era + compact(nonce) + compact(tip)
11
+ * + ChargeAssetTxPayment::extra (Option<MultiLocation>=None = 0x00)
12
+ * + CheckMetadataHash::extra (mode=Disabled = 0x00)
13
+ * + LE-u32(specVersion) + LE-u32(transactionVersion)
14
+ * + genesisHash + blockHash
15
+ * + CheckMetadataHash::additional_signed (Option<H256>=None = 0x00)
16
+ *
17
+ * The three Asset Hub signed-extension bytes (ChargeAssetTxPayment option byte,
18
+ * CheckMetadataHash mode byte, CheckMetadataHash additional-signed byte) are
19
+ * required by the Asset Hub runtime. Without them the node rejects the
20
+ * extrinsic with BadProof because the payload hash the node computes differs
21
+ * from the one the wallet signed.
8
22
  *
9
23
  * If the payload exceeds 256 bytes, it is blake2b-256 hashed before signing.
10
24
  */
11
- export declare const constructPolkadotSigningPayload: (payload: PolkadotSignerPayloadJSON) => Uint8Array;
25
+ export declare const constructAssetHubPolkadotSigningPayload: (payload: PolkadotSignerPayloadJSON) => Uint8Array;
12
26
  //# sourceMappingURL=constructSigningPayload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constructSigningPayload.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/polkadot/dapp/constructSigningPayload.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAInE;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B,GAAI,SAAS,yBAAyB,KAAG,UAsBpF,CAAA"}
1
+ {"version":3,"file":"constructSigningPayload.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/polkadot/dapp/constructSigningPayload.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAInE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,uCAAuC,GAAI,SAAS,yBAAyB,KAAG,UAmD5F,CAAA"}
@@ -2,26 +2,53 @@ import { compactToU8a, hexToU8a, u8aConcat } from '@polkadot/util';
2
2
  import { blake2AsU8a } from '@polkadot/util-crypto';
3
3
  const polkadotSigningPayloadHashThreshold = 256;
4
4
  /**
5
- * Construct the raw signing payload bytes from a Polkadot SignerPayloadJSON.
5
+ * Construct the raw signing payload bytes from an Asset Hub Polkadot SignerPayloadJSON.
6
6
  *
7
- * Follows the Polkadot extrinsic payload v4 encoding:
8
- * method + era + compact(nonce) + compact(tip) + LE-u32(specVersion) +
9
- * LE-u32(transactionVersion) + genesisHash + blockHash
7
+ * SCOPE: Asset Hub (statemint/statemine) payloads ONLY. The payload must include
8
+ * both `ChargeAssetTxPayment` and `CheckMetadataHash` in `signedExtensions`.
9
+ * Relay-chain payloads use different extensions and must NOT use this function.
10
+ *
11
+ * Follows the Asset Hub Polkadot (statemint) extrinsic payload v4 encoding:
12
+ * method + era + compact(nonce) + compact(tip)
13
+ * + ChargeAssetTxPayment::extra (Option<MultiLocation>=None = 0x00)
14
+ * + CheckMetadataHash::extra (mode=Disabled = 0x00)
15
+ * + LE-u32(specVersion) + LE-u32(transactionVersion)
16
+ * + genesisHash + blockHash
17
+ * + CheckMetadataHash::additional_signed (Option<H256>=None = 0x00)
18
+ *
19
+ * The three Asset Hub signed-extension bytes (ChargeAssetTxPayment option byte,
20
+ * CheckMetadataHash mode byte, CheckMetadataHash additional-signed byte) are
21
+ * required by the Asset Hub runtime. Without them the node rejects the
22
+ * extrinsic with BadProof because the payload hash the node computes differs
23
+ * from the one the wallet signed.
10
24
  *
11
25
  * If the payload exceeds 256 bytes, it is blake2b-256 hashed before signing.
12
26
  */
13
- export const constructPolkadotSigningPayload = (payload) => {
27
+ export const constructAssetHubPolkadotSigningPayload = (payload) => {
28
+ const required = ['ChargeAssetTxPayment', 'CheckMetadataHash'];
29
+ if (payload.signedExtensions != null) {
30
+ const missing = required.filter(ext => !payload.signedExtensions.includes(ext));
31
+ if (missing.length > 0) {
32
+ throw new Error(`constructAssetHubPolkadotSigningPayload: payload signedExtensions missing required Asset Hub extensions: ${missing.join(', ')}. This function only encodes Asset Hub (statemint) payloads.`);
33
+ }
34
+ }
14
35
  const method = hexToU8a(payload.method);
15
36
  const era = hexToU8a(payload.era);
16
37
  const nonce = compactToU8a(parseInt(payload.nonce, 16));
17
38
  const tip = compactToU8a(payload.tip ? BigInt(payload.tip) : 0n);
39
+ // ChargeAssetTxPayment::extra - Option<MultiLocation> = None
40
+ const chargeAssetTxPaymentNone = new Uint8Array([0x00]);
41
+ // CheckMetadataHash::extra - mode byte = Disabled
42
+ const checkMetadataHashMode = new Uint8Array([0x00]);
18
43
  const specVersion = new Uint8Array(4);
19
44
  new DataView(specVersion.buffer).setUint32(0, parseInt(payload.specVersion, 16), true);
20
45
  const transactionVersion = new Uint8Array(4);
21
46
  new DataView(transactionVersion.buffer).setUint32(0, parseInt(payload.transactionVersion, 16), true);
22
47
  const genesisHash = hexToU8a(payload.genesisHash);
23
48
  const blockHash = hexToU8a(payload.blockHash);
24
- const raw = u8aConcat(method, era, nonce, tip, specVersion, transactionVersion, genesisHash, blockHash);
49
+ // CheckMetadataHash::additional_signed - Option<H256> = None
50
+ const checkMetadataHashNone = new Uint8Array([0x00]);
51
+ const raw = u8aConcat(method, era, nonce, tip, chargeAssetTxPaymentNone, checkMetadataHashMode, specVersion, transactionVersion, genesisHash, blockHash, checkMetadataHashNone);
25
52
  if (raw.length > polkadotSigningPayloadHashThreshold) {
26
53
  return blake2AsU8a(raw, 256);
27
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"constructSigningPayload.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/polkadot/dapp/constructSigningPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAInD,MAAM,mCAAmC,GAAG,GAAG,CAAA;AAE/C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,OAAkC,EAAc,EAAE;IAChG,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;IACvD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAEhE,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IACrC,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;IAEtF,MAAM,kBAAkB,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IAC5C,IAAI,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;IAEpG,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAE7C,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;IAEvG,IAAI,GAAG,CAAC,MAAM,GAAG,mCAAmC,EAAE,CAAC;QACrD,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
1
+ {"version":3,"file":"constructSigningPayload.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/polkadot/dapp/constructSigningPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAInD,MAAM,mCAAmC,GAAG,GAAG,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,OAAkC,EAAc,EAAE;IACxG,MAAM,QAAQ,GAAG,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAA;IAC9D,IAAI,OAAO,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QAChF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,4GAA4G,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8DAA8D,CAC7L,CAAA;QACH,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;IACvD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAEhE,6DAA6D;IAC7D,MAAM,wBAAwB,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACvD,kDAAkD;IAClD,MAAM,qBAAqB,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAEpD,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IACrC,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;IAEtF,MAAM,kBAAkB,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IAC5C,IAAI,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;IAEpG,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAE7C,6DAA6D;IAC7D,MAAM,qBAAqB,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAEpD,MAAM,GAAG,GAAG,SAAS,CACnB,MAAM,EACN,GAAG,EACH,KAAK,EACL,GAAG,EACH,wBAAwB,EACxB,qBAAqB,EACrB,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,qBAAqB,CACtB,CAAA;IAED,IAAI,GAAG,CAAC,MAAM,GAAG,mCAAmC,EAAE,CAAC;QACrD,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
@@ -1,8 +1,21 @@
1
1
  import { CoinBalanceResolver } from '../resolver.js';
2
+ export declare const getTronCoinBalance: CoinBalanceResolver;
2
3
  /**
3
- * Fetches balance for a Tron token (native or TRC20)
4
- * @param coin - Coin object representing the token
5
- * @returns Promise resolving to token balance as string
4
+ * Decodes a Tron Base58Check address and validates its checksum and network prefix.
5
+ *
6
+ * Tron addresses are Base58Check-encoded 21-byte payloads: one-byte network
7
+ * prefix (0x41 on mainnet, 0xa0 on Nile testnet) followed by a 20-byte
8
+ * EVM-compatible address. Using plain bs58 (no checksum) silently produces a
9
+ * wrong 20-byte value when the input address is corrupted or mistyped, causing
10
+ * balance queries to hit a completely different account and return 0 without
11
+ * any error.
12
+ *
13
+ * bs58check.decode verifies the 4-byte SHA-256d checksum and throws on
14
+ * mismatch, so callers get an explicit error rather than silent misdirection.
15
+ *
16
+ * TODO: `packages/sdk/src/chains/tron/tx.ts:tronAddressToBytes` duplicates
17
+ * this logic - consolidate once the SDK can import from core without circular
18
+ * dep issues.
6
19
  */
7
- export declare const getTronCoinBalance: CoinBalanceResolver;
20
+ export declare function base58CheckTronDecode(address: string): string;
8
21
  //# sourceMappingURL=tron.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tron.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/balance/resolvers/tron.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,mBAuChC,CAAA"}
1
+ {"version":3,"file":"tron.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/balance/resolvers/tron.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAgBjD,eAAO,MAAM,kBAAkB,EAAE,mBA0BhC,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAa7D"}
@@ -2,74 +2,74 @@ import { tronRpcUrl } from '@vultisig/core-chain/chains/tron/config';
2
2
  import { isFeeCoin } from '@vultisig/core-chain/coin/utils/isFeeCoin';
3
3
  import { shouldBePresent } from '@vultisig/lib-utils/assert/shouldBePresent';
4
4
  import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
5
- import base58 from 'bs58';
6
- /**
7
- * Fetches balance for a Tron token (native or TRC20)
8
- * @param coin - Coin object representing the token
9
- * @returns Promise resolving to token balance as string
10
- */
5
+ import bs58check from 'bs58check';
6
+ const _mod = bs58check;
7
+ const _decode = (() => {
8
+ const fn = _mod.decode ?? _mod.default?.decode;
9
+ if (!fn)
10
+ throw new Error('bs58check.decode unavailable — bundler did not resolve bs58check correctly');
11
+ return fn;
12
+ })();
13
+ // Tron network prefixes. 0x41 = mainnet, 0xa0 = Nile testnet.
14
+ const TRON_NETWORK_PREFIXES = [0x41, 0xa0];
11
15
  export const getTronCoinBalance = async (input) => {
12
16
  if (isFeeCoin(input)) {
13
- // Native TRX balance
17
+ const data = await queryUrl(`${tronRpcUrl}/wallet/getaccount`, {
18
+ body: {
19
+ address: input.address,
20
+ visible: true,
21
+ },
22
+ });
23
+ const balance = data.result?.balance ?? data.balance ?? data.result?.balance?.toString() ?? '0';
14
24
  try {
15
- const data = await queryUrl(`${tronRpcUrl}/wallet/getaccount`, {
16
- body: {
17
- address: input.address,
18
- visible: true,
19
- },
20
- });
21
- // Extract balance, handling different possible response formats
22
- const balance = data.result?.balance ?? data.balance ?? data.result?.balance?.toString() ?? '0';
23
25
  return BigInt(balance ?? '0');
24
26
  }
25
- catch (error) {
26
- console.error('Error fetching TRX balance:', error);
27
- return BigInt('0');
27
+ catch (err) {
28
+ console.error(`[tron] malformed TRX balance value: ${balance}`, err);
29
+ throw new Error(`Tron RPC returned malformed TRX balance: ${balance}`);
28
30
  }
29
31
  }
30
32
  else {
31
- // TRC20 token balance
32
- try {
33
- // Decode Base58 addresses to hex
34
- const hexAddress = base58TronDecode(input.address);
35
- const hexContractAddress = base58TronDecode(shouldBePresent(input.id));
36
- // Fetch TRC20 token balance using EVM service
37
- const balance = await fetchTRC20TokenBalance(`0x${hexContractAddress}`, `0x${hexAddress}`);
38
- return BigInt(balance ?? '0');
39
- }
40
- catch (error) {
41
- console.error('Error fetching TRC20 token balance:', error);
42
- return BigInt('0');
43
- }
33
+ const hexAddress = base58CheckTronDecode(input.address);
34
+ const hexContractAddress = base58CheckTronDecode(shouldBePresent(input.id));
35
+ return fetchTRC20TokenBalance(`0x${hexContractAddress}`, `0x${hexAddress}`);
44
36
  }
45
37
  };
46
38
  /**
47
- * Decodes a Base58 string with checksum verification (similar to TrustWallet Core)
39
+ * Decodes a Tron Base58Check address and validates its checksum and network prefix.
40
+ *
41
+ * Tron addresses are Base58Check-encoded 21-byte payloads: one-byte network
42
+ * prefix (0x41 on mainnet, 0xa0 on Nile testnet) followed by a 20-byte
43
+ * EVM-compatible address. Using plain bs58 (no checksum) silently produces a
44
+ * wrong 20-byte value when the input address is corrupted or mistyped, causing
45
+ * balance queries to hit a completely different account and return 0 without
46
+ * any error.
47
+ *
48
+ * bs58check.decode verifies the 4-byte SHA-256d checksum and throws on
49
+ * mismatch, so callers get an explicit error rather than silent misdirection.
50
+ *
51
+ * TODO: `packages/sdk/src/chains/tron/tx.ts:tronAddressToBytes` duplicates
52
+ * this logic - consolidate once the SDK can import from core without circular
53
+ * dep issues.
48
54
  */
49
- function base58TronDecode(address) {
50
- try {
51
- // 1. Decode from Base58
52
- const decoded = base58.decode(address);
53
- // 2. The last 4 bytes are the checksum
54
- const addressBytes = decoded.slice(0, -4);
55
- // 3. Convert to hex string - extract only the address part (21 bytes)
56
- const hex = Buffer.from(addressBytes).toString('hex');
57
- // 4. Return only the valid address part (should be 42 chars including '41' prefix)
58
- return hex.substring(0, 42);
59
- }
60
- catch (error) {
61
- console.error('Base58 decoding error:', error);
62
- return '';
55
+ export function base58CheckTronDecode(address) {
56
+ // Throws if the checksum is invalid - intentional.
57
+ const decoded = _decode(address);
58
+ // 21 bytes: 1-byte network prefix + 20-byte EVM address.
59
+ if (decoded.length !== 21 || !TRON_NETWORK_PREFIXES.includes(decoded[0])) {
60
+ throw new Error(`invalid tron address prefix: expected ${TRON_NETWORK_PREFIXES.map(p => `0x${p.toString(16)}`).join(' or ')}, got 0x${decoded[0]?.toString(16) ?? '??'} (length ${decoded.length})`);
63
61
  }
62
+ // Return only the 20-byte EVM address part as hex (strip the network prefix).
63
+ return Buffer.from(decoded.subarray(1)).toString('hex');
64
64
  }
65
65
  async function fetchTRC20TokenBalance(contractAddress, walletAddress) {
66
- // Add "41" prefix after padding with zeros
67
- const paddedWalletAddress = '0000000000000000000000' + walletAddress.slice(2);
68
- // Prepare the data field using the function signature of `balanceOf(address)`
66
+ // walletAddress is "0x" + 40-char EVM hex (base58CheckTronDecode output, prefix already stripped).
67
+ // Pad to 64 chars (12 zero bytes + 20-byte addr) for the balanceOf(address) ABI param.
68
+ const evmHex = walletAddress.slice(2); // 40-char hex, no prefix
69
+ const paddedWalletAddress = '000000000000000000000000' + evmHex; // 24 + 40 = 64 chars
69
70
  const data = '0x70a08231' + paddedWalletAddress;
70
- // Build the params for the RPC call
71
- const fromAddress = '0x' + walletAddress.slice(4); // Keep "0x", remove "41"
72
- const toAddress = '0x' + contractAddress.slice(4); // Keep "0x", remove "41"
71
+ const fromAddress = walletAddress; // already "0x" + 40-char EVM hex
72
+ const toAddress = contractAddress; // already "0x" + 40-char EVM hex
73
73
  const params = [
74
74
  {
75
75
  from: fromAddress,
@@ -81,7 +81,6 @@ async function fetchTRC20TokenBalance(contractAddress, walletAddress) {
81
81
  },
82
82
  'latest',
83
83
  ];
84
- // Call the RPC method
85
84
  return await intRpcCall('eth_call', params);
86
85
  }
87
86
  async function intRpcCall(method, params) {
@@ -90,9 +89,16 @@ async function intRpcCall(method, params) {
90
89
  return BigInt(result);
91
90
  }
92
91
  if (typeof result === 'string') {
93
- // Remove '0x' prefix if present
94
92
  const hexString = result.startsWith('0x') ? result.slice(2) : result;
95
- return hexString ? BigInt(`0x${hexString}`) : 0n;
93
+ if (!hexString)
94
+ return 0n;
95
+ try {
96
+ return BigInt(`0x${hexString}`);
97
+ }
98
+ catch (err) {
99
+ console.error(`[tron] malformed RPC hex response: ${result}`, err);
100
+ throw new Error(`Tron RPC returned malformed hex: ${result}`);
101
+ }
96
102
  }
97
103
  throw {
98
104
  code: 500,
@@ -1 +1 @@
1
- {"version":3,"file":"tron.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/balance/resolvers/tron.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tron.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/balance/resolvers/tron.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/coin/knownTokens/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAIlD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKtE,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,iBAOnC,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,iBAOnC,CAAA;AAktBD,eAAO,MAAM,WAAW,uYAetB,CAAA;AAEF,KAAK,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;AAE1D,eAAO,MAAM,gBAAgB,EAAE,UAO7B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/coin/knownTokens/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAIlD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKtE,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,iBAOnC,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,iBAOnC,CAAA;AAquBD,eAAO,MAAM,WAAW,uYAetB,CAAA;AAEF,KAAK,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;AAE1D,eAAO,MAAM,gBAAgB,EAAE,UAO7B,CAAA"}
@@ -76,6 +76,25 @@ const leanTokens = {
76
76
  decimals: 6,
77
77
  priceProviderId: 'tether',
78
78
  },
79
+ // CoinGecko canonical address. TronScan shows publicTag="USDCOLD" but blueTag="USDC" + 2.5M+ txns confirm this is Circle's USDC.
80
+ TEkxiTehnzSmSe2XqrBj4w32RUN966rdz8: {
81
+ ticker: 'USDC',
82
+ logo: 'usdc',
83
+ decimals: 6,
84
+ priceProviderId: 'usd-coin',
85
+ },
86
+ TXDk8mbtRbXeYuMNS83CfKPaYYT8XWv9Hz: {
87
+ ticker: 'USDD',
88
+ logo: 'usdd',
89
+ decimals: 18,
90
+ priceProviderId: 'usdd',
91
+ },
92
+ TThzxNRLrW2Brp9DcTQU8i4Wd9udCWEdZ3: {
93
+ ticker: 'stUSDT',
94
+ logo: 'stusdt',
95
+ decimals: 18,
96
+ priceProviderId: 'staked-usdt',
97
+ },
79
98
  },
80
99
  [Chain.Solana]: {
81
100
  // QA dogfood Bug J (paaao 2026-05-02): USDC and USDT on Solana
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/coin/knownTokens/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/coin/knownTokens/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import type { WalletCore } from '@trustwallet/wallet-core';
2
+ import { Chain } from '@vultisig/core-chain/Chain';
3
+ export declare const stationTerraCoinTypes: readonly [330, 118];
4
+ export type StationTerraCoinType = (typeof stationTerraCoinTypes)[number];
5
+ export type StationTerraChain = typeof Chain.Terra | typeof Chain.TerraClassic;
6
+ type StationTerraDerivationOptions = {
7
+ /** Station account index from the legacy wallet. Defaults to 0. */
8
+ index?: number;
9
+ /** BIP44 account segment. Station uses 0 by default. */
10
+ account?: number;
11
+ /** Terra coin type. Station defaults to 330 and legacy wallets may use 118. */
12
+ coinType?: StationTerraCoinType;
13
+ };
14
+ export type StationSeedImportSource = StationTerraDerivationOptions & {
15
+ kind: 'seed';
16
+ /** BIP39 seed bytes, for example legacy Station encryptedSeed after decrypting. */
17
+ seed: Uint8Array;
18
+ };
19
+ export type StationMnemonicImportSource = StationTerraDerivationOptions & {
20
+ kind: 'mnemonic';
21
+ mnemonic: string;
22
+ };
23
+ export type StationPrivateKeyImportSource = {
24
+ kind: 'privateKey';
25
+ /** Raw secp256k1 private key as 64 hex characters, optionally prefixed with 0x. */
26
+ privateKeyHex: string;
27
+ };
28
+ export type StationImportSource = StationSeedImportSource | StationMnemonicImportSource | StationPrivateKeyImportSource;
29
+ export type StationTerraChainPublicData = {
30
+ chain: StationTerraChain;
31
+ publicKeyHex: string;
32
+ publicKeyBase64: string;
33
+ address: string;
34
+ isEddsa: false;
35
+ };
36
+ export type StationTerraKeyMaterial = {
37
+ source: StationImportSource['kind'];
38
+ privateKeyHex: string;
39
+ publicKeyHex: string;
40
+ publicKeyBase64: string;
41
+ address: string;
42
+ chainPublicKeys: StationTerraChainPublicData[];
43
+ derivePath?: string;
44
+ coinType?: StationTerraCoinType;
45
+ account?: number;
46
+ index?: number;
47
+ };
48
+ type DeriveStationTerraKeyMaterialInput = {
49
+ source: StationImportSource;
50
+ walletCore: WalletCore;
51
+ };
52
+ export declare const getStationTerraDerivationPath: (options?: StationTerraDerivationOptions) => string;
53
+ export declare const normalizeStationPrivateKeyHex: (input: string) => string;
54
+ export declare const validateStationPrivateKeyHex: (input: string) => string;
55
+ export declare const deriveStationTerraKeyMaterial: ({ source, walletCore, }: DeriveStationTerraKeyMaterialInput) => StationTerraKeyMaterial;
56
+ export {};
57
+ //# sourceMappingURL=importPrimitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importPrimitives.d.ts","sourceRoot":"","sources":["../../../../../packages/core/chain/station/importPrimitives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAKlD,eAAO,MAAM,qBAAqB,qBAAsB,CAAA;AAExD,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA;AACzE,MAAM,MAAM,iBAAiB,GAAG,OAAO,KAAK,CAAC,KAAK,GAAG,OAAO,KAAK,CAAC,YAAY,CAAA;AAE9E,KAAK,6BAA6B,GAAG;IACnC,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,oBAAoB,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,6BAA6B,GAAG;IACpE,IAAI,EAAE,MAAM,CAAA;IACZ,mFAAmF;IACnF,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG,6BAA6B,GAAG;IACxE,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,YAAY,CAAA;IAClB,mFAAmF;IACnF,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG,2BAA2B,GAAG,6BAA6B,CAAA;AAEvH,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,EAAE,iBAAiB,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,KAAK,CAAA;CACf,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACnC,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,2BAA2B,EAAE,CAAA;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,oBAAoB,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,KAAK,kCAAkC,GAAG;IACxC,MAAM,EAAE,mBAAmB,CAAA;IAC3B,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAyBD,eAAO,MAAM,6BAA6B,GAAI,UAAS,6BAAkC,KAAG,MAI3F,CAAA;AAED,eAAO,MAAM,6BAA6B,GAAI,OAAO,MAAM,KAAG,MACM,CAAA;AAEpE,eAAO,MAAM,4BAA4B,GAAI,OAAO,MAAM,KAAG,MAY5D,CAAA;AA2FD,eAAO,MAAM,6BAA6B,GAAI,yBAG3C,kCAAkC,KAAG,uBAkBvC,CAAA"}
@@ -0,0 +1,124 @@
1
+ import { Chain } from '@vultisig/core-chain/Chain';
2
+ import { deriveAddress } from '@vultisig/core-chain/publicKey/address/deriveAddress';
3
+ import BIP32Factory from 'bip32';
4
+ import * as ecc from 'tiny-secp256k1';
5
+ export const stationTerraCoinTypes = [330, 118];
6
+ const stationTerraChains = [Chain.Terra, Chain.TerraClassic];
7
+ const assertNonNegativeInteger = (value, name) => {
8
+ if (!Number.isSafeInteger(value) || value < 0) {
9
+ throw new Error(`${name} must be a non-negative safe integer`);
10
+ }
11
+ };
12
+ const normalizeDerivationOptions = ({ account = 0, index = 0, coinType = 330, }) => {
13
+ assertNonNegativeInteger(account, 'account');
14
+ assertNonNegativeInteger(index, 'index');
15
+ if (!stationTerraCoinTypes.includes(coinType)) {
16
+ throw new Error(`Unsupported Station Terra coin type: ${coinType}`);
17
+ }
18
+ return { account, index, coinType };
19
+ };
20
+ export const getStationTerraDerivationPath = (options = {}) => {
21
+ const { account, index, coinType } = normalizeDerivationOptions(options);
22
+ return `m/44'/${coinType}'/${account}'/0/${index}`;
23
+ };
24
+ export const normalizeStationPrivateKeyHex = (input) => input.trim().replace(/^0x/i, '').replace(/\s+/g, '').toLowerCase();
25
+ export const validateStationPrivateKeyHex = (input) => {
26
+ const privateKeyHex = normalizeStationPrivateKeyHex(input);
27
+ if (!/^[0-9a-f]{64}$/.test(privateKeyHex)) {
28
+ throw new Error('Private key must be 64 hexadecimal characters');
29
+ }
30
+ if (!ecc.isPrivate(Buffer.from(privateKeyHex, 'hex'))) {
31
+ throw new Error('Invalid secp256k1 private key');
32
+ }
33
+ return privateKeyHex;
34
+ };
35
+ const derivePrivateKeyHexFromSeed = (source) => {
36
+ const { account, index, coinType } = normalizeDerivationOptions(source);
37
+ const bip32 = BIP32Factory(ecc);
38
+ const derived = bip32
39
+ .fromSeed(Buffer.from(source.seed))
40
+ .derivePath(getStationTerraDerivationPath({ account, index, coinType }));
41
+ const privateKey = derived.privateKey;
42
+ if (!privateKey) {
43
+ throw new Error('Failed to derive Station Terra private key from seed');
44
+ }
45
+ return {
46
+ privateKeyHex: Buffer.from(privateKey).toString('hex'),
47
+ derivePath: getStationTerraDerivationPath({ account, index, coinType }),
48
+ account,
49
+ index,
50
+ coinType,
51
+ };
52
+ };
53
+ const walletCoreCoinTypeForStationTerra = (walletCore, coinType) => coinType === 330 ? walletCore.CoinType.terraV2 : walletCore.CoinType.terra;
54
+ const derivePrivateKeyHexFromMnemonic = (source, walletCore) => {
55
+ const { account, index, coinType } = normalizeDerivationOptions(source);
56
+ const derivePath = getStationTerraDerivationPath({ account, index, coinType });
57
+ const hdWallet = walletCore.HDWallet.createWithMnemonic(source.mnemonic.trim(), '');
58
+ try {
59
+ const privateKey = hdWallet.getKey(walletCoreCoinTypeForStationTerra(walletCore, coinType), derivePath);
60
+ try {
61
+ return {
62
+ privateKeyHex: Buffer.from(privateKey.data()).toString('hex'),
63
+ derivePath,
64
+ account,
65
+ index,
66
+ coinType,
67
+ };
68
+ }
69
+ finally {
70
+ privateKey.delete?.();
71
+ }
72
+ }
73
+ finally {
74
+ hdWallet.delete?.();
75
+ }
76
+ };
77
+ const derivePublicDataFromPrivateKey = (privateKeyHex, walletCore) => {
78
+ const normalizedPrivateKeyHex = validateStationPrivateKeyHex(privateKeyHex);
79
+ const privateKey = walletCore.PrivateKey.createWithData(Buffer.from(normalizedPrivateKeyHex, 'hex'));
80
+ try {
81
+ const publicKey = privateKey.getPublicKeySecp256k1(true);
82
+ try {
83
+ const publicKeyHex = Buffer.from(publicKey.data()).toString('hex');
84
+ const publicKeyBase64 = Buffer.from(publicKey.data()).toString('base64');
85
+ const chainPublicKeys = stationTerraChains.map(chain => ({
86
+ chain,
87
+ publicKeyHex,
88
+ publicKeyBase64,
89
+ address: deriveAddress({ chain, publicKey, walletCore }),
90
+ isEddsa: false,
91
+ }));
92
+ return {
93
+ privateKeyHex: normalizedPrivateKeyHex,
94
+ publicKeyHex,
95
+ publicKeyBase64,
96
+ address: chainPublicKeys[0].address,
97
+ chainPublicKeys,
98
+ };
99
+ }
100
+ finally {
101
+ publicKey.delete?.();
102
+ }
103
+ }
104
+ finally {
105
+ privateKey.delete?.();
106
+ }
107
+ };
108
+ export const deriveStationTerraKeyMaterial = ({ source, walletCore, }) => {
109
+ if (source.kind === 'privateKey') {
110
+ return {
111
+ source: source.kind,
112
+ ...derivePublicDataFromPrivateKey(source.privateKeyHex, walletCore),
113
+ };
114
+ }
115
+ const seedFields = source.kind === 'mnemonic'
116
+ ? derivePrivateKeyHexFromMnemonic(source, walletCore)
117
+ : derivePrivateKeyHexFromSeed(source);
118
+ return {
119
+ source: source.kind,
120
+ ...seedFields,
121
+ ...derivePublicDataFromPrivateKey(seedFields.privateKeyHex, walletCore),
122
+ };
123
+ };
124
+ //# sourceMappingURL=importPrimitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importPrimitives.js","sourceRoot":"","sources":["../../../../../packages/core/chain/station/importPrimitives.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sDAAsD,CAAA;AACpF,OAAO,YAAY,MAAM,OAAO,CAAA;AAChC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AAErC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,CAAU,CAAA;AA2DxD,MAAM,kBAAkB,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAU,CAAA;AAErE,MAAM,wBAAwB,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE;IAC/D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,sCAAsC,CAAC,CAAA;IAChE,CAAC;AACH,CAAC,CAAA;AAED,MAAM,0BAA0B,GAAG,CAAC,EAClC,OAAO,GAAG,CAAC,EACX,KAAK,GAAG,CAAC,EACT,QAAQ,GAAG,GAAG,GACgB,EAA2C,EAAE;IAC3E,wBAAwB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAC5C,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAExC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAA;IACrE,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,UAAyC,EAAE,EAAU,EAAE;IACnG,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAA;IAExE,OAAO,SAAS,QAAQ,KAAK,OAAO,OAAO,KAAK,EAAE,CAAA;AACpD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,KAAa,EAAU,EAAE,CACrE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;AAEpE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAa,EAAU,EAAE;IACpE,MAAM,aAAa,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAA;IAE1D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;IAClE,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IAED,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,2BAA2B,GAAG,CAAC,MAA+B,EAAqC,EAAE;IACzG,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAA;IACvE,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,OAAO,GAAG,KAAK;SAClB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAClC,UAAU,CAAC,6BAA6B,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;IAErC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IACzE,CAAC;IAED,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtD,UAAU,EAAE,6BAA6B,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACvE,OAAO;QACP,KAAK;QACL,QAAQ;KACT,CAAA;AACH,CAAC,CAAA;AAOD,MAAM,iCAAiC,GAAG,CAAC,UAAsB,EAAE,QAA8B,EAAE,EAAE,CACnG,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAA;AAE5E,MAAM,+BAA+B,GAAG,CACtC,MAAmC,EACnC,UAAsB,EACa,EAAE;IACrC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAA;IACvE,MAAM,UAAU,GAAG,6BAA6B,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC9E,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IAEnF,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,iCAAiC,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAA;QAEvG,IAAI,CAAC;YACH,OAAO;gBACL,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC7D,UAAU;gBACV,OAAO;gBACP,KAAK;gBACL,QAAQ;aACT,CAAA;QACH,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,MAAM,EAAE,EAAE,CAAA;QACvB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAA;IACrB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,8BAA8B,GAAG,CAAC,aAAqB,EAAE,UAAsB,EAAE,EAAE;IACvF,MAAM,uBAAuB,GAAG,4BAA4B,CAAC,aAAa,CAAC,CAAA;IAC3E,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC,CAAA;IAEpG,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAExD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAClE,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACxE,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvD,KAAK;gBACL,YAAY;gBACZ,eAAe;gBACf,OAAO,EAAE,aAAa,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;gBACxD,OAAO,EAAE,KAAc;aACxB,CAAC,CAAC,CAAA;YAEH,OAAO;gBACL,aAAa,EAAE,uBAAuB;gBACtC,YAAY;gBACZ,eAAe;gBACf,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO;gBACnC,eAAe;aAChB,CAAA;QACH,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,MAAM,EAAE,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,MAAM,EAAE,EAAE,CAAA;IACvB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAC5C,MAAM,EACN,UAAU,GACyB,EAA2B,EAAE;IAChE,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACjC,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,GAAG,8BAA8B,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC;SACpE,CAAA;IACH,CAAC;IAED,MAAM,UAAU,GACd,MAAM,CAAC,IAAI,KAAK,UAAU;QACxB,CAAC,CAAC,+BAA+B,CAAC,MAAM,EAAE,UAAU,CAAC;QACrD,CAAC,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAEzC,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,IAAI;QACnB,GAAG,UAAU;QACb,GAAG,8BAA8B,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC;KACxE,CAAA;AACH,CAAC,CAAA"}
@@ -20,6 +20,10 @@ export type GeneralSwapTx = {
20
20
  to: string;
21
21
  amount: bigint;
22
22
  memo?: string;
23
+ txType?: string;
24
+ txPayload?: Uint8Array;
25
+ inboundAddress?: string;
26
+ swapId?: string;
23
27
  };
24
28
  };
25
29
  export type GeneralSwapQuote = {
@@ -1 +1 @@
1
- {"version":3,"file":"GeneralSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/general/GeneralSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,MAAM,MAAM,aAAa,GACrB;IACE,GAAG,EAAE;QACH,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,CAAA;CACF,GACD;IACE,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,OAAO,CAAA;KACjB,CAAA;CACF,GACD;IACE,QAAQ,EAAE;QACR,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACF,CAAA;AAEL,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,EAAE,EAAE,aAAa,CAAA;CAClB,CAAA"}
1
+ {"version":3,"file":"GeneralSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/general/GeneralSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,MAAM,MAAM,aAAa,GACrB;IACE,GAAG,EAAE;QACH,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,CAAA;CACF,GACD;IACE,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,OAAO,CAAA;KACjB,CAAA;CACF,GACD;IACE,QAAQ,EAAE;QACR,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,SAAS,CAAC,EAAE,UAAU,CAAA;QACtB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,CAAA;AAEL,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,EAAE,EAAE,aAAa,CAAA;CAClB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getLifiSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/lifi/api/getLifiSwapQuote.ts"],"names":[],"mappings":"AAKA,OAAO,EAAmB,oBAAoB,EAAE,MAAM,8DAA8D,CAAA;AAKpH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAGzD,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,oBAAoB,CAAC,CAAC,GAAG;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AA4DD,eAAO,MAAM,gBAAgB,GAAU,uCAAuC,KAAK,KAAG,OAAO,CAAC,gBAAgB,CAgI7G,CAAA"}
1
+ {"version":3,"file":"getLifiSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/lifi/api/getLifiSwapQuote.ts"],"names":[],"mappings":"AAKA,OAAO,EAAmB,oBAAoB,EAAE,MAAM,8DAA8D,CAAA;AAKpH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAGzD,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,oBAAoB,CAAC,CAAC,GAAG;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAuFD,eAAO,MAAM,gBAAgB,GAAU,uCAAuC,KAAK,KAAG,OAAO,CAAC,gBAAgB,CA4J7G,CAAA"}
@@ -64,6 +64,32 @@ const DEFAULT_LIFI_SLIPPAGE_TOLERANCE = 0.01;
64
64
  // not a hard reject — getQuote will still dispatch. NeOMakinG #513
65
65
  // round 1 `suggestion` 1.
66
66
  const MAX_COMBINED_COST_BPS = 300;
67
+ // Resolve a LiFi fee-token `chainId` back to a Vultisig `LifiSwapEnabledChain`.
68
+ //
69
+ // `mirrorRecord(lifiSwapChainId)` is a closed, build-time map of LI.FI source
70
+ // chains (EVM chains Vultisig exposes + Solana). LI.FI's `feeCosts[].token`
71
+ // is *not* guaranteed by the API contract to live on the source chain — for
72
+ // cross-chain routes (e.g. EVM → Cosmos via Stargate, EVM → BTC via THORChain
73
+ // relay) the fee can be denominated on an intermediate chain whose ID is not
74
+ // a key in this map. `mirrorRecord(...)[unknownChainId]` then silently yields
75
+ // `undefined`, producing `affiliateFee.chain = undefined`, which serializes
76
+ // as an absent `swap_fee_chain` field alongside a non-empty `swap_fee` —
77
+ // exactly the ambiguous state this PR set out to eliminate.
78
+ //
79
+ // Fall back to `transfer.from.chain` because LiFi's fixed fee is collected
80
+ // from the user's source-chain wallet regardless of which bridge leg
81
+ // denominates it internally, and the source chain is always a
82
+ // `LifiSwapEnabledChain` (guaranteed by the `Input` type). Warn so any
83
+ // future LiFi behavioural drift is visible in ops telemetry rather than
84
+ // silently misattributed. (NeOMakinG #540 review blocking #1.)
85
+ const resolveSwapFeeChain = (chainId, fallback) => {
86
+ const resolved = mirrorRecord(lifiSwapChainId)[chainId];
87
+ if (resolved === undefined) {
88
+ console.warn(`[getLifiSwapQuote] fee token chainId ${chainId} not in lifiSwapChainId; falling back to ${fallback}`);
89
+ return fallback;
90
+ }
91
+ return resolved;
92
+ };
67
93
  export const getLifiSwapQuote = async ({ amount, affiliateBps, ...transfer }) => {
68
94
  setupLifi();
69
95
  const [fromChain, toChain] = [transfer.from, transfer.to].map(({ chain }) => lifiSwapChainId[chain]);
@@ -129,7 +155,7 @@ export const getLifiSwapQuote = async ({ amount, affiliateBps, ...transfer }) =>
129
155
  swapFee: {
130
156
  amount: BigInt(swapFee.amount),
131
157
  decimals: swapFee.token.decimals,
132
- chain: mirrorRecord(lifiSwapChainId)[swapFee.token.chainId],
158
+ chain: resolveSwapFeeChain(swapFee.token.chainId, transfer.from.chain),
133
159
  id: swapFeeAssetId,
134
160
  },
135
161
  },
@@ -153,13 +179,30 @@ export const getLifiSwapQuote = async ({ amount, affiliateBps, ...transfer }) =>
153
179
  swapFee: {
154
180
  amount: BigInt(swapFee.amount),
155
181
  decimals: swapFee.token.decimals,
156
- chain: mirrorRecord(lifiSwapChainId)[swapFee.token.chainId],
182
+ chain: resolveSwapFeeChain(swapFee.token.chainId, transfer.from.chain),
157
183
  id: swapFeeAssetId,
158
184
  },
159
185
  },
160
186
  };
161
187
  },
162
188
  evm: () => {
189
+ // Mirror the Solana branch's fee extraction so EVM routes
190
+ // (including cross-chain EVM → Solana/Cosmos via Stargate, Across,
191
+ // etc.) surface the affiliate fee. LI.FI's `feeCosts` is the same
192
+ // for both kinds; the EVM branch was previously dropping it on the
193
+ // floor which left the swap-fee row blank for every LI.FI EVM
194
+ // route. Keep `affiliateFee` optional: not every route has one
195
+ // (affiliateBps may be 0 and no LIFI Fixed Fee charged).
196
+ const fees = estimate.feeCosts ?? [];
197
+ const swapFee = fees.find(fee => fee.name === 'LIFI Fixed Fee') || fees[0];
198
+ // EVM addresses can come back from LiFi in either lowercase or
199
+ // EIP-55 checksum form; normalize both sides to lowercase so a
200
+ // checksum mismatch doesn't silently fall back to the native
201
+ // fee coin and misattribute the affiliate fee.
202
+ const swapFeeAddress = swapFee?.token.address.toLowerCase();
203
+ const swapFeeAssetId = swapFee &&
204
+ ([fromToken, toToken].find(token => token.toLowerCase() === swapFeeAddress) ||
205
+ chainFeeCoin[transfer.from.chain].id);
163
206
  return {
164
207
  evm: {
165
208
  from: shouldBePresent(from),
@@ -167,6 +210,16 @@ export const getLifiSwapQuote = async ({ amount, affiliateBps, ...transfer }) =>
167
210
  data: shouldBePresent(data),
168
211
  value: BigInt(shouldBePresent(value)).toString(),
169
212
  gasLimit: gasLimit ? BigInt(gasLimit) : undefined,
213
+ ...(swapFee
214
+ ? {
215
+ affiliateFee: {
216
+ amount: BigInt(swapFee.amount),
217
+ decimals: swapFee.token.decimals,
218
+ chain: resolveSwapFeeChain(swapFee.token.chainId, transfer.from.chain),
219
+ id: swapFeeAssetId,
220
+ },
221
+ }
222
+ : {}),
170
223
  },
171
224
  };
172
225
  },
@@ -1 +1 @@
1
- {"version":3,"file":"getLifiSwapQuote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/lifi/api/getLifiSwapQuote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getLifiSwapQuote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/lifi/api/getLifiSwapQuote.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,16 @@ export type InjectSolanaAtaResult = {
15
15
  * runtime so the correct token program (Token or Token-2022) is used for ATA
16
16
  * derivation and instruction creation.
17
17
  *
18
+ * Token-2022 extension limitation: this function handles ATA derivation and
19
+ * creation correctly for Token-2022 mints, but it does NOT inspect or handle
20
+ * Token-2022 extension data (e.g. TransferFee, ConfidentialTransfer,
21
+ * InterestBearingMint). Extensions that affect transfer semantics (e.g.
22
+ * TransferFee withholding, MemoRequired) are the responsibility of the LiFi
23
+ * route builder, not of this ATA injection layer. If a Token-2022 mint has
24
+ * extensions that require special instruction handling beyond ATA creation,
25
+ * the LiFi transaction itself must already encode those requirements.
26
+ * (#519 r-N NeO preferably-blocking #1 - document limitation.)
27
+ *
18
28
  * @param txData Base64-encoded serialized VersionedTransaction from LiFi.
19
29
  * @param mintAddress SPL token mint address (e.g. USDC mint on Solana).
20
30
  * @param owner Wallet address that will own the ATA (swap destination).
@@ -1 +1 @@
1
- {"version":3,"file":"injectSolanaAtaIfMissing.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/lifi/api/injectSolanaAtaIfMissing.ts"],"names":[],"mappings":"AAsCA,MAAM,MAAM,qBAAqB,GAAG;IAClC,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAA;IACZ,uEAAuE;IACvE,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,OAAO,CAAC,qBAAqB,CAsI/B,CAAA"}
1
+ {"version":3,"file":"injectSolanaAtaIfMissing.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/lifi/api/injectSolanaAtaIfMissing.ts"],"names":[],"mappings":"AAsCA,MAAM,MAAM,qBAAqB,GAAG;IAClC,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAA;IACZ,uEAAuE;IACvE,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,OAAO,CAAC,qBAAqB,CAiK/B,CAAA"}
@@ -37,6 +37,16 @@ async function fetchLutWithRetry(client, accountKey) {
37
37
  * runtime so the correct token program (Token or Token-2022) is used for ATA
38
38
  * derivation and instruction creation.
39
39
  *
40
+ * Token-2022 extension limitation: this function handles ATA derivation and
41
+ * creation correctly for Token-2022 mints, but it does NOT inspect or handle
42
+ * Token-2022 extension data (e.g. TransferFee, ConfidentialTransfer,
43
+ * InterestBearingMint). Extensions that affect transfer semantics (e.g.
44
+ * TransferFee withholding, MemoRequired) are the responsibility of the LiFi
45
+ * route builder, not of this ATA injection layer. If a Token-2022 mint has
46
+ * extensions that require special instruction handling beyond ATA creation,
47
+ * the LiFi transaction itself must already encode those requirements.
48
+ * (#519 r-N NeO preferably-blocking #1 - document limitation.)
49
+ *
40
50
  * @param txData Base64-encoded serialized VersionedTransaction from LiFi.
41
51
  * @param mintAddress SPL token mint address (e.g. USDC mint on Solana).
42
52
  * @param owner Wallet address that will own the ATA (swap destination).
@@ -70,9 +80,20 @@ export const injectSolanaAtaIfMissing = async (txData, mintAddress, owner, payer
70
80
  else {
71
81
  throw new Error(`Mint ${mintAddress} is owned by unsupported program ${mintInfo.owner.toBase58()} - expected Token or Token-2022`);
72
82
  }
73
- // allowOwnerOffCurve=true: PDAs are valid ATA owners (e.g. multisig destinations).
83
+ // Validate that the owner is on the ed25519 curve (i.e. a normal wallet keypair).
84
+ // In Vultisig flows the swap destination is always a user wallet — off-curve
85
+ // addresses are PDAs (Program Derived Addresses) and are valid ATA owners in the
86
+ // broader Solana ecosystem but should never appear as the destination in a LiFi
87
+ // quote. Silently passing an off-curve owner with allowOwnerOffCurve=true would
88
+ // derive an ATA that the user likely can never sign for, producing an opaque
89
+ // simulation failure. (#519 r-N NeO should-fix #2.)
90
+ if (!PublicKey.isOnCurve(ownerPubkey.toBytes())) {
91
+ throw new Error(`Owner ${owner} is off the ed25519 curve (PDA or invalid key) - Vultisig LiFi swaps require an on-curve wallet address as destination`);
92
+ }
93
+ // allowOwnerOffCurve=false (default): we already validated above that the owner
94
+ // is on-curve, so we don't need to pass the flag — keeping it explicit for clarity.
74
95
  const ataAddress = getAssociatedTokenAddressSync(mintPubkey, ownerPubkey,
75
- /* allowOwnerOffCurve */ true, tokenProgramId);
96
+ /* allowOwnerOffCurve */ false, tokenProgramId);
76
97
  const ataInfo = await client.getAccountInfo(ataAddress);
77
98
  // ATA already exists - verify it's actually a token account owned by the
78
99
  // matching program before skipping injection. A non-token account squatting
@@ -105,9 +126,21 @@ export const injectSolanaAtaIfMissing = async (txData, mintAddress, owner, payer
105
126
  // accepts both legacy and V0 messages, and compileToV0Message always produces
106
127
  // a V0 message. LiFi does not send legacy Solana transactions in practice but
107
128
  // the path is safe regardless.
108
- const decompiledMessage = TransactionMessage.decompile(versionedTx.message, {
109
- addressLookupTableAccounts: lutAccounts,
110
- });
129
+ //
130
+ // When the tx references LUTs, decompile can fail if a referenced LUT account
131
+ // was not fetched (e.g. all retry attempts exhausted). Rather than letting the
132
+ // SDK throw an opaque "unknown account" message, we wrap here and re-throw with
133
+ // context so callers can distinguish a LUT-dependency failure from any other
134
+ // decompile error. (#519 r-N NeO should-fix #1.)
135
+ let decompiledMessage;
136
+ try {
137
+ decompiledMessage = TransactionMessage.decompile(versionedTx.message, {
138
+ addressLookupTableAccounts: lutAccounts,
139
+ });
140
+ }
141
+ catch (err) {
142
+ throw new Error(`Failed to decompile LiFi transaction message - one or more LUT accounts could not be resolved (fetched ${lutAccounts.length} of ${versionedTx.message.addressTableLookups?.length ?? 0} referenced LUTs). Original error: ${err instanceof Error ? err.message : String(err)}`);
143
+ }
111
144
  // Validate the caller-supplied payer matches the tx's actual fee-payer.
112
145
  // If LiFi ever changes the fee-payer convention (or the caller passes a
113
146
  // wrong address), the createAtaIx would be funded by `payerPubkey` while
@@ -1 +1 @@
1
- {"version":3,"file":"injectSolanaAtaIfMissing.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/lifi/api/injectSolanaAtaIfMissing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"injectSolanaAtaIfMissing.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/lifi/api/injectSolanaAtaIfMissing.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSwapKitQuote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/swapkit/api/getSwapKitQuote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAEnE,OAAO,EAAE,gBAAgB,EAAiB,MAAM,oDAAoD,CAAA;AAEpG,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gEAAgE,CAAA;AAGxH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC,GAAG;IACzE,IAAI,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAA;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AA+kBD,eAAO,MAAM,eAAe,GAAU,+CAMnC,KAAK,KAAG,OAAO,CAAC,gBAAgB,CA2BlC,CAAA"}
1
+ {"version":3,"file":"getSwapKitQuote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/swapkit/api/getSwapKitQuote.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAEnE,OAAO,EAAE,gBAAgB,EAAiB,MAAM,oDAAoD,CAAA;AAEpG,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gEAAgE,CAAA;AAGxH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC,GAAG;IACzE,IAAI,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAA;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAooBD,eAAO,MAAM,eAAe,GAAU,+CAMnC,KAAK,KAAG,OAAO,CAAC,gBAAgB,CA2BlC,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { base64Decode } from '@bufbuild/protobuf/wire';
1
2
  import { toChainAmount } from '@vultisig/core-chain/amount/toChainAmount';
2
3
  import { Chain } from '@vultisig/core-chain/Chain';
3
4
  import { chainFeeCoin } from '@vultisig/core-chain/coin/chainFeeCoin';
@@ -288,6 +289,35 @@ const getTransferAmount = ({ depositAmount, tx }, amount, decimals) => {
288
289
  return amount;
289
290
  };
290
291
  const shouldUseTransferTx = (chain) => isOneOf(chain, swapKitTransferSourceChains);
292
+ const textEncoder = new TextEncoder();
293
+ const stringifyCanonicalJson = (value) => {
294
+ if (Array.isArray(value)) {
295
+ return `[${value.map(stringifyCanonicalJson).join(',')}]`;
296
+ }
297
+ if (isRecord(value)) {
298
+ return `{${Object.keys(value)
299
+ .sort()
300
+ .flatMap(key => {
301
+ const item = value[key];
302
+ return item === undefined ? [] : [`${JSON.stringify(key)}:${stringifyCanonicalJson(item)}`];
303
+ })
304
+ .join(',')}}`;
305
+ }
306
+ return JSON.stringify(value);
307
+ };
308
+ const encodeSwapKitTxPayload = (tx, txType) => {
309
+ const normalizedTxType = txType?.toUpperCase();
310
+ if (normalizedTxType === 'CARDANO' || tx === undefined || tx === null) {
311
+ return new Uint8Array();
312
+ }
313
+ if (typeof tx === 'string') {
314
+ if (normalizedTxType === 'PSBT' || normalizedTxType === 'SUI') {
315
+ return base64Decode(tx);
316
+ }
317
+ return textEncoder.encode(tx);
318
+ }
319
+ return textEncoder.encode(stringifyCanonicalJson(tx));
320
+ };
291
321
  const buildTransferTx = (response, from, amount) => {
292
322
  const to = getTransferTargetAddress(response);
293
323
  if (!to) {
@@ -297,6 +327,14 @@ const buildTransferTx = (response, from, amount) => {
297
327
  to,
298
328
  amount: getTransferAmount(response, amount, from.decimals),
299
329
  ...(response.memo ? { memo: response.memo } : {}),
330
+ ...(response.meta?.txType ? { txType: response.meta.txType } : {}),
331
+ ...(response.tx
332
+ ? {
333
+ txPayload: encodeSwapKitTxPayload(response.tx, response.meta?.txType),
334
+ }
335
+ : {}),
336
+ ...(response.inboundAddress ? { inboundAddress: response.inboundAddress } : {}),
337
+ ...(response.swapId ? { swapId: response.swapId } : {}),
300
338
  };
301
339
  return {
302
340
  transfer,
@@ -1 +1 @@
1
- {"version":3,"file":"getSwapKitQuote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/swapkit/api/getSwapKitQuote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getSwapKitQuote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/swapkit/api/getSwapKitQuote.ts"],"names":[],"mappings":"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"}
@@ -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;AAW9C,eAAO,MAAM,eAAe,EAAE,gBAAgB,CAAC,UAAU,CAAC,IAAI,CA4B7D,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,CA0C7D,CAAA"}
@@ -3,6 +3,18 @@ import { chainFeeCoin } from '@vultisig/core-chain/coin/chainFeeCoin';
3
3
  import { attempt } from '@vultisig/lib-utils/attempt';
4
4
  import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
5
5
  import { tronRpcUrl } from '../../../chains/tron/config.js';
6
+ // Terminal failure codes for ResourceReceipt.result (core/Tron.proto field 7, contractResult enum).
7
+ // Protobuf3 JSON serializes non-default enum values by name: successful TRC20 calls emit
8
+ // receipt.result="SUCCESS" (non-default, value=1). Native TRX transfers emit no receipt at all.
9
+ // Known failure codes verified against Tron protocol and live mainnet responses.
10
+ const TRON_RECEIPT_FAILURE_RESULTS = new Set([
11
+ 'FAILED',
12
+ 'OUT_OF_ENERGY',
13
+ 'REVERT',
14
+ 'OUT_OF_TIME',
15
+ 'BANDWIDTH_ERROR',
16
+ 'ACCOUNT_FREEZED',
17
+ ]);
6
18
  export const getTronTxStatus = async ({ hash }) => {
7
19
  const url = `${tronRpcUrl}/wallet/gettransactioninfobyid`;
8
20
  const { data: tx, error } = await attempt(queryUrl(url, {
@@ -11,9 +23,22 @@ export const getTronTxStatus = async ({ hash }) => {
11
23
  if (error || !tx || tx.blockNumber === undefined || tx.blockNumber === 0) {
12
24
  return { status: 'pending' };
13
25
  }
14
- const receiptResult = tx.receipt?.result;
15
- const success = receiptResult !== 'FAILED';
16
- const status = success ? 'success' : 'error';
26
+ // 1. top-level result === "FAILED" → error
27
+ // Tron RPC only emits "FAILED" here — no "SUCCESS" counterpart exists at the top level.
28
+ // iOS ref: `if let topLevelResult = response.data.result, topLevelResult == "FAILED"`
29
+ // (TronTransactionStatusProvider.swift:41 — same guard, same single-value invariant)
30
+ if (tx.result === 'FAILED') {
31
+ return { status: 'error' };
32
+ }
33
+ // 2. receipt absent → pending (native TRX transfers or tx still processing)
34
+ if (!tx.receipt) {
35
+ return { status: 'pending' };
36
+ }
37
+ // 3. receipt.result in terminal failure set → error
38
+ // receipt.result == null → success (native TRX send, no contract result)
39
+ // receipt.result == 'SUCCESS' → success (TRC20/smart-contract success, protobuf3 non-default enum)
40
+ // receipt.result unknown → treat as success (safer than false-failure for user)
41
+ const status = tx.receipt.result != null && TRON_RECEIPT_FAILURE_RESULTS.has(tx.receipt.result) ? 'error' : 'success';
17
42
  const feeCoin = chainFeeCoin[Chain.Tron];
18
43
  const receipt = tx.fee != null
19
44
  ? {
@@ -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;AAYxD,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,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,CAAA;IACxC,MAAM,OAAO,GAAG,aAAa,KAAK,QAAQ,CAAA;IAE1C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;IAC5C,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,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vultisig/core-chain",
3
- "version": "2.2.3",
3
+ "version": "2.2.5",
4
4
  "description": "Blockchain chain logic shared across Vultisig clients",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1240,6 +1240,11 @@
1240
1240
  "import": "./dist/signing/SignatureFormat.js",
1241
1241
  "default": "./dist/signing/SignatureFormat.js"
1242
1242
  },
1243
+ "./station/importPrimitives": {
1244
+ "types": "./dist/station/importPrimitives.d.ts",
1245
+ "import": "./dist/station/importPrimitives.js",
1246
+ "default": "./dist/station/importPrimitives.js"
1247
+ },
1243
1248
  "./swap/affiliate": {
1244
1249
  "types": "./dist/swap/affiliate/index.d.ts",
1245
1250
  "import": "./dist/swap/affiliate/index.js",
@@ -1732,6 +1737,7 @@
1732
1737
  "bip32": "^5.0.1",
1733
1738
  "bitcoinjs-lib": "^7.0.1",
1734
1739
  "bs58": "^6.0.0",
1740
+ "bs58check": "^4.0.0",
1735
1741
  "cbor-x": "^1.6.4",
1736
1742
  "date-fns": "^4.1.0",
1737
1743
  "ethers": "^6.16.0",