@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.
- package/CHANGELOG.md +51 -0
- package/dist/chains/cardano/cip30/cardanoTxTtl.d.ts +5 -0
- package/dist/chains/cardano/cip30/cardanoTxTtl.d.ts.map +1 -1
- package/dist/chains/cardano/cip30/cardanoTxTtl.js +7 -2
- package/dist/chains/cardano/cip30/cardanoTxTtl.js.map +1 -1
- package/dist/chains/cardano/utxo/getCardanoExtendedUtxos.d.ts +5 -0
- package/dist/chains/cardano/utxo/getCardanoExtendedUtxos.d.ts.map +1 -1
- package/dist/chains/cardano/utxo/getCardanoExtendedUtxos.js +10 -3
- package/dist/chains/cardano/utxo/getCardanoExtendedUtxos.js.map +1 -1
- package/dist/chains/solana/staking/apyResolver.d.ts +31 -0
- package/dist/chains/solana/staking/apyResolver.d.ts.map +1 -0
- package/dist/chains/solana/staking/apyResolver.js +70 -0
- package/dist/chains/solana/staking/apyResolver.js.map +1 -0
- package/dist/chains/solana/staking/models/validator.d.ts +9 -0
- package/dist/chains/solana/staking/models/validator.d.ts.map +1 -1
- package/dist/chains/solana/staking/models/validator.js +9 -0
- package/dist/chains/solana/staking/models/validator.js.map +1 -1
- package/dist/swap/general/GeneralSwapQuote.d.ts +1 -1
- package/dist/swap/general/jupiter/api/getJupiterSwapQuote.d.ts +9 -6
- package/dist/swap/general/jupiter/api/getJupiterSwapQuote.d.ts.map +1 -1
- package/dist/swap/general/jupiter/api/getJupiterSwapQuote.js +12 -11
- package/dist/swap/general/jupiter/api/getJupiterSwapQuote.js.map +1 -1
- package/dist/swap/general/jupiter/config.d.ts +20 -0
- package/dist/swap/general/jupiter/config.d.ts.map +1 -1
- package/dist/swap/general/jupiter/config.js +4 -4
- package/dist/swap/general/jupiter/config.js.map +1 -1
- package/dist/swap/general/lifi/api/injectSolanaAtaIfMissing.d.ts.map +1 -1
- package/dist/swap/general/lifi/api/injectSolanaAtaIfMissing.js +24 -22
- package/dist/swap/general/lifi/api/injectSolanaAtaIfMissing.js.map +1 -1
- package/dist/swap/quote/findSwapQuote.d.ts +2 -0
- package/dist/swap/quote/findSwapQuote.d.ts.map +1 -1
- package/dist/swap/quote/findSwapQuote.js +78 -13
- package/dist/swap/quote/findSwapQuote.js.map +1 -1
- package/dist/tx/broadcast/resolvers/solana.d.ts.map +1 -1
- package/dist/tx/broadcast/resolvers/solana.js +24 -5
- package/dist/tx/broadcast/resolvers/solana.js.map +1 -1
- package/dist/tx/hash/resolvers/cardano.d.ts.map +1 -1
- package/dist/tx/hash/resolvers/cardano.js +6 -3
- package/dist/tx/hash/resolvers/cardano.js.map +1 -1
- package/dist/utils/getBlockExplorerUrl/index.js +1 -1
- package/dist/utils/getBlockExplorerUrl/index.js.map +1 -1
- 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
|
|
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 {
|
|
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,
|
|
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;
|
|
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
|
|
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;
|
|
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 = `
|
|
18
|
-
* to `/swap` as `feeAccount`, and
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
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;
|
|
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 = `
|
|
30
|
-
* to `/swap` as `feeAccount`, and
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
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":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAA;AAG9E,OAAO,
|
|
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;
|
|
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
|
|
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 =
|
|
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 =
|
|
45
|
-
|
|
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":"
|
|
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;
|
|
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
|
-
|
|
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":"AAAA,OAAO,EACL,iDAAiD,EACjD,6BAA6B,EAC7B,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAA6B,SAAS,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAChH,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAE3E,yDAAyD;AACzD,MAAM,sBAAsB,GAAG,CAAC,CAAA;AAEhC;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAC9B,MAA0C,EAC1C,UAAqB;IAErB,MAAM,MAAM,GAAc,EAAE,CAAA;IAC5B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,sBAAsB,EAAE,OAAO,EAAE,EAAE,CAAC;QAClE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAA;YAC7D,OAAO,MAAM,CAAC,KAAK,IAAI,IAAI,CAAA;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAChB,IAAI,OAAO,GAAG,sBAAsB,GAAG,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAA;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IACD,sEAAsE;IACtE,wEAAwE;IACxE,OAAO,CAAC,IAAI,CAAC,4DAA4D,EAAE,MAAM,CAAC,CAAA;IAClF,OAAO,IAAI,CAAA;AACb,CAAC;AASD
|
|
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;
|
|
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.
|
|
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 =
|
|
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
|
|
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
|
-
*
|
|
98
|
-
* are
|
|
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
|
-
|
|
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;
|
|
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
|
|
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,
|
|
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,
|
|
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 {
|
|
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
|
-
|
|
10
|
-
|
|
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,
|
|
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}/
|
|
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.
|
|
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",
|