@vultisig/core-chain 2.22.2 → 2.23.1

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 (42) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/chains/cardano/cip30/cardanoTxTtl.d.ts +5 -0
  3. package/dist/chains/cardano/cip30/cardanoTxTtl.d.ts.map +1 -1
  4. package/dist/chains/cardano/cip30/cardanoTxTtl.js +7 -2
  5. package/dist/chains/cardano/cip30/cardanoTxTtl.js.map +1 -1
  6. package/dist/chains/cardano/utxo/getCardanoExtendedUtxos.d.ts +5 -0
  7. package/dist/chains/cardano/utxo/getCardanoExtendedUtxos.d.ts.map +1 -1
  8. package/dist/chains/cardano/utxo/getCardanoExtendedUtxos.js +10 -3
  9. package/dist/chains/cardano/utxo/getCardanoExtendedUtxos.js.map +1 -1
  10. package/dist/chains/solana/staking/apyResolver.d.ts +31 -0
  11. package/dist/chains/solana/staking/apyResolver.d.ts.map +1 -0
  12. package/dist/chains/solana/staking/apyResolver.js +70 -0
  13. package/dist/chains/solana/staking/apyResolver.js.map +1 -0
  14. package/dist/chains/solana/staking/models/validator.d.ts +9 -0
  15. package/dist/chains/solana/staking/models/validator.d.ts.map +1 -1
  16. package/dist/chains/solana/staking/models/validator.js +9 -0
  17. package/dist/chains/solana/staking/models/validator.js.map +1 -1
  18. package/dist/swap/general/GeneralSwapQuote.d.ts +1 -1
  19. package/dist/swap/general/jupiter/api/getJupiterSwapQuote.d.ts +9 -6
  20. package/dist/swap/general/jupiter/api/getJupiterSwapQuote.d.ts.map +1 -1
  21. package/dist/swap/general/jupiter/api/getJupiterSwapQuote.js +12 -11
  22. package/dist/swap/general/jupiter/api/getJupiterSwapQuote.js.map +1 -1
  23. package/dist/swap/general/jupiter/config.d.ts +20 -0
  24. package/dist/swap/general/jupiter/config.d.ts.map +1 -1
  25. package/dist/swap/general/jupiter/config.js +4 -4
  26. package/dist/swap/general/jupiter/config.js.map +1 -1
  27. package/dist/swap/general/lifi/api/injectSolanaAtaIfMissing.d.ts.map +1 -1
  28. package/dist/swap/general/lifi/api/injectSolanaAtaIfMissing.js +24 -22
  29. package/dist/swap/general/lifi/api/injectSolanaAtaIfMissing.js.map +1 -1
  30. package/dist/swap/quote/findSwapQuote.d.ts +2 -0
  31. package/dist/swap/quote/findSwapQuote.d.ts.map +1 -1
  32. package/dist/swap/quote/findSwapQuote.js +78 -13
  33. package/dist/swap/quote/findSwapQuote.js.map +1 -1
  34. package/dist/tx/broadcast/resolvers/solana.d.ts.map +1 -1
  35. package/dist/tx/broadcast/resolvers/solana.js +24 -5
  36. package/dist/tx/broadcast/resolvers/solana.js.map +1 -1
  37. package/dist/tx/hash/resolvers/cardano.d.ts.map +1 -1
  38. package/dist/tx/hash/resolvers/cardano.js +6 -3
  39. package/dist/tx/hash/resolvers/cardano.js.map +1 -1
  40. package/dist/utils/getBlockExplorerUrl/index.js +1 -1
  41. package/dist/utils/getBlockExplorerUrl/index.js.map +1 -1
  42. package/package.json +6 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,56 @@
1
1
  # @vultisig/core-chain
2
2
 
3
+ ## 2.23.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#956](https://github.com/vultisig/vultisig-sdk/pull/956) [`f72cbc3`](https://github.com/vultisig/vultisig-sdk/commit/f72cbc35a23edb2b14984fce0a16495a3339e5e6) Thanks [@gastonm5](https://github.com/gastonm5)! - fix(cardano): attach and plan per-UTXO native-token data for MPC keysign parity
8
+
9
+ Adopts commondata's `UtxoInfo.cardano_tokens` across all three missing
10
+ layers, mirroring the mainnet-tested iOS implementation byte-for-byte:
11
+
12
+ - Regenerates `utxo_info_pb.ts` so `CardanoTokenAsset` /
13
+ `UtxoInfo.cardanoTokens` exist and can be decoded off the keysign wire.
14
+ - The keysign initiator fetches Cardano UTXOs with Koios `_extended` and
15
+ attaches per-UTXO native assets (UTXOs ordered by `(hash, index)`, assets
16
+ by `(policyId, assetNameHex)`, hex lowercased) so co-signers see
17
+ deterministic, token-aware payload bytes.
18
+ - The Cardano signing-inputs resolver maps `cardanoTokens` onto WalletCore
19
+ `TxInput.token_amount` (minimal big-endian amount bytes), letting the
20
+ planner reconcile input tokens into the change output.
21
+
22
+ Fixes MPC co-signing for any Cardano address holding native tokens:
23
+ iOS/macOS-initiated sends no longer fail keysign with a pre-image hash
24
+ mismatch, and SDK-initiated sends no longer build token-dropping bodies
25
+ that the node rejects at broadcast (Ogmios 3123 "value not conserved").
26
+
27
+ - [#806](https://github.com/vultisig/vultisig-sdk/pull/806) [`119d96d`](https://github.com/vultisig/vultisig-sdk/commit/119d96d5b2c9e1e2d8b322bf31d83f3ac4294244) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Rank swap quotes by net user output and tighten the provider preference band.
28
+
29
+ ## 2.23.0
30
+
31
+ ### Minor Changes
32
+
33
+ - [#931](https://github.com/vultisig/vultisig-sdk/pull/931) [`45fb0ae`](https://github.com/vultisig/vultisig-sdk/commit/45fb0ae83611dfcd481b1aa9dbcd19fe215642f5) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Add a public `SwapAffiliateConfig.jupiter` fee-owner override for Jupiter affiliate fee account derivation.
34
+
35
+ - [#930](https://github.com/vultisig/vultisig-sdk/pull/930) [`e11d55f`](https://github.com/vultisig/vultisig-sdk/commit/e11d55f51dc4a65230ca4daa6bbad2580a3d1a81) Thanks [@Ehsan-saradar](https://github.com/Ehsan-saradar)! - feat(solana): staking APY resolver
36
+
37
+ Phase 6 of Solana native staking. Adds `resolveValidatorApy` under
38
+ `@vultisig/core-chain/chains/solana/staking/apyResolver`, which drives the
39
+ per-validator APY on the DeFi stake rows. Two sources, in order: the Stakewiz
40
+ `apy_estimate` passthrough (network-measured, commission-net) from the Phase 2
41
+ metadata seam, then an on-chain fallback derived from the network inflation rate
42
+ and the fraction of supply staked, net of the validator's commission, compounded
43
+ over the epochs-per-year. Returns `undefined` when neither yields a positive
44
+ value so the view hides the APY row.
45
+
46
+ - [#887](https://github.com/vultisig/vultisig-sdk/pull/887) [`6ff9d7e`](https://github.com/vultisig/vultisig-sdk/commit/6ff9d7eba5699e1db897c5aedbac52632c131cc5) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Add Jupiter as a same-chain Solana swap provider with VULT-scaled affiliate fee support.
47
+
48
+ ### Patch Changes
49
+
50
+ - [#954](https://github.com/vultisig/vultisig-sdk/pull/954) [`66113c2`](https://github.com/vultisig/vultisig-sdk/commit/66113c2fb2ff61ecda39a7ae5ac83e8c7cd67adc) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Fix Terra Classic address explorer URLs so Terra Finder receives a single `classic` network segment.
51
+
52
+ - [#923](https://github.com/vultisig/vultisig-sdk/pull/923) [`17a43be`](https://github.com/vultisig/vultisig-sdk/commit/17a43beadda6d3f4f7d97c193067564a2c85bd37) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Fetch Solana signing blockhashes at confirmed commitment and retry transient blockhash misses during standard RPC broadcast.
53
+
3
54
  ## 2.22.2
4
55
 
5
56
  ### Patch Changes
@@ -3,6 +3,11 @@
3
3
  *
4
4
  * Cardano transaction bodies are CBOR maps; key 3 is `ttl`. We only decode for
5
5
  * inspection and never re-encode, so this cannot perturb the tx hash.
6
+ *
7
+ * Must decode via `cardanoCborEncoder` (maps stay `Map`): token-carrying txs
8
+ * have multiasset output values keyed by byte strings, and cbor-x's default
9
+ * decode-to-object throws "Invalid property name type object" on those keys —
10
+ * aborting the broadcast of any tx with a token-bundle change output.
6
11
  */
7
12
  export declare const getCardanoTxTtl: (txCbor: Uint8Array) => bigint;
8
13
  //# sourceMappingURL=cardanoTxTtl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cardanoTxTtl.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cardano/cip30/cardanoTxTtl.ts"],"names":[],"mappings":"AA4BA;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,UAAU,KAAG,MAQpD,CAAA"}
1
+ {"version":3,"file":"cardanoTxTtl.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cardano/cip30/cardanoTxTtl.ts"],"names":[],"mappings":"AA4BA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,UAAU,KAAG,MAQpD,CAAA"}
@@ -1,4 +1,4 @@
1
- import { decode } from 'cbor-x';
1
+ import { cardanoCborEncoder } from './cborEncoder.js';
2
2
  const ttlBodyKey = 3;
3
3
  const getBodyValue = (body, key) => {
4
4
  if (body instanceof Map) {
@@ -25,9 +25,14 @@ const toTtl = (value) => {
25
25
  *
26
26
  * Cardano transaction bodies are CBOR maps; key 3 is `ttl`. We only decode for
27
27
  * inspection and never re-encode, so this cannot perturb the tx hash.
28
+ *
29
+ * Must decode via `cardanoCborEncoder` (maps stay `Map`): token-carrying txs
30
+ * have multiasset output values keyed by byte strings, and cbor-x's default
31
+ * decode-to-object throws "Invalid property name type object" on those keys —
32
+ * aborting the broadcast of any tx with a token-bundle change output.
28
33
  */
29
34
  export const getCardanoTxTtl = (txCbor) => {
30
- const decoded = decode(txCbor);
35
+ const decoded = cardanoCborEncoder.decode(txCbor);
31
36
  if (!Array.isArray(decoded) || decoded.length < 1) {
32
37
  throw new Error('Invalid Cardano transaction CBOR: expected array');
33
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cardanoTxTtl.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cardano/cip30/cardanoTxTtl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,MAAM,UAAU,GAAG,CAAC,CAAA;AAEpB,MAAM,YAAY,GAAG,CAAC,IAAa,EAAE,GAAW,EAAW,EAAE;IAC3D,IAAI,IAAI,YAAY,GAAG,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;IAED,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAQ,IAAgC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,CAAC,KAAc,EAAU,EAAE;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3E,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;AACpD,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAkB,EAAU,EAAE;IAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAE9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACrE,CAAC;IAED,OAAO,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAA;AACpD,CAAC,CAAA"}
1
+ {"version":3,"file":"cardanoTxTtl.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cardano/cip30/cardanoTxTtl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,MAAM,UAAU,GAAG,CAAC,CAAA;AAEpB,MAAM,YAAY,GAAG,CAAC,IAAa,EAAE,GAAW,EAAW,EAAE;IAC3D,IAAI,IAAI,YAAY,GAAG,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;IAED,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAQ,IAAgC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,CAAC,KAAc,EAAU,EAAE;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3E,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;AACpD,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAkB,EAAU,EAAE;IAC5D,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAEjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACrE,CAAC;IAED,OAAO,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAA;AACpD,CAAC,CAAA"}
@@ -14,6 +14,11 @@ export type CardanoExtendedUtxo = {
14
14
  /**
15
15
  * Fetches UTXOs for a Cardano address with the `_extended` flag,
16
16
  * which includes the `asset_list` field for each UTXO.
17
+ *
18
+ * UTXOs are ordered deterministically by (hash, index) — mirrors the iOS
19
+ * CardanoService, so both MPC peers produce identical body bytes when the
20
+ * WalletCore planner picks inputs, regardless of Koios response ordering.
21
+ * Null asset names normalize to the empty string, like iOS.
17
22
  */
18
23
  export declare const getCardanoExtendedUtxos: (address: string) => Promise<CardanoExtendedUtxo[]>;
19
24
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"getCardanoExtendedUtxos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cardano/utxo/getCardanoExtendedUtxos.ts"],"names":[],"mappings":"AAIA,KAAK,gBAAgB,GAAG;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,gBAAgB,EAAE,CAAA;CAC3B,CAAA;AASD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,mBAAmB,EAAE,CAgB5F,CAAA"}
1
+ {"version":3,"file":"getCardanoExtendedUtxos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cardano/utxo/getCardanoExtendedUtxos.ts"],"names":[],"mappings":"AAIA,KAAK,gBAAgB,GAAG;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,gBAAgB,EAAE,CAAA;CAC3B,CAAA;AAUD;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,mBAAmB,EAAE,CAkB5F,CAAA"}
@@ -3,6 +3,11 @@ import { cardanoApiUrl } from '../client/config.js';
3
3
  /**
4
4
  * Fetches UTXOs for a Cardano address with the `_extended` flag,
5
5
  * which includes the `asset_list` field for each UTXO.
6
+ *
7
+ * UTXOs are ordered deterministically by (hash, index) — mirrors the iOS
8
+ * CardanoService, so both MPC peers produce identical body bytes when the
9
+ * WalletCore planner picks inputs, regardless of Koios response ordering.
10
+ * Null asset names normalize to the empty string, like iOS.
6
11
  */
7
12
  export const getCardanoExtendedUtxos = async (address) => {
8
13
  const url = `${cardanoApiUrl}/address_utxos`;
@@ -12,11 +17,13 @@ export const getCardanoExtendedUtxos = async (address) => {
12
17
  _extended: true,
13
18
  },
14
19
  });
15
- return response.map(({ tx_hash, tx_index, value, asset_list }) => ({
20
+ return response
21
+ .map(({ tx_hash, tx_index, value, asset_list }) => ({
16
22
  hash: tx_hash,
17
23
  amount: BigInt(value),
18
24
  index: tx_index,
19
- assets: asset_list ?? [],
20
- }));
25
+ assets: (asset_list ?? []).map(asset => ({ ...asset, asset_name: asset.asset_name ?? '' })),
26
+ }))
27
+ .sort((a, b) => (a.hash !== b.hash ? (a.hash < b.hash ? -1 : 1) : a.index - b.index));
21
28
  };
22
29
  //# sourceMappingURL=getCardanoExtendedUtxos.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCardanoExtendedUtxos.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cardano/utxo/getCardanoExtendedUtxos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAwBhD;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,OAAe,EAAkC,EAAE;IAC/F,MAAM,GAAG,GAAG,GAAG,aAAa,gBAAgB,CAAA;IAE5C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAA4B,GAAG,EAAE;QAC9D,IAAI,EAAE;YACJ,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,SAAS,EAAE,IAAI;SAChB;KACF,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QACjE,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;QACrB,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,UAAU,IAAI,EAAE;KACzB,CAAC,CAAC,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"getCardanoExtendedUtxos.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cardano/utxo/getCardanoExtendedUtxos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAyBhD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,OAAe,EAAkC,EAAE;IAC/F,MAAM,GAAG,GAAG,GAAG,aAAa,gBAAgB,CAAA;IAE5C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAA4B,GAAG,EAAE;QAC9D,IAAI,EAAE;YACJ,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,SAAS,EAAE,IAAI;SAChB;KACF,CAAC,CAAA;IAEF,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;QACrB,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC;KAC5F,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AACzF,CAAC,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { SolanaValidator } from './models/validator.js';
2
+ /**
3
+ * `APY = (1 + APR/N)^N − 1` where
4
+ * `APR = (inflation / fractionStaked) × (1 − commission)`. Returns `undefined`
5
+ * when any input is missing or collapses the result to zero.
6
+ */
7
+ export declare const onChainApy: ({ inflationRate, commission, totalActivatedStake, totalSupplyLamports, }: {
8
+ inflationRate: number | undefined;
9
+ commission: number;
10
+ totalActivatedStake: number;
11
+ totalSupplyLamports: number | undefined;
12
+ }) => number | undefined;
13
+ /**
14
+ * Resolves the APY fraction for `validator`. The Stakewiz `apyEstimate` is the
15
+ * preferred value when present; otherwise the on-chain fallback derives it from
16
+ * `inflationRate`, `totalSupplyLamports`, and `totalActivatedStake`.
17
+ *
18
+ * `totalActivatedStake` is the NETWORK-wide total activated stake (the
19
+ * `fractionStaked` denominator numerator), NOT this validator's own
20
+ * `activatedStake` — feeding a single validator's stake would collapse
21
+ * `fractionStaked` and explode the APY. Compute it once from the full validator
22
+ * set via `networkActivatedStake` and pass it in (mirrors iOS, which threads the
23
+ * summed validator-set stake through as `totalActivatedStake`).
24
+ */
25
+ export declare const resolveValidatorApy: ({ validator, inflationRate, totalSupplyLamports, totalActivatedStake, }: {
26
+ validator: SolanaValidator;
27
+ inflationRate: number | undefined;
28
+ totalSupplyLamports: number | undefined;
29
+ totalActivatedStake: number;
30
+ }) => number | undefined;
31
+ //# sourceMappingURL=apyResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apyResolver.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/solana/staking/apyResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAyBpD;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,0EAKxB;IACD,aAAa,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAA;CACxC,KAAG,MAAM,GAAG,SAwBZ,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,GAAI,yEAKjC;IACD,SAAS,EAAE,eAAe,CAAA;IAC1B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,mBAAmB,EAAE,MAAM,CAAA;CAC5B,KAAG,MAAM,GAAG,SAWZ,CAAA"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Resolves a per-validator staking APY (as a fraction, e.g. 0.067 for 6.7%) for
3
+ * the Solana DeFi stake rows. Two sources, in order:
4
+ *
5
+ * 1. Stakewiz `apy_estimate` passthrough — the metadata provider's estimate is
6
+ * the preferred, network-measured value (already commission-net).
7
+ * 2. On-chain fallback — derive APR from the network inflation rate and the
8
+ * fraction of supply staked, net of the validator's commission, then
9
+ * compound over the epochs-per-year to an APY:
10
+ * APR = (inflation / fractionStaked) × (1 − commission)
11
+ * APY = (1 + APR / N)^N − 1 (N = epochs per year)
12
+ *
13
+ * Returns `undefined` when neither source yields a positive value, and the view
14
+ * hides the APY row.
15
+ *
16
+ * Port of iOS `SolanaStakingAPYResolver`.
17
+ */
18
+ /** Mainnet epoch is ~2 days, so ~182 epochs per year. */
19
+ const epochsPerYear = 182;
20
+ const clamp01 = (value) => Math.min(1, Math.max(0, value));
21
+ /**
22
+ * `APY = (1 + APR/N)^N − 1` where
23
+ * `APR = (inflation / fractionStaked) × (1 − commission)`. Returns `undefined`
24
+ * when any input is missing or collapses the result to zero.
25
+ */
26
+ export const onChainApy = ({ inflationRate, commission, totalActivatedStake, totalSupplyLamports, }) => {
27
+ if (inflationRate === undefined ||
28
+ inflationRate <= 0 ||
29
+ totalSupplyLamports === undefined ||
30
+ totalSupplyLamports <= 0 ||
31
+ totalActivatedStake <= 0) {
32
+ return undefined;
33
+ }
34
+ const fractionStaked = totalActivatedStake / totalSupplyLamports;
35
+ if (fractionStaked <= 0) {
36
+ return undefined;
37
+ }
38
+ const commissionFraction = clamp01(commission / 100);
39
+ const apr = (inflationRate / fractionStaked) * (1 - commissionFraction);
40
+ if (apr <= 0) {
41
+ return undefined;
42
+ }
43
+ const apy = (1 + apr / epochsPerYear) ** epochsPerYear - 1;
44
+ return Number.isFinite(apy) && apy > 0 ? apy : undefined;
45
+ };
46
+ /**
47
+ * Resolves the APY fraction for `validator`. The Stakewiz `apyEstimate` is the
48
+ * preferred value when present; otherwise the on-chain fallback derives it from
49
+ * `inflationRate`, `totalSupplyLamports`, and `totalActivatedStake`.
50
+ *
51
+ * `totalActivatedStake` is the NETWORK-wide total activated stake (the
52
+ * `fractionStaked` denominator numerator), NOT this validator's own
53
+ * `activatedStake` — feeding a single validator's stake would collapse
54
+ * `fractionStaked` and explode the APY. Compute it once from the full validator
55
+ * set via `networkActivatedStake` and pass it in (mirrors iOS, which threads the
56
+ * summed validator-set stake through as `totalActivatedStake`).
57
+ */
58
+ export const resolveValidatorApy = ({ validator, inflationRate, totalSupplyLamports, totalActivatedStake, }) => {
59
+ const metadataApy = validator.metadata.apyEstimate;
60
+ if (metadataApy !== undefined && metadataApy > 0) {
61
+ return metadataApy;
62
+ }
63
+ return onChainApy({
64
+ inflationRate,
65
+ commission: validator.commission,
66
+ totalActivatedStake,
67
+ totalSupplyLamports,
68
+ });
69
+ };
70
+ //# sourceMappingURL=apyResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apyResolver.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/solana/staking/apyResolver.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AAEH,yDAAyD;AACzD,MAAM,aAAa,GAAG,GAAG,CAAA;AAEzB,MAAM,OAAO,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;AAE1E;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,mBAAmB,GAMpB,EAAsB,EAAE;IACvB,IACE,aAAa,KAAK,SAAS;QAC3B,aAAa,IAAI,CAAC;QAClB,mBAAmB,KAAK,SAAS;QACjC,mBAAmB,IAAI,CAAC;QACxB,mBAAmB,IAAI,CAAC,EACxB,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,cAAc,GAAG,mBAAmB,GAAG,mBAAmB,CAAA;IAChE,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,CAAA;IACpD,MAAM,GAAG,GAAG,CAAC,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAA;IACvE,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACb,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC,CAAA;IAC1D,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;AAC1D,CAAC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,mBAAmB,GAMpB,EAAsB,EAAE;IACvB,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAA;IAClD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,WAAW,CAAA;IACpB,CAAC;IACD,OAAO,UAAU,CAAC;QAChB,aAAa;QACb,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,mBAAmB;QACnB,mBAAmB;KACpB,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -43,6 +43,15 @@ export type SolanaValidator = {
43
43
  /** Enrichment from the metadata provider — name, logo, APY estimate, score. */
44
44
  metadata: ValidatorMetadata;
45
45
  };
46
+ /**
47
+ * Network-wide total activated stake (lamports), summed across the validator
48
+ * set — the `fractionStaked` numerator for the on-chain APY fallback. This is
49
+ * the value `resolveValidatorApy` expects as `totalActivatedStake`; passing a
50
+ * single validator's `activatedStake` would collapse the fraction and explode
51
+ * the APY. Sums current and delinquent validators alike (all carry stake), so
52
+ * pass the full set returned by `fetchSolanaValidators`.
53
+ */
54
+ export declare const networkActivatedStake: (validators: SolanaValidator[]) => number;
46
55
  /**
47
56
  * `prefix…suffix` form of a base58 pubkey for compact display. Returns the
48
57
  * input unchanged when it is too short to truncate meaningfully.
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/chains/solana/staking/models/validator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAA;IAClB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAA;IAClB,gEAAgE;IAChE,gBAAgB,EAAE,OAAO,CAAA;IACzB;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAA;IACrB,+EAA+E;IAC/E,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,eAAU,EAAE,eAAU,KAAG,MAC6B,CAAA;AAEtG;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,WAAW,eAAe,KAAG,MAMjE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,eAAe,KAAG,MAAM,GAAG,SAGtE,CAAA"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/chains/solana/staking/models/validator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAA;IAClB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAA;IAClB,gEAAgE;IAChE,gBAAgB,EAAE,OAAO,CAAA;IACzB;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAA;IACrB,+EAA+E;IAC/E,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAAI,YAAY,eAAe,EAAE,KAAG,MACI,CAAA;AAE1E;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,eAAU,EAAE,eAAU,KAAG,MAC6B,CAAA;AAEtG;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,WAAW,eAAe,KAAG,MAMjE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,eAAe,KAAG,MAAM,GAAG,SAGtE,CAAA"}
@@ -6,6 +6,15 @@
6
6
  *
7
7
  * Port of iOS `SolanaValidator` / `ValidatorMetadata`.
8
8
  */
9
+ /**
10
+ * Network-wide total activated stake (lamports), summed across the validator
11
+ * set — the `fractionStaked` numerator for the on-chain APY fallback. This is
12
+ * the value `resolveValidatorApy` expects as `totalActivatedStake`; passing a
13
+ * single validator's `activatedStake` would collapse the fraction and explode
14
+ * the APY. Sums current and delinquent validators alike (all carry stake), so
15
+ * pass the full set returned by `fetchSolanaValidators`.
16
+ */
17
+ export const networkActivatedStake = (validators) => validators.reduce((sum, validator) => sum + validator.activatedStake, 0);
9
18
  /**
10
19
  * `prefix…suffix` form of a base58 pubkey for compact display. Returns the
11
20
  * input unchanged when it is too short to truncate meaningfully.
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/chains/solana/staking/models/validator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAyCH;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAU,EAAE,CAChF,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;AAEtG;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAA0B,EAAU,EAAE;IACzE,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAA;IAC5C,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;AAC9C,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAA0B,EAAsB,EAAE;IACjF,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAA;IAC9C,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;AAC9B,CAAC,CAAA"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/chains/solana/staking/models/validator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAyCH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,UAA6B,EAAU,EAAE,CAC7E,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;AAE1E;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAU,EAAE,CAChF,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;AAEtG;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAA0B,EAAU,EAAE;IACzE,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAA;IAC5C,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;AAC9C,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAA0B,EAAsB,EAAE;IACjF,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAA;IAC9C,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;AAC9B,CAAC,CAAA"}
@@ -57,7 +57,7 @@ export type GeneralSwapTx = {
57
57
  * `getSwapExplorerUrl({ provider, txHash, fromChain })` from
58
58
  * `@vultisig/core-chain/swap/utils/getSwapExplorerUrl` instead of routing
59
59
  * by hand — the helper covers the LI.FI / Helius scanners and falls back to
60
- * the source-chain explorer for `1inch` / `kyber` / `swapkit` (none of which
60
+ * the source-chain explorer for `1inch` / `jupiter` / `kyber` / `swapkit` (none of which
61
61
  * expose a per-tx aggregator page).
62
62
  */
63
63
  export type GeneralSwapQuote = {
@@ -1,11 +1,13 @@
1
1
  import { AccountCoin } from '@vultisig/core-chain/coin/AccountCoin';
2
2
  import { GeneralSwapQuote } from '@vultisig/core-chain/swap/general/GeneralSwapQuote';
3
+ import { type JupiterAffiliateConfig } from '@vultisig/core-chain/swap/general/jupiter/config';
3
4
  import { JupiterSwapEnabledChain } from '@vultisig/core-chain/swap/general/jupiter/JupiterSwapEnabledChains';
4
5
  import { TransferDirection } from '@vultisig/lib-utils/TransferDirection';
5
6
  type Input = Record<TransferDirection, AccountCoin<JupiterSwapEnabledChain>> & {
6
7
  amount: bigint;
7
8
  /** VULT-scaled affiliate fee in bps. `0` disables the platform fee entirely. */
8
9
  affiliateBps?: number;
10
+ jupiterConfig?: JupiterAffiliateConfig;
9
11
  /** Slippage tolerance in bps (e.g. 50 = 0.5%). Defaults to 50. */
10
12
  slippageBps?: number;
11
13
  };
@@ -14,12 +16,13 @@ type Input = Record<TransferDirection, AccountCoin<JupiterSwapEnabledChain>> & {
14
16
  * payload the keysign pipeline expects.
15
17
  *
16
18
  * Affiliate fee: when `affiliateBps > 0`, `platformFeeBps` is sent on the quote.
17
- * The fee ATA (output mint, owner = `jupiterFeeOwnerAddress`) is derived, passed
18
- * to `/swap` as `feeAccount`, and an idempotent create instruction is prepended
19
- * to the returned transaction only when the quote actually returns a non-zero
20
- * `platformFee.amount`. When `affiliateBps` is 0 (e.g. an Ultimate-tier VULT
21
- * holder) or Jupiter floors the fee to zero, no fee account is touched.
19
+ * The fee ATA (output mint, owner = `jupiterConfig.feeOwner` or
20
+ * `jupiterFeeOwnerAddress`) is derived, passed to `/swap` as `feeAccount`, and
21
+ * an idempotent create instruction is prepended to the returned transaction
22
+ * only when the quote actually returns a non-zero `platformFee.amount`. When
23
+ * `affiliateBps` is 0 (e.g. an Ultimate-tier VULT holder) or Jupiter floors the
24
+ * fee to zero, no fee account is touched.
22
25
  */
23
- export declare const getJupiterSwapQuote: ({ from, to, amount, affiliateBps, slippageBps, }: Input) => Promise<GeneralSwapQuote>;
26
+ export declare const getJupiterSwapQuote: ({ from, to, amount, affiliateBps, jupiterConfig, slippageBps, }: Input) => Promise<GeneralSwapQuote>;
24
27
  export {};
25
28
  //# sourceMappingURL=getJupiterSwapQuote.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getJupiterSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/jupiter/api/getJupiterSwapQuote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAA;AAErF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oEAAoE,CAAA;AAC5G,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAUzE,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,uBAAuB,CAAC,CAAC,GAAG;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AA2CD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,GAAU,kDAMvC,KAAK,KAAG,OAAO,CAAC,gBAAgB,CAuFlC,CAAA"}
1
+ {"version":3,"file":"getJupiterSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/jupiter/api/getJupiterSwapQuote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAA;AACrF,OAAO,EAEL,KAAK,sBAAsB,EAG5B,MAAM,kDAAkD,CAAA;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oEAAoE,CAAA;AAC5G,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAUzE,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,uBAAuB,CAAC,CAAC,GAAG;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,sBAAsB,CAAA;IACtC,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AA2CD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,GAAU,iEAOvC,KAAK,KAAG,OAAO,CAAC,gBAAgB,CAuFlC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Chain } from '@vultisig/core-chain/Chain';
2
2
  import { solanaConfig } from '@vultisig/core-chain/chains/solana/solanaConfig';
3
- import { getJupiterConfig, jupiterFeeOwnerAddress } from '@vultisig/core-chain/swap/general/jupiter/config';
3
+ import { getJupiterConfig, jupiterFeeOwnerAddress, normalizeJupiterBaseUrl, } from '@vultisig/core-chain/swap/general/jupiter/config';
4
4
  import { deriveJupiterFeeAccount, prependJupiterFeeAta } from './jupiterFeeAta.js';
5
5
  /** Canonical wrapped-SOL mint, used as the mint address for native SOL legs. */
6
6
  const solanaNativeMint = 'So11111111111111111111111111111111111111112';
@@ -26,14 +26,17 @@ const requestJson = async (url, init) => {
26
26
  * payload the keysign pipeline expects.
27
27
  *
28
28
  * Affiliate fee: when `affiliateBps > 0`, `platformFeeBps` is sent on the quote.
29
- * The fee ATA (output mint, owner = `jupiterFeeOwnerAddress`) is derived, passed
30
- * to `/swap` as `feeAccount`, and an idempotent create instruction is prepended
31
- * to the returned transaction only when the quote actually returns a non-zero
32
- * `platformFee.amount`. When `affiliateBps` is 0 (e.g. an Ultimate-tier VULT
33
- * holder) or Jupiter floors the fee to zero, no fee account is touched.
29
+ * The fee ATA (output mint, owner = `jupiterConfig.feeOwner` or
30
+ * `jupiterFeeOwnerAddress`) is derived, passed to `/swap` as `feeAccount`, and
31
+ * an idempotent create instruction is prepended to the returned transaction
32
+ * only when the quote actually returns a non-zero `platformFee.amount`. When
33
+ * `affiliateBps` is 0 (e.g. an Ultimate-tier VULT holder) or Jupiter floors the
34
+ * fee to zero, no fee account is touched.
34
35
  */
35
- export const getJupiterSwapQuote = async ({ from, to, amount, affiliateBps = 0, slippageBps = DEFAULT_JUPITER_SLIPPAGE_BPS, }) => {
36
- const { baseUrl } = getJupiterConfig();
36
+ export const getJupiterSwapQuote = async ({ from, to, amount, affiliateBps = 0, jupiterConfig, slippageBps = DEFAULT_JUPITER_SLIPPAGE_BPS, }) => {
37
+ const { baseUrl: configuredBaseUrl } = getJupiterConfig();
38
+ const baseUrl = normalizeJupiterBaseUrl(jupiterConfig?.baseUrl) ?? configuredBaseUrl;
39
+ const feeOwner = jupiterConfig?.feeOwner?.trim() || jupiterFeeOwnerAddress;
37
40
  const inputMint = mintFor(from);
38
41
  const outputMint = mintFor(to);
39
42
  const requestsPlatformFee = affiliateBps > 0;
@@ -61,9 +64,7 @@ export const getJupiterSwapQuote = async ({ from, to, amount, affiliateBps = 0,
61
64
  // The fee mint is the OUTPUT mint (ExactIn). Derive the fee ATA up front so
62
65
  // it can be sent to /swap and so we know which program owns it for the
63
66
  // prepended create instruction.
64
- const feeAccountInfo = chargesFee
65
- ? await deriveJupiterFeeAccount({ outputMint, feeOwner: jupiterFeeOwnerAddress })
66
- : undefined;
67
+ const feeAccountInfo = chargesFee ? await deriveJupiterFeeAccount({ outputMint, feeOwner }) : undefined;
67
68
  const swapResponse = await requestJson(`${baseUrl}/swap/v1/swap`, {
68
69
  method: 'POST',
69
70
  headers: { 'Content-Type': 'application/json', Accept: 'application/json' },
@@ -1 +1 @@
1
- {"version":3,"file":"getJupiterSwapQuote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/jupiter/api/getJupiterSwapQuote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getJupiterSwapQuote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/jupiter/api/getJupiterSwapQuote.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,20 @@
1
1
  export type JupiterConfig = {
2
2
  baseUrl: string;
3
3
  };
4
+ export type JupiterAffiliateConfig = {
5
+ /**
6
+ * Solana wallet that owns Jupiter affiliate fee token accounts.
7
+ *
8
+ * The per-swap `feeAccount` is derived as this owner's ATA for the quoted
9
+ * output mint. Omit this config to use Vultisig's default fee owner.
10
+ */
11
+ feeOwner?: string;
12
+ /**
13
+ * Optional per-call Jupiter proxy/API base URL. Blank values are ignored so
14
+ * callers fall back to the configured default.
15
+ */
16
+ baseUrl?: string;
17
+ };
4
18
  /**
5
19
  * Solana wallet that owns every Jupiter affiliate fee account. The per-swap
6
20
  * `feeAccount` is the Associated Token Account of `(owner = this wallet, mint =
@@ -8,6 +22,12 @@ export type JupiterConfig = {
8
22
  * platforms accrue to the same owner.
9
23
  */
10
24
  export declare const jupiterFeeOwnerAddress = "8iqhrtBzMcYLR6c6FkzeoMHibedYDkHvLKnX2ArNie5z";
25
+ /**
26
+ * Trim an override and strip trailing slashes. Blank/whitespace-only values are
27
+ * treated as absent (returns `undefined`) so they fall back to the default
28
+ * rather than producing relative `/swap/v1/...` URLs downstream.
29
+ */
30
+ export declare const normalizeJupiterBaseUrl: (value: string | undefined) => string | undefined;
11
31
  export declare const configureJupiter: (config: Partial<JupiterConfig>) => void;
12
32
  export declare const getJupiterConfig: () => JupiterConfig;
13
33
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/jupiter/config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAeD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,iDAAiD,CAAA;AAwBpF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,OAAO,CAAC,aAAa,CAAC,SAM9D,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAO,aAUnC,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/jupiter/config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAeD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,iDAAiD,CAAA;AAcpF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAG5E,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,QAAQ,OAAO,CAAC,aAAa,CAAC,SAM9D,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAO,aAUnC,CAAA"}
@@ -29,20 +29,20 @@ let jupiterConfig = {
29
29
  * treated as absent (returns `undefined`) so they fall back to the default
30
30
  * rather than producing relative `/swap/v1/...` URLs downstream.
31
31
  */
32
- const normalizeBaseUrl = (value) => {
32
+ export const normalizeJupiterBaseUrl = (value) => {
33
33
  const trimmed = value?.trim().replace(/\/+$/, '');
34
34
  return trimmed ? trimmed : undefined;
35
35
  };
36
36
  export const configureJupiter = (config) => {
37
- const baseUrl = normalizeBaseUrl(config.baseUrl);
37
+ const baseUrl = normalizeJupiterBaseUrl(config.baseUrl);
38
38
  jupiterConfig = {
39
39
  ...jupiterConfig,
40
40
  ...(baseUrl ? { baseUrl } : {}),
41
41
  };
42
42
  };
43
43
  export const getJupiterConfig = () => {
44
- const baseUrl = normalizeBaseUrl(readEnv('JUPITER_BASE_URL')) ??
45
- normalizeBaseUrl(readEnv('VULTISIG_JUPITER_BASE_URL')) ??
44
+ const baseUrl = normalizeJupiterBaseUrl(readEnv('JUPITER_BASE_URL')) ??
45
+ normalizeJupiterBaseUrl(readEnv('VULTISIG_JUPITER_BASE_URL')) ??
46
46
  jupiterConfig.baseUrl;
47
47
  return {
48
48
  ...jupiterConfig,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/jupiter/config.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AACH,MAAM,cAAc,GAAG,8BAA8B,CAAA;AAErD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,8CAA8C,CAAA;AAEpF,MAAM,OAAO,GAAG,CAAC,GAAW,EAAsB,EAAE;IAClD,MAAM,WAAW,GAAG,UAEnB,CAAA;IAED,OAAO,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,IAAI,aAAa,GAAkB;IACjC,OAAO,EAAE,cAAc;CACxB,CAAA;AAED;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,CAAC,KAAyB,EAAsB,EAAE;IACzE,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACjD,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAA8B,EAAE,EAAE;IACjE,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAChD,aAAa,GAAG;QACd,GAAG,aAAa;QAChB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAkB,EAAE;IAClD,MAAM,OAAO,GACX,gBAAgB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC7C,gBAAgB,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QACtD,aAAa,CAAC,OAAO,CAAA;IAEvB,OAAO;QACL,GAAG,aAAa;QAChB,OAAO;KACR,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/jupiter/config.ts"],"names":[],"mappings":"AAmBA;;;;;;;;;;GAUG;AACH,MAAM,cAAc,GAAG,8BAA8B,CAAA;AAErD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,8CAA8C,CAAA;AAEpF,MAAM,OAAO,GAAG,CAAC,GAAW,EAAsB,EAAE;IAClD,MAAM,WAAW,GAAG,UAEnB,CAAA;IAED,OAAO,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,IAAI,aAAa,GAAkB;IACjC,OAAO,EAAE,cAAc;CACxB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAyB,EAAsB,EAAE;IACvF,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACjD,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAA8B,EAAE,EAAE;IACjE,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACvD,aAAa,GAAG;QACd,GAAG,aAAa;QAChB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAkB,EAAE;IAClD,MAAM,OAAO,GACX,uBAAuB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACpD,uBAAuB,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAC7D,aAAa,CAAC,OAAO,CAAA;IAEvB,OAAO;QACL,GAAG,aAAa;QAChB,OAAO;KACR,CAAA;AACH,CAAC,CAAA"}
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,OAAO,CAAC,qBAAqB,CAiK/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;AA8BD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,OAAO,CAAC,qBAAqB,CA2I/B,CAAA"}
@@ -26,6 +26,29 @@ async function fetchLutWithRetry(client, accountKey) {
26
26
  console.warn('[injectSolanaAtaIfMissing] LUT fetch failed after retries:', errors);
27
27
  return null;
28
28
  }
29
+ const getSolanaTokenProgramId = async (mintAddress) => {
30
+ const mintPubkey = new PublicKey(mintAddress);
31
+ const client = getSolanaClient();
32
+ // Resolve token program from mint account owner (Token vs Token-2022).
33
+ // Failing to resolve the mint (RPC timeout, bad address, closed account) must
34
+ // throw rather than fall back to TOKEN_PROGRAM_ID — a silent fallback would
35
+ // derive the wrong ATA and produce an opaque simulation failure.
36
+ const mintInfo = await client.getAccountInfo(mintPubkey);
37
+ if (!mintInfo) {
38
+ throw new Error(`Mint account ${mintAddress} not found - cannot determine Token vs Token-2022 program`);
39
+ }
40
+ // Explicit allowlist of recognized token programs. Falling back to
41
+ // TOKEN_PROGRAM_ID for any other owner (custom forks, mis-typed addresses,
42
+ // accidentally-passed non-mint accounts) derives the WRONG ATA and produces
43
+ // an opaque simulation error rather than a clear cause. (#519 r-N NeO blocking #1.)
44
+ if (mintInfo.owner.equals(TOKEN_PROGRAM_ID)) {
45
+ return TOKEN_PROGRAM_ID;
46
+ }
47
+ if (mintInfo.owner.equals(TOKEN_2022_PROGRAM_ID)) {
48
+ return TOKEN_2022_PROGRAM_ID;
49
+ }
50
+ throw new Error(`Mint ${mintAddress} is owned by unsupported program ${mintInfo.owner.toBase58()} - expected Token or Token-2022`);
51
+ };
29
52
  /**
30
53
  * Checks whether the destination SPL-token ATA exists and, if not, prepends a
31
54
  * `createAssociatedTokenAccountIdempotentInstruction` to the LiFi transaction.
@@ -58,28 +81,7 @@ export const injectSolanaAtaIfMissing = async (txData, mintAddress, owner, payer
58
81
  const ownerPubkey = new PublicKey(owner);
59
82
  const payerPubkey = new PublicKey(payer);
60
83
  const client = getSolanaClient();
61
- // Resolve token program from mint account owner (Token vs Token-2022).
62
- // Failing to resolve the mint (RPC timeout, bad address, closed account) must
63
- // throw rather than fall back to TOKEN_PROGRAM_ID — a silent fallback would
64
- // derive the wrong ATA and produce an opaque simulation failure.
65
- const mintInfo = await client.getAccountInfo(mintPubkey);
66
- if (!mintInfo) {
67
- throw new Error(`Mint account ${mintAddress} not found - cannot determine Token vs Token-2022 program`);
68
- }
69
- // Explicit allowlist of recognized token programs. Falling back to
70
- // TOKEN_PROGRAM_ID for any other owner (custom forks, mis-typed addresses,
71
- // accidentally-passed non-mint accounts) derives the WRONG ATA and produces
72
- // an opaque simulation error rather than a clear cause. (#519 r-N NeO blocking #1.)
73
- let tokenProgramId;
74
- if (mintInfo.owner.equals(TOKEN_PROGRAM_ID)) {
75
- tokenProgramId = TOKEN_PROGRAM_ID;
76
- }
77
- else if (mintInfo.owner.equals(TOKEN_2022_PROGRAM_ID)) {
78
- tokenProgramId = TOKEN_2022_PROGRAM_ID;
79
- }
80
- else {
81
- throw new Error(`Mint ${mintAddress} is owned by unsupported program ${mintInfo.owner.toBase58()} - expected Token or Token-2022`);
82
- }
84
+ const tokenProgramId = await getSolanaTokenProgramId(mintAddress);
83
85
  // Validate that the owner is on the ed25519 curve (i.e. a normal wallet keypair).
84
86
  // In Vultisig flows the swap destination is always a user wallet — off-curve
85
87
  // addresses are PDAs (Program Derived Addresses) and are valid ATA owners in the
@@ -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,5 +1,6 @@
1
1
  import { AccountCoin } from '@vultisig/core-chain/coin/AccountCoin';
2
2
  import { VultDiscountTier } from '@vultisig/core-chain/swap/affiliate';
3
+ import type { JupiterAffiliateConfig } from '@vultisig/core-chain/swap/general/jupiter/config';
3
4
  import { KyberSwapBaseAffiliateConfig } from '@vultisig/core-chain/swap/general/kyber/config';
4
5
  import { LifiAffiliateConfig } from '@vultisig/core-chain/swap/general/lifi/config';
5
6
  import { OneInchAffiliateConfig } from '@vultisig/core-chain/swap/general/oneInch/api/getOneInchSwapQuote';
@@ -16,6 +17,7 @@ export type SwapAffiliateConfig = {
16
17
  oneInch?: OneInchAffiliateConfig;
17
18
  kyber?: KyberSwapBaseAffiliateConfig;
18
19
  lifi?: LifiAffiliateConfig;
20
+ jupiter?: JupiterAffiliateConfig;
19
21
  };
20
22
  export type FindSwapQuoteInput = Record<TransferDirection, AccountCoin> & {
21
23
  amount: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"findSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/quote/findSwapQuote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACnE,OAAO,EAAuB,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAQ3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAA;AAE7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAA;AAEnF,OAAO,EAEL,sBAAsB,EACvB,MAAM,mEAAmE,CAAA;AAQ1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAA;AAoB1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;;;8CAI8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,yBAAyB,CAAA;IAClC,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,KAAK,CAAC,EAAE,4BAA4B,CAAA;IACpC,IAAI,CAAC,EAAE,mBAAmB,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG;IACxE,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC1C,eAAe,CAAC,EAAE,mBAAmB,CAAA;IACrC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,KAAK,qBAAqB,GACtB,SAAS,GACT,WAAW,GACX,OAAO,GACP,MAAM,GACN,SAAS,GACT,SAAS,GACT,WAAW,GACX,WAAW,CAAA;AAyBf;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,qBAAqB,EAiB1D,CAAA;AAEV,iDAAiD;AACjD,eAAO,MAAM,yBAAyB,kCAA0B,CAAA;AAuLhE,eAAO,MAAM,aAAa,GAAU,kGASjC,kBAAkB,KAAG,OAAO,CAAC,SAAS,CAsdxC,CAAA"}
1
+ {"version":3,"file":"findSwapQuote.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/quote/findSwapQuote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACnE,OAAO,EAAuB,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAK3F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAA;AAI9F,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAA;AAE7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAA;AAEnF,OAAO,EAEL,sBAAsB,EACvB,MAAM,mEAAmE,CAAA;AAQ1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAA;AAoB1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;;;8CAI8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,yBAAyB,CAAA;IAClC,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,KAAK,CAAC,EAAE,4BAA4B,CAAA;IACpC,IAAI,CAAC,EAAE,mBAAmB,CAAA;IAC1B,OAAO,CAAC,EAAE,sBAAsB,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG;IACxE,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC1C,eAAe,CAAC,EAAE,mBAAmB,CAAA;IACrC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,KAAK,qBAAqB,GACtB,SAAS,GACT,WAAW,GACX,OAAO,GACP,MAAM,GACN,SAAS,GACT,SAAS,GACT,WAAW,GACX,WAAW,CAAA;AA0Bf;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,qBAAqB,EAiB1D,CAAA;AAEV,iDAAiD;AACjD,eAAO,MAAM,yBAAyB,kCAA0B,CAAA;AAwQhE,eAAO,MAAM,aAAa,GAAU,kGASjC,kBAAkB,KAAG,OAAO,CAAC,SAAS,CAwdxC,CAAA"}
@@ -82,30 +82,76 @@ const assertNativeTradingOpen = async (input) => {
82
82
  };
83
83
  const asTradingHaltedSwapError = (reason) => reason instanceof SwapError && reason.code === SwapErrorCode.TradingHalted ? reason : null;
84
84
  /**
85
- * Tuning point for issue #605's banded routing rule. 100 bps = 1%.
85
+ * Tuning point for issue #605's banded routing rule. 50 bps = 0.5%.
86
86
  * Adjust this when product wants a wider or narrower provider-preference band.
87
87
  */
88
- const SWAP_QUOTE_PREFERENCE_BAND_BPS = 100n;
88
+ const SWAP_QUOTE_PREFERENCE_BAND_BPS = 50n;
89
89
  const BPS_DENOMINATOR = 10000n;
90
90
  const isWithinPreferenceBand = (outputAmount, bestOutputAmount) => outputAmount * BPS_DENOMINATOR >= bestOutputAmount * (BPS_DENOMINATOR - SWAP_QUOTE_PREFERENCE_BAND_BPS);
91
+ /** Re-base an integer amount from `fromDecimals` fixed-point to `toDecimals`. */
92
+ function rebaseDecimals(value, fromDecimals, toDecimals) {
93
+ if (fromDecimals === toDecimals) {
94
+ return value;
95
+ }
96
+ if (toDecimals > fromDecimals) {
97
+ return value * 10n ** BigInt(toDecimals - fromDecimals);
98
+ }
99
+ return value / 10n ** BigInt(fromDecimals - toDecimals);
100
+ }
101
+ const subtractClamped = (amount, fee) => (fee >= amount ? 0n : amount - fee);
102
+ const isSameCoinKey = (fee, coin) => fee.chain === coin.chain && fee.id === coin.id;
103
+ const getGeneralDestinationSideFeeAmount = ({ quote, to }) => {
104
+ if (!('general' in quote.quote)) {
105
+ return 0n;
106
+ }
107
+ const { general } = quote.quote;
108
+ const { tx } = general;
109
+ const explicitFee = 'evm' in tx ? tx.evm.affiliateFee : 'solana' in tx ? tx.solana.swapFee : undefined;
110
+ const providerAlreadyNet = general.provider === '1inch' ||
111
+ general.provider === 'li.fi' ||
112
+ general.provider === 'kyber' ||
113
+ general.provider === 'swapkit' ||
114
+ general.provider === 'jupiter' ||
115
+ general.provider === 'cowswap';
116
+ if (!providerAlreadyNet && explicitFee && isSameCoinKey(explicitFee, to)) {
117
+ return rebaseDecimals(explicitFee.amount, explicitFee.decimals, to.decimals);
118
+ }
119
+ return 0n;
120
+ };
91
121
  /**
92
- * Comparable destination amount in the destination token's smallest units (same
93
- * scale as `general.dstAmount`).
122
+ * Comparable destination amount in the destination token's smallest units.
94
123
  *
95
124
  * Native swap APIs report `expected_amount_out` in chain-specific precision
96
125
  * (`getNativeSwapDecimals`); aggregators use the destination token's decimals.
97
- * Without re-basing, THORChain (8-decimal canonical) and Kyber (token decimals)
98
- * are not comparable as raw bigints.
99
- *
100
- * TODO(#353 follow-up): subtract route-specific gas / outbound fees for true net
101
- * output; today this ranks gross destination amount after decimal alignment only.
126
+ * Native THOR/Maya and all current general providers report user-receive
127
+ * amounts. Explicit fee fields are display/receipt metadata for those providers,
128
+ * so subtract them only for a future provider that reports gross output.
102
129
  */
103
130
  function getComparableOutputAmount(q, to) {
104
131
  if ('native' in q.quote) {
105
132
  return nativeSwapAmountToCoinBaseUnit(BigInt(q.quote.native.expected_amount_out), to);
106
133
  }
107
- return BigInt(q.quote.general.dstAmount);
134
+ const grossOutput = BigInt(q.quote.general.dstAmount);
135
+ return subtractClamped(grossOutput, getGeneralDestinationSideFeeAmount({ quote: q, to }));
108
136
  }
137
+ const getSameChainEvmSourceGasUnits = (q, from, to) => {
138
+ if (from.chain !== to.chain || !isChainOfKind(from.chain, 'evm') || !isChainOfKind(to.chain, 'evm')) {
139
+ return undefined;
140
+ }
141
+ if (!('general' in q.quote)) {
142
+ return undefined;
143
+ }
144
+ const { tx } = q.quote.general;
145
+ if ('evm' in tx) {
146
+ // Missing gas stays non-comparable. Treating it as 0 would incorrectly make
147
+ // incomplete EVM quotes dominate the final tie-break.
148
+ return tx.evm.gasLimit;
149
+ }
150
+ if ('cowswap_order' in tx) {
151
+ return 0n;
152
+ }
153
+ return undefined;
154
+ };
109
155
  function selectBestEligibleQuote(settled) {
110
156
  const candidates = [];
111
157
  for (let i = 0; i < settled.length; i++) {
@@ -125,11 +171,28 @@ function selectBestEligibleQuote(settled) {
125
171
  continue;
126
172
  }
127
173
  const candidatePreferenceRank = getProviderPreferenceRank(candidate.providerName);
128
- if (selected === null ||
129
- candidatePreferenceRank < selectedPreferenceRank ||
130
- (candidatePreferenceRank === selectedPreferenceRank && candidate.outputAmount > selected.outputAmount)) {
174
+ if (selected === null) {
131
175
  selected = candidate;
132
176
  selectedPreferenceRank = candidatePreferenceRank;
177
+ continue;
178
+ }
179
+ if (candidatePreferenceRank < selectedPreferenceRank) {
180
+ selected = candidate;
181
+ selectedPreferenceRank = candidatePreferenceRank;
182
+ continue;
183
+ }
184
+ if (candidatePreferenceRank !== selectedPreferenceRank) {
185
+ continue;
186
+ }
187
+ const hasComparableGas = candidate.sourceGasUnits !== undefined &&
188
+ selected.sourceGasUnits !== undefined &&
189
+ candidate.sourceGasUnits !== selected.sourceGasUnits;
190
+ if (hasComparableGas && candidate.sourceGasUnits < selected.sourceGasUnits) {
191
+ selected = candidate;
192
+ continue;
193
+ }
194
+ if (!hasComparableGas && candidate.outputAmount > selected.outputAmount) {
195
+ selected = candidate;
133
196
  }
134
197
  }
135
198
  return selected?.quote ?? null;
@@ -339,6 +402,7 @@ export const findSwapQuote = async ({ from, to, amount, referral, vultDiscountTi
339
402
  },
340
403
  amount: chainAmount,
341
404
  affiliateBps,
405
+ jupiterConfig: affiliateConfig?.jupiter,
342
406
  slippageBps: jupiterSlippageBps,
343
407
  });
344
408
  return { quote: { general }, discounts: vultDiscount };
@@ -428,6 +492,7 @@ export const findSwapQuote = async ({ from, to, amount, referral, vultDiscountTi
428
492
  return {
429
493
  quote,
430
494
  outputAmount: getComparableOutputAmount(quote, to),
495
+ sourceGasUnits: getSameChainEvmSourceGasUnits(quote, from, to),
431
496
  providerName: fetcher.providerName,
432
497
  };
433
498
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"findSwapQuote.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/quote/findSwapQuote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findSwapQuote.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/quote/findSwapQuote.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/solana.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAMvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AA2BjD,eAAO,MAAM,iBAAiB,EAAE,mBAAmB,CAAC,UAAU,CAAC,MAAM,CA+CpE,CAAA"}
1
+ {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/solana.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAMvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAuDjD,eAAO,MAAM,iBAAiB,EAAE,mBAAmB,CAAC,UAAU,CAAC,MAAM,CA2CpE,CAAA"}
@@ -4,6 +4,10 @@ import { sendJitoTransaction } from '@vultisig/core-chain/chains/solana/jito';
4
4
  import { isInError } from '@vultisig/lib-utils/error/isInError';
5
5
  import base58 from 'bs58';
6
6
  import { verifyBroadcastByHash } from '../verifyBroadcastByHash.js';
7
+ const solanaStandardRpcMaxAttempts = 3;
8
+ const solanaStandardRpcRetryDelayMs = 500;
9
+ const isTransientBlockhashError = (error) => isInError(error, 'Blockhash not found', 'blockhash not found', 'BlockhashNotFound');
10
+ const wait = (durationMs) => new Promise(resolve => setTimeout(resolve, durationMs));
7
11
  /**
8
12
  * Hoists the on-chain rejection reason into a Solana send error's message.
9
13
  *
@@ -25,6 +29,25 @@ const withSolanaBroadcastReason = (error) => {
25
29
  }
26
30
  return new Error([error.message, ...logs].join('\n'), { cause: error });
27
31
  };
32
+ const sendSolanaRawTransaction = async (rawTransaction) => {
33
+ const client = getSolanaClient();
34
+ for (let attempt = 1; attempt <= solanaStandardRpcMaxAttempts; attempt++) {
35
+ try {
36
+ await client.sendRawTransaction(rawTransaction, {
37
+ skipPreflight: false,
38
+ preflightCommitment: 'confirmed',
39
+ });
40
+ return;
41
+ }
42
+ catch (error) {
43
+ if (isTransientBlockhashError(error) && attempt < solanaStandardRpcMaxAttempts) {
44
+ await wait(solanaStandardRpcRetryDelayMs * attempt);
45
+ continue;
46
+ }
47
+ throw error;
48
+ }
49
+ }
50
+ };
28
51
  export const broadcastSolanaTx = async ({ chain, tx }) => {
29
52
  const rawTransaction = base58.decode(tx.encoded);
30
53
  // Try JITO first for MEV protection, but still relay through standard RPC.
@@ -36,12 +59,8 @@ export const broadcastSolanaTx = async ({ chain, tx }) => {
36
59
  catch (err) {
37
60
  console.warn('[solana] JITO sendTransaction failed, falling back to standard RPC:', err);
38
61
  }
39
- const client = getSolanaClient();
40
62
  try {
41
- await client.sendRawTransaction(rawTransaction, {
42
- skipPreflight: false,
43
- preflightCommitment: 'confirmed',
44
- });
63
+ await sendSolanaRawTransaction(rawTransaction);
45
64
  }
46
65
  catch (error) {
47
66
  // A duplicate-signature error means the node already accepted this exact
@@ -1 +1 @@
1
- {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,MAAM,MAAM,MAAM,CAAA;AAGzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAEhE;;;;;;;;;;GAUG;AACH,MAAM,yBAAyB,GAAG,CAAC,KAAc,EAAW,EAAE;IAC5D,IAAI,CAAC,CAAC,KAAK,YAAY,oBAAoB,CAAC,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IACtB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;AACzE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAA2C,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;IAC/F,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;IAEhD,2EAA2E;IAC3E,2EAA2E;IAC3E,4EAA4E;IAC5E,IAAI,CAAC;QACH,MAAM,mBAAmB,CAAC,cAAc,CAAC,CAAA;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,qEAAqE,EAAE,GAAG,CAAC,CAAA;IAC1F,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE;YAC9C,aAAa,EAAE,KAAK;YACpB,mBAAmB,EAAE,WAAW;SACjC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yEAAyE;QACzE,sEAAsE;QACtE,oEAAoE;QACpE,oEAAoE;QACpE,wEAAwE;QACxE,EAAE;QACF,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,gEAAgE;QAChE,sEAAsE;QACtE,yEAAyE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,2DAA2D;QAC3D,uEAAuE;QACvE,uEAAuE;QACvE,mEAAmE;QACnE,IAAI,SAAS,CAAC,KAAK,EAAE,wBAAwB,EAAE,kBAAkB,CAAC,EAAE,CAAC;YACnE,OAAM;QACR,CAAC;QACD,MAAM,qBAAqB,CAAC;YAC1B,KAAK;YACL,EAAE;YACF,KAAK,EAAE,yBAAyB,CAAC,KAAK,CAAC;SACxC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/solana.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/hash/resolvers/cardano.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAAC,OAAO,CAY/D,CAAA"}
1
+ {"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/hash/resolvers/cardano.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAAC,OAAO,CAe/D,CAAA"}
@@ -1,13 +1,16 @@
1
1
  import { blake2b } from '@noble/hashes/blake2b';
2
- import { decode, encode } from 'cbor-x';
2
+ import { cardanoCborEncoder } from '@vultisig/core-chain/chains/cardano/cip30/cborEncoder';
3
3
  export const getCardanoTxHash = tx => {
4
4
  // Prefer pre-computed txId (set by compileTx to avoid cbor-x
5
5
  // re-encoding which can alter byte representation).
6
6
  if (tx.txId && tx.txId.length > 0) {
7
7
  return Buffer.from(tx.txId).toString('hex');
8
8
  }
9
- const decoded = decode(tx.encoded);
10
- const bodyCbor = encode(decoded[0]);
9
+ // Fallback decode must go through cardanoCborEncoder (maps stay `Map`):
10
+ // token-carrying txs have byte-string map keys that cbor-x's default
11
+ // decode-to-object rejects with "Invalid property name type object".
12
+ const decoded = cardanoCborEncoder.decode(tx.encoded);
13
+ const bodyCbor = cardanoCborEncoder.encode(decoded[0]);
11
14
  const digest = blake2b(bodyCbor, { dkLen: 32 });
12
15
  return Buffer.from(digest).toString('hex');
13
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/hash/resolvers/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAIvC,MAAM,CAAC,MAAM,gBAAgB,GAAuC,EAAE,CAAC,EAAE;IACvE,6DAA6D;IAC7D,oDAAoD;IACpD,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IAE/C,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC5C,CAAC,CAAA"}
1
+ {"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/hash/resolvers/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAA;AAI1F,MAAM,CAAC,MAAM,gBAAgB,GAAuC,EAAE,CAAC,EAAE;IACvE,6DAA6D;IAC7D,oDAAoD;IACpD,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;IAED,wEAAwE;IACxE,qEAAqE;IACrE,qEAAqE;IACrE,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IAE/C,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC5C,CAAC,CAAA"}
@@ -73,7 +73,7 @@ export const getBlockExplorerUrl = ({ chain, entity, value }) => {
73
73
  [Chain.Ton]: () => `${baseUrl}/${value}`,
74
74
  [Chain.Osmosis]: () => `${baseUrl}/address/${value}`,
75
75
  [Chain.Terra]: () => `${baseUrl}/address/${value}`,
76
- [Chain.TerraClassic]: () => `${baseUrl}/classic/address/${value}`,
76
+ [Chain.TerraClassic]: () => `${baseUrl}/address/${value}`,
77
77
  [Chain.Noble]: () => `${baseUrl}/address/${value}`,
78
78
  [Chain.Ripple]: () => `${baseUrl}/account/${value}`,
79
79
  [Chain.Akash]: () => `${baseUrl}/address/${value}`,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/utils/getBlockExplorerUrl/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/utils/getBlockExplorerUrl/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vultisig/core-chain",
3
- "version": "2.22.2",
3
+ "version": "2.23.1",
4
4
  "description": "Blockchain chain logic shared across Vultisig clients",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -680,6 +680,11 @@
680
680
  "import": "./dist/chains/solana/spl/getSplAssociatedAccount.js",
681
681
  "default": "./dist/chains/solana/spl/getSplAssociatedAccount.js"
682
682
  },
683
+ "./chains/solana/staking/apyResolver": {
684
+ "types": "./dist/chains/solana/staking/apyResolver.d.ts",
685
+ "import": "./dist/chains/solana/staking/apyResolver.js",
686
+ "default": "./dist/chains/solana/staking/apyResolver.js"
687
+ },
683
688
  "./chains/solana/staking/config": {
684
689
  "types": "./dist/chains/solana/staking/config.d.ts",
685
690
  "import": "./dist/chains/solana/staking/config.js",