@vultisig/core-chain 2.23.0 → 2.23.2
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 +48 -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/client/getCardanoAddressAssets.d.ts.map +1 -1
- package/dist/chains/cardano/client/getCardanoAddressAssets.js +32 -7
- package/dist/chains/cardano/client/getCardanoAddressAssets.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/cosmos/account/getAllCosmosBalances.d.ts +19 -0
- package/dist/chains/cosmos/account/getAllCosmosBalances.d.ts.map +1 -0
- package/dist/chains/cosmos/account/getAllCosmosBalances.js +36 -0
- package/dist/chains/cosmos/account/getAllCosmosBalances.js.map +1 -0
- package/dist/chains/cosmos/resolveCosmosGasFee.d.ts +28 -0
- package/dist/chains/cosmos/resolveCosmosGasFee.d.ts.map +1 -0
- package/dist/chains/cosmos/resolveCosmosGasFee.js +6 -0
- package/dist/chains/cosmos/resolveCosmosGasFee.js.map +1 -0
- package/dist/chains/solana/spl/getSplAccounts.d.ts.map +1 -1
- package/dist/chains/solana/spl/getSplAccounts.js +15 -4
- package/dist/chains/solana/spl/getSplAccounts.js.map +1 -1
- package/dist/chains/ton/account/getTonAccountInfo.d.ts +1 -1
- package/dist/chains/ton/account/getTonAccountInfo.d.ts.map +1 -1
- package/dist/chains/ton/account/getTonAccountInfo.js +14 -2
- package/dist/chains/ton/account/getTonAccountInfo.js.map +1 -1
- package/dist/coin/balance/resolvers/cosmos.d.ts.map +1 -1
- package/dist/coin/balance/resolvers/cosmos.js +3 -0
- package/dist/coin/balance/resolvers/cosmos.js.map +1 -1
- package/dist/coin/find/resolvers/cosmos.d.ts.map +1 -1
- package/dist/coin/find/resolvers/cosmos.js +9 -2
- package/dist/coin/find/resolvers/cosmos.js.map +1 -1
- package/dist/coin/find/resolvers/evm/index.d.ts.map +1 -1
- package/dist/coin/find/resolvers/evm/index.js +38 -10
- package/dist/coin/find/resolvers/evm/index.js.map +1 -1
- package/dist/coin/token/metadata/resolvers/cosmos.d.ts.map +1 -1
- package/dist/coin/token/metadata/resolvers/cosmos.js +4 -0
- package/dist/coin/token/metadata/resolvers/cosmos.js.map +1 -1
- package/dist/publicKey/getPublicKey.d.ts.map +1 -1
- package/dist/publicKey/getPublicKey.js +3 -0
- package/dist/publicKey/getPublicKey.js.map +1 -1
- package/dist/swap/quote/findSwapQuote.d.ts.map +1 -1
- package/dist/swap/quote/findSwapQuote.js +90 -14
- package/dist/swap/quote/findSwapQuote.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/package.json +12 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,53 @@
|
|
|
1
1
|
# @vultisig/core-chain
|
|
2
2
|
|
|
3
|
+
## 2.23.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#1014](https://github.com/vultisig/vultisig-sdk/pull/1014) [`c41a219`](https://github.com/vultisig/vultisig-sdk/commit/c41a21950c4cccf70c8298b8e595acf64c276d8c) Thanks [@Ehsan-saradar](https://github.com/Ehsan-saradar)! - feat(cosmos): initiator-side dynamic gas — simulate native sends and relay `CosmosSpecific.gas_limit`
|
|
8
|
+
|
|
9
|
+
`getCosmosChainSpecific` now simulates native Cosmos bank sends via
|
|
10
|
+
`/cosmos/tx/v1beta1/simulate` and relays the padded (`× 1.3`) `gas_used` to
|
|
11
|
+
co-signers in `CosmosSpecific.gas_limit`. The signing-inputs resolver already
|
|
12
|
+
honors this field (scaling the fee amount accordingly) and falls back to the
|
|
13
|
+
static per-chain gas limit when it is absent or zero, so:
|
|
14
|
+
|
|
15
|
+
- Only native bank sends are simulated (a relayed dapp `signData`, token / IBC /
|
|
16
|
+
contract / staking txs, and vault-based chains keep the static limit).
|
|
17
|
+
- Estimation fails closed: any simulate/build error leaves the field unset, so
|
|
18
|
+
simulation never blocks signing and peers converge on the static limit.
|
|
19
|
+
- The relayed limit is part of the SignDoc every device hashes; because it is
|
|
20
|
+
computed with exact integer math (ceil of `gas_used × 13 / 10`) and honored
|
|
21
|
+
identically across peers, cross-device co-signing stays byte-identical.
|
|
22
|
+
|
|
23
|
+
Mirrors the iOS `CosmosGasEstimator` implementation.
|
|
24
|
+
|
|
25
|
+
## 2.23.1
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- [#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
|
|
30
|
+
|
|
31
|
+
Adopts commondata's `UtxoInfo.cardano_tokens` across all three missing
|
|
32
|
+
layers, mirroring the mainnet-tested iOS implementation byte-for-byte:
|
|
33
|
+
|
|
34
|
+
- Regenerates `utxo_info_pb.ts` so `CardanoTokenAsset` /
|
|
35
|
+
`UtxoInfo.cardanoTokens` exist and can be decoded off the keysign wire.
|
|
36
|
+
- The keysign initiator fetches Cardano UTXOs with Koios `_extended` and
|
|
37
|
+
attaches per-UTXO native assets (UTXOs ordered by `(hash, index)`, assets
|
|
38
|
+
by `(policyId, assetNameHex)`, hex lowercased) so co-signers see
|
|
39
|
+
deterministic, token-aware payload bytes.
|
|
40
|
+
- The Cardano signing-inputs resolver maps `cardanoTokens` onto WalletCore
|
|
41
|
+
`TxInput.token_amount` (minimal big-endian amount bytes), letting the
|
|
42
|
+
planner reconcile input tokens into the change output.
|
|
43
|
+
|
|
44
|
+
Fixes MPC co-signing for any Cardano address holding native tokens:
|
|
45
|
+
iOS/macOS-initiated sends no longer fail keysign with a pre-image hash
|
|
46
|
+
mismatch, and SDK-initiated sends no longer build token-dropping bodies
|
|
47
|
+
that the node rejects at broadcast (Ogmios 3123 "value not conserved").
|
|
48
|
+
|
|
49
|
+
- [#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.
|
|
50
|
+
|
|
3
51
|
## 2.23.0
|
|
4
52
|
|
|
5
53
|
### Minor 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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCardanoAddressAssets.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cardano/client/getCardanoAddressAssets.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;
|
|
1
|
+
{"version":3,"file":"getCardanoAddressAssets.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cardano/client/getCardanoAddressAssets.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AA6BD,mGAAmG;AACnG,eAAO,MAAM,uBAAuB,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,mBAAmB,EAAE,CA0B5F,CAAA"}
|
|
@@ -1,14 +1,39 @@
|
|
|
1
1
|
import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
|
|
2
2
|
import { cardanoApiUrl } from './config.js';
|
|
3
|
+
// Koios caps every response at 1000 rows (confirmed live: an unbounded
|
|
4
|
+
// address_assets query returns exactly 1000) and paginates via offset/limit.
|
|
5
|
+
// A single unbounded call therefore truncates any wallet holding >1000 native
|
|
6
|
+
// assets - realistic on Cardano since every NFT is its own native asset, so an
|
|
7
|
+
// NFT-heavy wallet blows past 1000 easily. That truncation is silent and hits
|
|
8
|
+
// BOTH callers: the discovery resolver drops tokens past row 1000 entirely, and
|
|
9
|
+
// the per-token balance resolver's `.find()` returns 0 for a token the user
|
|
10
|
+
// actually holds. Page through offsets until a short page proves the end,
|
|
11
|
+
// mirroring getUtxoAddressInfo's blockchair pagination.
|
|
12
|
+
const KOIOS_PAGE_SIZE = 1000;
|
|
13
|
+
// Runaway guard: the loop only stops on a short page, so a misbehaving or
|
|
14
|
+
// offset-ignoring Koios that keeps returning a full 1000-row page would loop
|
|
15
|
+
// forever and grow `rows` unboundedly. Cap the walk far past any real wallet
|
|
16
|
+
// (100 * 1000 = 100k native assets), mirroring the MAX_PAGES guard in the
|
|
17
|
+
// sibling sui/cosmos pagination fixes (#965/#968). The cap is a safety valve,
|
|
18
|
+
// not a truncation limit — no real Cardano wallet holds 100k native assets.
|
|
19
|
+
const MAX_PAGES = 100;
|
|
3
20
|
/** Fetches all native tokens held at a Cardano address via the Koios `address_assets` endpoint. */
|
|
4
21
|
export const getCardanoAddressAssets = async (address) => {
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
22
|
+
const rows = [];
|
|
23
|
+
for (let page = 0; page < MAX_PAGES; page++) {
|
|
24
|
+
const offset = page * KOIOS_PAGE_SIZE;
|
|
25
|
+
const url = `${cardanoApiUrl}/address_assets?limit=${KOIOS_PAGE_SIZE}&offset=${offset}`;
|
|
26
|
+
const pageRows = await queryUrl(url, {
|
|
27
|
+
body: {
|
|
28
|
+
_addresses: [address],
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
rows.push(...pageRows);
|
|
32
|
+
if (pageRows.length < KOIOS_PAGE_SIZE) {
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return rows.map(({ policy_id, asset_name, fingerprint, decimals, quantity }) => ({
|
|
12
37
|
policy_id,
|
|
13
38
|
asset_name,
|
|
14
39
|
fingerprint,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCardanoAddressAssets.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cardano/client/getCardanoAddressAssets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAmBxC,mGAAmG;AACnG,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,OAAe,EAAkC,EAAE;IAC/F,MAAM,GAAG,GAAG,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"getCardanoAddressAssets.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cardano/client/getCardanoAddressAssets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAmBxC,uEAAuE;AACvE,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,4EAA4E;AAC5E,0EAA0E;AAC1E,wDAAwD;AACxD,MAAM,eAAe,GAAG,IAAI,CAAA;AAC5B,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,8EAA8E;AAC9E,4EAA4E;AAC5E,MAAM,SAAS,GAAG,GAAG,CAAA;AAErB,mGAAmG;AACnG,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,OAAe,EAAkC,EAAE;IAC/F,MAAM,IAAI,GAAgC,EAAE,CAAA;IAE5C,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,eAAe,CAAA;QACrC,MAAM,GAAG,GAAG,GAAG,aAAa,yBAAyB,eAAe,WAAW,MAAM,EAAE,CAAA;QACvF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAA8B,GAAG,EAAE;YAChE,IAAI,EAAE;gBACJ,UAAU,EAAE,CAAC,OAAO,CAAC;aACtB;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;QAEtB,IAAI,QAAQ,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;YACtC,MAAK;QACP,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/E,SAAS;QACT,UAAU;QACV,WAAW;QACX,QAAQ,EAAE,QAAQ,IAAI,CAAC;QACvB,QAAQ;KACT,CAAC,CAAC,CAAA;AACL,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,19 @@
|
|
|
1
|
+
import { CosmosChain } from '@vultisig/core-chain/Chain';
|
|
2
|
+
export type CosmosBalanceEntry = {
|
|
3
|
+
denom: string;
|
|
4
|
+
amount: string;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Fetches EVERY bank balance denom held at a Cosmos address via the LCD REST
|
|
8
|
+
* endpoint, following `pagination.next_key` to completion.
|
|
9
|
+
*
|
|
10
|
+
* cosmjs's `StargateClient.getAllBalances` issues a single unpaginated
|
|
11
|
+
* `QueryAllBalances`, so the node applies its default page limit (100 on most
|
|
12
|
+
* Cosmos SDK chains) and silently truncates. An IBC-heavy wallet (e.g. an
|
|
13
|
+
* active Osmosis DeFi user holding >100 IBC tokens + LP shares) would have
|
|
14
|
+
* every denom past the first 100 dropped from token discovery. This walks the
|
|
15
|
+
* pages so discovery sees the full set. LCD is already the trusted data source
|
|
16
|
+
* for cosmos staking reads and the balance-resolver fallback in this package.
|
|
17
|
+
*/
|
|
18
|
+
export declare const getAllCosmosBalances: (chain: CosmosChain, address: string) => Promise<CosmosBalanceEntry[]>;
|
|
19
|
+
//# sourceMappingURL=getAllCosmosBalances.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAllCosmosBalances.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cosmos/account/getAllCosmosBalances.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAIxD,MAAM,MAAM,kBAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAYlE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,GAAU,OAAO,WAAW,EAAE,SAAS,MAAM,KAAG,OAAO,CAAC,kBAAkB,EAAE,CAqB5G,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { getCosmosRpcUrl } from '@vultisig/core-chain/chains/cosmos/getCosmosRpcUrl';
|
|
2
|
+
import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
|
|
3
|
+
const PAGE_LIMIT = 1000;
|
|
4
|
+
// Safety valve against a misbehaving LCD that never returns a null next_key.
|
|
5
|
+
// 1000 denoms/page * 20 pages = 20k denoms, far past any real wallet.
|
|
6
|
+
const MAX_PAGES = 20;
|
|
7
|
+
/**
|
|
8
|
+
* Fetches EVERY bank balance denom held at a Cosmos address via the LCD REST
|
|
9
|
+
* endpoint, following `pagination.next_key` to completion.
|
|
10
|
+
*
|
|
11
|
+
* cosmjs's `StargateClient.getAllBalances` issues a single unpaginated
|
|
12
|
+
* `QueryAllBalances`, so the node applies its default page limit (100 on most
|
|
13
|
+
* Cosmos SDK chains) and silently truncates. An IBC-heavy wallet (e.g. an
|
|
14
|
+
* active Osmosis DeFi user holding >100 IBC tokens + LP shares) would have
|
|
15
|
+
* every denom past the first 100 dropped from token discovery. This walks the
|
|
16
|
+
* pages so discovery sees the full set. LCD is already the trusted data source
|
|
17
|
+
* for cosmos staking reads and the balance-resolver fallback in this package.
|
|
18
|
+
*/
|
|
19
|
+
export const getAllCosmosBalances = async (chain, address) => {
|
|
20
|
+
const base = getCosmosRpcUrl(chain);
|
|
21
|
+
const balances = [];
|
|
22
|
+
let nextKey;
|
|
23
|
+
for (let page = 0; page < MAX_PAGES; page++) {
|
|
24
|
+
const params = new URLSearchParams({ 'pagination.limit': String(PAGE_LIMIT) });
|
|
25
|
+
if (nextKey)
|
|
26
|
+
params.set('pagination.key', nextKey);
|
|
27
|
+
const resp = await queryUrl(`${base}/cosmos/bank/v1beta1/balances/${address}?${params.toString()}`);
|
|
28
|
+
balances.push(...(resp.balances ?? []));
|
|
29
|
+
const key = resp.pagination?.next_key;
|
|
30
|
+
if (!key)
|
|
31
|
+
return balances;
|
|
32
|
+
nextKey = key;
|
|
33
|
+
}
|
|
34
|
+
return balances;
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=getAllCosmosBalances.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAllCosmosBalances.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/cosmos/account/getAllCosmosBalances.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAA;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAS7D,MAAM,UAAU,GAAG,IAAI,CAAA;AACvB,6EAA6E;AAC7E,sEAAsE;AACtE,MAAM,SAAS,GAAG,EAAE,CAAA;AAEpB;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,KAAkB,EAAE,OAAe,EAAiC,EAAE;IAC/G,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,QAAQ,GAAyB,EAAE,CAAA;IACzC,IAAI,OAA2B,CAAA;IAE/B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QAC9E,IAAI,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;QAElD,MAAM,IAAI,GAAG,MAAM,QAAQ,CACzB,GAAG,IAAI,iCAAiC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CACvE,CAAA;QAED,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAA;QAEvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAA;QACrC,IAAI,CAAC,GAAG;YAAE,OAAO,QAAQ,CAAA;QACzB,OAAO,GAAG,GAAG,CAAA;IACf,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves the effective Cosmos gas limit and fee amount for a native send,
|
|
3
|
+
* honoring a relayed dynamic `gas_limit` when present.
|
|
4
|
+
*
|
|
5
|
+
* Shared by the signing-inputs resolver (what gets signed) and the fee-display
|
|
6
|
+
* resolver (what the user sees) so the shown and signed fee can never drift —
|
|
7
|
+
* the gas limit is part of the SignDoc, so both sides MUST agree.
|
|
8
|
+
*
|
|
9
|
+
* When the relayed limit exceeds the static per-chain limit, the fee amount is
|
|
10
|
+
* scaled proportionally with a ceiling (exact integer math) so the tx pays for
|
|
11
|
+
* the extra gas. Below or equal to the static limit, both values are left
|
|
12
|
+
* untouched, keeping the non-dynamic path byte-identical.
|
|
13
|
+
*/
|
|
14
|
+
type ResolveCosmosGasFeeInput = {
|
|
15
|
+
/** static per-chain fee amount already stored in `CosmosSpecific.gas` */
|
|
16
|
+
gas: bigint;
|
|
17
|
+
/** relayed `CosmosSpecific.gas_limit` (undefined / 0 → use the static limit) */
|
|
18
|
+
relayedGasLimit: bigint | undefined;
|
|
19
|
+
/** static per-chain gas limit (`getCosmosGasLimit`) */
|
|
20
|
+
staticGasLimit: bigint;
|
|
21
|
+
};
|
|
22
|
+
type ResolveCosmosGasFeeResult = {
|
|
23
|
+
resolvedGasLimit: bigint;
|
|
24
|
+
feeAmount: bigint;
|
|
25
|
+
};
|
|
26
|
+
export declare const resolveCosmosGasFee: ({ gas, relayedGasLimit, staticGasLimit, }: ResolveCosmosGasFeeInput) => ResolveCosmosGasFeeResult;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=resolveCosmosGasFee.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveCosmosGasFee.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/cosmos/resolveCosmosGasFee.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,KAAK,wBAAwB,GAAG;IAC9B,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAA;IACX,gFAAgF;IAChF,eAAe,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,2CAIjC,wBAAwB,KAAG,yBAO7B,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const resolveCosmosGasFee = ({ gas, relayedGasLimit, staticGasLimit, }) => {
|
|
2
|
+
const resolvedGasLimit = relayedGasLimit && relayedGasLimit > 0n ? relayedGasLimit : staticGasLimit;
|
|
3
|
+
const feeAmount = resolvedGasLimit > staticGasLimit ? (gas * resolvedGasLimit + staticGasLimit - 1n) / staticGasLimit : gas;
|
|
4
|
+
return { resolvedGasLimit, feeAmount };
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=resolveCosmosGasFee.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveCosmosGasFee.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/cosmos/resolveCosmosGasFee.ts"],"names":[],"mappings":"AA2BA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,GAAG,EACH,eAAe,EACf,cAAc,GACW,EAA6B,EAAE;IACxD,MAAM,gBAAgB,GAAG,eAAe,IAAI,eAAe,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAA;IAEnG,MAAM,SAAS,GACb,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,gBAAgB,GAAG,cAAc,GAAG,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,CAAA;IAE3G,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAA;AACxC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSplAccounts.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/solana/spl/getSplAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAK3C,eAAO,MAAM,cAAc,GAAU,SAAS,MAAM;;;
|
|
1
|
+
{"version":3,"file":"getSplAccounts.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/solana/spl/getSplAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAK3C,eAAO,MAAM,cAAc,GAAU,SAAS,MAAM;;;IA2BnD,CAAA"}
|
|
@@ -4,9 +4,20 @@ import { splTokenProgramId, token2022ProgramId } from '../config.js';
|
|
|
4
4
|
export const getSplAccounts = async (address) => {
|
|
5
5
|
const client = getSolanaClient();
|
|
6
6
|
const programs = [splTokenProgramId, token2022ProgramId];
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
const owner = new PublicKey(address);
|
|
8
|
+
// Query the SPL Token and Token-2022 programs independently. Previously this
|
|
9
|
+
// used Promise.all, so a transient RPC failure on EITHER program's query
|
|
10
|
+
// rejected the whole call and hid the other program's holdings entirely (a
|
|
11
|
+
// user with normal SPL tokens would see nothing if only the token-2022 query
|
|
12
|
+
// hiccuped). Use allSettled: return whatever succeeded, and only throw when
|
|
13
|
+
// BOTH fail (so a real outage surfaces an error rather than a false-empty
|
|
14
|
+
// "you have no tokens").
|
|
15
|
+
const responses = await Promise.allSettled(programs.map(programId => client.getParsedTokenAccountsByOwner(owner, { programId: new PublicKey(programId) })));
|
|
16
|
+
const fulfilled = responses.filter((r) => r.status === 'fulfilled');
|
|
17
|
+
if (fulfilled.length === 0) {
|
|
18
|
+
const firstRejection = responses.find((r) => r.status === 'rejected');
|
|
19
|
+
throw firstRejection?.reason ?? new Error('getSplAccounts: all token-program queries failed');
|
|
20
|
+
}
|
|
21
|
+
return fulfilled.flatMap(response => response.value.value);
|
|
11
22
|
};
|
|
12
23
|
//# sourceMappingURL=getSplAccounts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSplAccounts.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/solana/spl/getSplAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEjE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;IACtD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,MAAM,QAAQ,GAAG,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"getSplAccounts.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/solana/spl/getSplAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEjE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;IACtD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,MAAM,QAAQ,GAAG,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAA;IACxD,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAA;IAEpC,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,yBAAyB;IACzB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,CACxC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAChH,CAAA;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAChC,CAAC,CAAC,EAAiG,EAAE,CACnG,CAAC,CAAC,MAAM,KAAK,WAAW,CAC3B,CAAA;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAA;QACjG,MAAM,cAAc,EAAE,MAAM,IAAI,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IAC/F,CAAC;IAED,OAAO,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAC5D,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTonAccountInfo.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/ton/account/getTonAccountInfo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getTonAccountInfo.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/ton/account/getTonAccountInfo.ts"],"names":[],"mappings":"AAkCA,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM;aA5B1C;QACP,eAAe,EAAE,MAAM,CAAA;KACxB;aACQ,MAAM;yBACM;QACnB,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;KACb;cACS;QACR,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE,MAAM,CAAA;KAClB;gBACW,MAAM;oBAIF;QACd,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,MAAM,CAAA;KACd;cACS,MAAM;cACN,MAAM;GAsBnB"}
|
|
@@ -2,7 +2,19 @@ import { rootApiUrl } from '@vultisig/core-config';
|
|
|
2
2
|
import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
|
|
3
3
|
export async function getTonAccountInfo(address) {
|
|
4
4
|
const url = `${rootApiUrl}/ton/v2/getExtendedAddressInformation?address=${address}`;
|
|
5
|
-
const
|
|
6
|
-
|
|
5
|
+
const response = await queryUrl(url);
|
|
6
|
+
// `assertFetchResponse` only checks the HTTP status, not the toncenter-style
|
|
7
|
+
// `{ "ok": false, "result": null }` body shape, so a transient RPC failure
|
|
8
|
+
// slips through as a 200 with a null `result`. Returning that null lets the
|
|
9
|
+
// caller crash on a destructure (`const { account_state } = undefined`) with a
|
|
10
|
+
// cryptic TypeError that aborts the whole keysign chain-specific step. Fail
|
|
11
|
+
// closed with a descriptive error instead — a genuinely uninitialized wallet
|
|
12
|
+
// still returns `ok: true` with an `uninited.accountState` result, so this only
|
|
13
|
+
// trips on a real fetch/RPC failure where signing with a guessed seqno would be
|
|
14
|
+
// wrong anyway.
|
|
15
|
+
if (!response?.ok || !response.result) {
|
|
16
|
+
throw new Error(`TON getExtendedAddressInformation returned no result for ${address}`);
|
|
17
|
+
}
|
|
18
|
+
return response.result;
|
|
7
19
|
}
|
|
8
20
|
//# sourceMappingURL=getTonAccountInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTonAccountInfo.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/ton/account/getTonAccountInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"getTonAccountInfo.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/chains/ton/account/getTonAccountInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAiC7D,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe;IACrD,MAAM,GAAG,GAAG,GAAG,UAAU,iDAAiD,OAAO,EAAE,CAAA;IACnF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAyB,GAAG,CAAC,CAAA;IAE5D,6EAA6E;IAC7E,2EAA2E;IAC3E,4EAA4E;IAC5E,+EAA+E;IAC/E,4EAA4E;IAC5E,6EAA6E;IAC7E,gFAAgF;IAChF,gFAAgF;IAChF,gBAAgB;IAChB,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,4DAA4D,OAAO,EAAE,CAAC,CAAA;IACxF,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAA;AACxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/balance/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAOxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAuCjD,eAAO,MAAM,oBAAoB,EAAE,mBAAmB,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/balance/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAOxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAuCjD,eAAO,MAAM,oBAAoB,EAAE,mBAAmB,CAAC,WAAW,CA6BjE,CAAA"}
|
|
@@ -35,6 +35,9 @@ const fetchBalanceViaLcd = async (chain, address, denom) => {
|
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
37
|
export const getCosmosCoinBalance = async (input) => {
|
|
38
|
+
if (input.id !== undefined && !input.id) {
|
|
39
|
+
throw new Error('getCosmosCoinBalance: coin id must be non-empty when provided');
|
|
40
|
+
}
|
|
38
41
|
if (isCosmosWasmTokenId(input.id)) {
|
|
39
42
|
const url = getCosmosWasmTokenBalanceUrl(input);
|
|
40
43
|
const { data } = await queryUrl(url);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/balance/resolvers/cosmos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAA;AACnH,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAA;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAW7D,sEAAsE;AACtE,yEAAyE;AACzE,uEAAuE;AACvE,yEAAyE;AACzE,0EAA0E;AAC1E,sEAAsE;AACtE,yEAAyE;AACzE,wEAAwE;AACxE,2BAA2B;AAC3B,EAAE;AACF,wEAAwE;AACxE,wEAAwE;AACxE,oBAAoB;AACpB,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAkB,EAAE,OAAe,EAAE,KAAa,EAA0B,EAAE;IAC9G,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CACzB,GAAG,IAAI,iCAAiC,OAAO,mBAAmB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAC9F,CAAA;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAA;QACnC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7B,IAAI,MAAM,GAAG,EAAE;YAAE,OAAO,IAAI,CAAA;QAC5B,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAqC,KAAK,EAAC,KAAK,EAAC,EAAE;IAClF,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAA;QAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAoB,GAAG,CAAC,CAAA;QACvD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAEjD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE7B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAExC,wEAAwE;IACxE,wEAAwE;IACxE,iEAAiE;IACjE,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC7E,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;YACzC,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/balance/resolvers/cosmos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAA;AACnH,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAA;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAW7D,sEAAsE;AACtE,yEAAyE;AACzE,uEAAuE;AACvE,yEAAyE;AACzE,0EAA0E;AAC1E,sEAAsE;AACtE,yEAAyE;AACzE,wEAAwE;AACxE,2BAA2B;AAC3B,EAAE;AACF,wEAAwE;AACxE,wEAAwE;AACxE,oBAAoB;AACpB,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAkB,EAAE,OAAe,EAAE,KAAa,EAA0B,EAAE;IAC9G,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CACzB,GAAG,IAAI,iCAAiC,OAAO,mBAAmB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAC9F,CAAA;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAA;QACnC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7B,IAAI,MAAM,GAAG,EAAE;YAAE,OAAO,IAAI,CAAA;QAC5B,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAqC,KAAK,EAAC,KAAK,EAAC,EAAE;IAClF,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;IAClF,CAAC;IAED,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAA;QAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAoB,GAAG,CAAC,CAAA;QACvD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAEjD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE7B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAExC,wEAAwE;IACxE,wEAAwE;IACxE,iEAAiE;IACjE,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC7E,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;YACzC,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/find/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/find/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAOxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AA0D3E,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,WAAW,CAyC1D,CAAA"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { CosmosChain } from '@vultisig/core-chain/Chain';
|
|
2
|
+
import { getAllCosmosBalances } from '@vultisig/core-chain/chains/cosmos/account/getAllCosmosBalances';
|
|
2
3
|
import { getCosmosClient } from '@vultisig/core-chain/chains/cosmos/client';
|
|
3
4
|
import { cosmosFeeCoinDenom } from '@vultisig/core-chain/chains/cosmos/cosmosFeeCoinDenom';
|
|
4
5
|
import { tcyAutoCompounderConfig } from '@vultisig/core-chain/chains/cosmos/thor/tcy-autocompound/config';
|
|
5
6
|
import { chainFeeCoin } from '@vultisig/core-chain/coin/chainFeeCoin';
|
|
6
7
|
import { getCosmosTokenMetadata } from '@vultisig/core-chain/coin/token/metadata/resolvers/cosmos';
|
|
7
8
|
import { without } from '@vultisig/lib-utils/array/without';
|
|
9
|
+
import { attempt } from '@vultisig/lib-utils/attempt';
|
|
8
10
|
const AUTO_DISCOVERY_CHAINS = new Set([
|
|
9
11
|
CosmosChain.THORChain,
|
|
10
12
|
CosmosChain.Terra,
|
|
@@ -50,8 +52,13 @@ const getDiscoveredDenom = async (chain, denom) => getCosmosTokenMetadata({ chai
|
|
|
50
52
|
export const findCosmosCoins = async ({ address, chain }) => {
|
|
51
53
|
if (!AUTO_DISCOVERY_CHAINS.has(chain))
|
|
52
54
|
return [];
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
// Prefer the LCD path, which paginates over every denom. cosmjs's
|
|
56
|
+
// getAllBalances issues a single unpaginated query capped at the node's
|
|
57
|
+
// default page limit (100), silently dropping tokens past 100 on IBC-heavy
|
|
58
|
+
// wallets. Fall back to cosmjs on any LCD failure so we never regress below
|
|
59
|
+
// today's behavior.
|
|
60
|
+
const { data: lcdBalances } = await attempt(getAllCosmosBalances(chain, address));
|
|
61
|
+
const balances = lcdBalances ?? (await (await getCosmosClient(chain)).getAllBalances(address));
|
|
55
62
|
const coins = await Promise.all(without(balances.map(({ denom }) => denom), cosmosFeeCoinDenom[chain], tcyAutoCompounderConfig.shareDenom).map(denom => getDiscoveredDenom(chain, denom)));
|
|
56
63
|
return without(coins.map(({ denom, metadata, isHidden }) => {
|
|
57
64
|
const coinTicker = (metadata?.ticker || getFallbackTicker(denom))?.toUpperCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/find/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAA;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,iEAAiE,CAAA;AACzG,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAGrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAA;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/coin/find/resolvers/cosmos.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/coin/find/resolvers/evm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAKrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/coin/find/resolvers/evm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAKrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAoE3E,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,QAAQ,CAoGpD,CAAA"}
|
|
@@ -5,10 +5,15 @@ import { getErc20Balance } from '@vultisig/core-chain/chains/evm/erc20/getErc20B
|
|
|
5
5
|
import { queryOneInch } from '@vultisig/core-chain/coin/find/resolvers/evm/queryOneInch';
|
|
6
6
|
import { vult } from '@vultisig/core-chain/coin/knownTokens';
|
|
7
7
|
import { getEvmTokenMetadata } from '@vultisig/core-chain/coin/token/metadata/resolvers/evm';
|
|
8
|
+
import { toBatches } from '@vultisig/lib-utils/array/toBatches';
|
|
8
9
|
import { without } from '@vultisig/lib-utils/array/without';
|
|
9
10
|
import { attempt } from '@vultisig/lib-utils/attempt';
|
|
10
11
|
import { NoDataError } from '@vultisig/lib-utils/error/NoDataError';
|
|
11
12
|
import { hexToNumber } from '@vultisig/lib-utils/hex/hexToNumber';
|
|
13
|
+
// Max token addresses per /token/.../custom request. Each EVM address is ~42
|
|
14
|
+
// chars + a comma; 50 keeps the query string ~2.2 KB, far under the ~8 KB URI
|
|
15
|
+
// limit that produced HTTP 414 on token-rich wallets.
|
|
16
|
+
const ONE_INCH_TOKENS_PER_REQUEST = 50;
|
|
12
17
|
const getDiscoveredEvmCoin = async ({ address, chain, tokenAddress, token, }) => {
|
|
13
18
|
if (token) {
|
|
14
19
|
return {
|
|
@@ -22,10 +27,17 @@ const getDiscoveredEvmCoin = async ({ address, chain, tokenAddress, token, }) =>
|
|
|
22
27
|
}
|
|
23
28
|
const metadataResult = await attempt(() => getEvmTokenMetadata({ chain, id: tokenAddress }));
|
|
24
29
|
if ('error' in metadataResult) {
|
|
25
|
-
|
|
26
|
-
|
|
30
|
+
// Skip just this token rather than rejecting the whole Promise.all in
|
|
31
|
+
// findEvmCoins. A NoDataError means the token genuinely has no metadata;
|
|
32
|
+
// any other error is a transient on-chain/RPC hiccup. Either way, dropping
|
|
33
|
+
// one token must NOT wipe out discovery of every other token on the chain
|
|
34
|
+
// (USDC included) — that turns a single flaky metadata read into a
|
|
35
|
+
// full "unable to retrieve your balances" failure. This path is hit for
|
|
36
|
+
// every held token whenever the 1inch metadata call returns no data.
|
|
37
|
+
if (!(metadataResult.error instanceof NoDataError)) {
|
|
38
|
+
console.warn(`[findEvmCoins] metadata lookup failed for ${chain}:${tokenAddress}; skipping this token`, metadataResult.error);
|
|
27
39
|
}
|
|
28
|
-
|
|
40
|
+
return undefined;
|
|
29
41
|
}
|
|
30
42
|
return {
|
|
31
43
|
chain,
|
|
@@ -43,6 +55,11 @@ export const findEvmCoins = async ({ address, chain }) => {
|
|
|
43
55
|
EvmChain.Optimism,
|
|
44
56
|
EvmChain.BSC,
|
|
45
57
|
EvmChain.Avalanche,
|
|
58
|
+
// 1inch (via the api.vultisig.com proxy) also serves zkSync Era (chainId
|
|
59
|
+
// 324) — its /balance/v1.2/324/... and /token/v1.2/324/custom endpoints both
|
|
60
|
+
// return 200. Zksync was missing here, so token discovery silently returned
|
|
61
|
+
// [] on it (a false "you have no tokens"). Verified live 2026-07-03.
|
|
62
|
+
EvmChain.Zksync,
|
|
46
63
|
];
|
|
47
64
|
if (!oneInchSupportedChains.includes(chain)) {
|
|
48
65
|
return [];
|
|
@@ -63,13 +80,24 @@ export const findEvmCoins = async ({ address, chain }) => {
|
|
|
63
80
|
.filter(tokenAddress => tokenAddress !== evmNativeCoinAddress);
|
|
64
81
|
let discoveredCoins = [];
|
|
65
82
|
if (nonZeroBalanceTokenAddresses.length > 0) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
83
|
+
// Batch the /token/.../custom metadata lookup. Putting every held-token
|
|
84
|
+
// address into a single `?addresses=a,b,c,...` query string overflows the
|
|
85
|
+
// proxy's URI length limit on wallets with many tokens (Ethereum especially)
|
|
86
|
+
// -> HTTP 414 URI Too Long, which previously threw and killed the ENTIRE
|
|
87
|
+
// chain's token discovery (e.g. a USDC balance would come back "unable to
|
|
88
|
+
// retrieve"). ONE_INCH_TOKENS_PER_REQUEST keeps each URI well under any
|
|
89
|
+
// gateway limit (~42 chars/address). This call is only a metadata
|
|
90
|
+
// optimization anyway — getDiscoveredEvmCoin falls back to per-token
|
|
91
|
+
// on-chain metadata when a token is absent from tokenInfoData — so a failed
|
|
92
|
+
// batch must degrade gracefully, never abort discovery.
|
|
93
|
+
const tokenInfoData = {};
|
|
94
|
+
for (const batch of toBatches(nonZeroBalanceTokenAddresses, ONE_INCH_TOKENS_PER_REQUEST)) {
|
|
95
|
+
const tokenInfoResult = await attempt(queryOneInch(`/token/v1.2/${oneInchChainId}/custom?addresses=${batch.join(',')}`));
|
|
96
|
+
if ('data' in tokenInfoResult) {
|
|
97
|
+
Object.assign(tokenInfoData, tokenInfoResult.data ?? {});
|
|
98
|
+
}
|
|
99
|
+
// On any batch error (414, transient 5xx, NoDataError) we simply skip its
|
|
100
|
+
// metadata and let the per-token on-chain fallback fill the gap. Non-fatal.
|
|
73
101
|
}
|
|
74
102
|
discoveredCoins = without(await Promise.all(nonZeroBalanceTokenAddresses.map(tokenAddress => getDiscoveredEvmCoin({
|
|
75
103
|
address,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/coin/find/resolvers/evm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAA;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAA;AAGvF,OAAO,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAA;AACxF,OAAO,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAA;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAA;AAC5F,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/coin/find/resolvers/evm/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/coin/token/metadata/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAMxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAA;AA8DzF,eAAO,MAAM,qCAAqC,YAGjD,CAAA;
|
|
1
|
+
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/coin/token/metadata/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAMxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAA;AA8DzF,eAAO,MAAM,qCAAqC,YAGjD,CAAA;AAiID,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,CAAC,WAAW,CAqBrE,CAAA"}
|
|
@@ -53,6 +53,8 @@ const deriveTicker = (denom, meta) => {
|
|
|
53
53
|
return meta.symbol;
|
|
54
54
|
if (meta.display)
|
|
55
55
|
return meta.display;
|
|
56
|
+
if (!denom)
|
|
57
|
+
return '';
|
|
56
58
|
if (denom.startsWith('x/staking-')) {
|
|
57
59
|
const base = denom.replace('x/staking-', '');
|
|
58
60
|
return `S${base}`;
|
|
@@ -151,6 +153,8 @@ const getCw20MetaFromLCD = async (chain, id) => {
|
|
|
151
153
|
};
|
|
152
154
|
};
|
|
153
155
|
export const getCosmosTokenMetadata = async ({ chain, id }) => {
|
|
156
|
+
if (!id)
|
|
157
|
+
throw new Error('getCosmosTokenMetadata: denom id is required');
|
|
154
158
|
const knownMeta = knownCosmosTokens[chain]?.[id];
|
|
155
159
|
if (knownMeta) {
|
|
156
160
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/coin/token/metadata/resolvers/cosmos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAA;AAChH,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAA;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAA;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAmB7D,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAOxC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAqC,CAAA;AACvE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAqC,CAAA;AAEvE,MAAM,iBAAiB,GAAG,CACxB,KAAiC,EACjC,GAAW,EACX,IAA6B,EACV,EAAE;IACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,GAAG;QAAE,OAAO,MAAM,CAAC,KAAK,CAAA;IAEzD,MAAM,KAAK,GAAG,IAAI,EAAE;SACjB,IAAI,CAAC,MAAM,CAAC,EAAE;QACb,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAC;SACD,KAAK,CAAC,KAAK,CAAC,EAAE;QACb,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACjB,MAAM,KAAK,CAAA;IACb,CAAC,CAAC,CAAA;IACJ,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;QACb,SAAS,EAAE,GAAG,GAAG,YAAY;QAC7B,KAAK;KACN,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qCAAqC,GAAG,GAAG,EAAE;IACxD,kBAAkB,CAAC,KAAK,EAAE,CAAA;IAC1B,kBAAkB,CAAC,KAAK,EAAE,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAmB,EAAiB,EAAE;IAC9D,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IACnD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;IACtE,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,QAAQ,CAAA;IACxC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,CAAA;QACpE,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,QAAQ,CAAA;IACxC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/coin/token/metadata/resolvers/cosmos.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPublicKey.d.ts","sourceRoot":"","sources":["../../../../../packages/core/chain/publicKey/getPublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAQlD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;CACjD,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,kEAAkE,KAAK,
|
|
1
|
+
{"version":3,"file":"getPublicKey.d.ts","sourceRoot":"","sources":["../../../../../packages/core/chain/publicKey/getPublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAQlD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;CACjD,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,kEAAkE,KAAK,sEA2EnG,CAAA"}
|
|
@@ -7,6 +7,9 @@ import { getCardanoPublicKeyData } from './cardano.js';
|
|
|
7
7
|
import { derivePublicKey } from './ecdsa/derivePublicKey.js';
|
|
8
8
|
import { getTwPublicKeyType } from './tw/getTwPublicKeyType.js';
|
|
9
9
|
export const getPublicKey = ({ chain, walletCore, hexChainCode, publicKeys, chainPublicKeys }) => {
|
|
10
|
+
if (!chain) {
|
|
11
|
+
throw new Error('getPublicKey: chain is required');
|
|
12
|
+
}
|
|
10
13
|
if (chain === Chain.QBTC) {
|
|
11
14
|
throw new Error('QBTC uses MLDSA; use vault.publicKeyMldsa and deriveQbtcAddress instead of WalletCore public keys');
|
|
12
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPublicKey.js","sourceRoot":"","sources":["../../../../../packages/core/chain/publicKey/getPublicKey.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getPublicKey.js","sourceRoot":"","sources":["../../../../../packages/core/chain/publicKey/getPublicKey.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;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;
|
|
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;AAwRhE,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;
|
|
@@ -157,9 +220,21 @@ const isEvmAddress = (address) => /^0x[0-9a-fA-F]{40}$/.test(address);
|
|
|
157
220
|
// THOR/Maya pairs the node validates the destination downstream, so a malformed
|
|
158
221
|
// non-EVM address fails there and the EVM check is skipped. Extracted from
|
|
159
222
|
// findSwapQuote to keep that function's cognitive complexity within the gate.
|
|
223
|
+
// The zero address and the canonical `…dEaD` burn sink — a swap output routed here is
|
|
224
|
+
// unrecoverably destroyed. Never a legit payout target for ANY route, so reject up front
|
|
225
|
+
// (a well-formed but merely WRONG non-burn recipient is the caller's grounding responsibility).
|
|
226
|
+
const ZERO_EVM_ADDRESS = '0x0000000000000000000000000000000000000000';
|
|
227
|
+
const BURN_EVM_ADDRESS = '0x000000000000000000000000000000000000dead';
|
|
160
228
|
const assertValidCustomRecipient = (recipient, from, to) => {
|
|
161
|
-
if (recipient === undefined
|
|
229
|
+
if (recipient === undefined)
|
|
162
230
|
return;
|
|
231
|
+
if (isEvmAddress(recipient)) {
|
|
232
|
+
const lower = recipient.toLowerCase();
|
|
233
|
+
if (lower === ZERO_EVM_ADDRESS || lower === BURN_EVM_ADDRESS) {
|
|
234
|
+
throw new SwapError(SwapErrorCode.InvalidConfig, `recipient "${recipient}" is a zero/burn address — the swap output would be unrecoverable.`);
|
|
235
|
+
}
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
163
238
|
const cowSwapPathReachable = isChainOfKind(from.chain, 'evm') &&
|
|
164
239
|
from.id !== undefined &&
|
|
165
240
|
isChainOfKind(to.chain, 'evm') &&
|
|
@@ -429,6 +504,7 @@ export const findSwapQuote = async ({ from, to, amount, referral, vultDiscountTi
|
|
|
429
504
|
return {
|
|
430
505
|
quote,
|
|
431
506
|
outputAmount: getComparableOutputAmount(quote, to),
|
|
507
|
+
sourceGasUnits: getSameChainEvmSourceGasUnits(quote, from, to),
|
|
432
508
|
providerName: fetcher.providerName,
|
|
433
509
|
};
|
|
434
510
|
}));
|
|
@@ -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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vultisig/core-chain",
|
|
3
|
-
"version": "2.23.
|
|
3
|
+
"version": "2.23.2",
|
|
4
4
|
"description": "Blockchain chain logic shared across Vultisig clients",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -185,6 +185,11 @@
|
|
|
185
185
|
"import": "./dist/chains/cardano/utxo/getCardanoUtxos.js",
|
|
186
186
|
"default": "./dist/chains/cardano/utxo/getCardanoUtxos.js"
|
|
187
187
|
},
|
|
188
|
+
"./chains/cosmos/account/getAllCosmosBalances": {
|
|
189
|
+
"types": "./dist/chains/cosmos/account/getAllCosmosBalances.d.ts",
|
|
190
|
+
"import": "./dist/chains/cosmos/account/getAllCosmosBalances.js",
|
|
191
|
+
"default": "./dist/chains/cosmos/account/getAllCosmosBalances.js"
|
|
192
|
+
},
|
|
188
193
|
"./chains/cosmos/account/getCosmosAccountInfo": {
|
|
189
194
|
"types": "./dist/chains/cosmos/account/getCosmosAccountInfo.d.ts",
|
|
190
195
|
"import": "./dist/chains/cosmos/account/getCosmosAccountInfo.js",
|
|
@@ -335,6 +340,11 @@
|
|
|
335
340
|
"import": "./dist/chains/cosmos/qbtc/tendermintRpcUrl.js",
|
|
336
341
|
"default": "./dist/chains/cosmos/qbtc/tendermintRpcUrl.js"
|
|
337
342
|
},
|
|
343
|
+
"./chains/cosmos/resolveCosmosGasFee": {
|
|
344
|
+
"types": "./dist/chains/cosmos/resolveCosmosGasFee.d.ts",
|
|
345
|
+
"import": "./dist/chains/cosmos/resolveCosmosGasFee.js",
|
|
346
|
+
"default": "./dist/chains/cosmos/resolveCosmosGasFee.js"
|
|
347
|
+
},
|
|
338
348
|
"./chains/cosmos/staking/lcdQueries": {
|
|
339
349
|
"types": "./dist/chains/cosmos/staking/lcdQueries.d.ts",
|
|
340
350
|
"import": "./dist/chains/cosmos/staking/lcdQueries.js",
|
|
@@ -2023,7 +2033,7 @@
|
|
|
2023
2033
|
"@cosmjs/encoding": "^0.39.0",
|
|
2024
2034
|
"@cosmjs/proto-signing": "^0.39.0",
|
|
2025
2035
|
"@cosmjs/stargate": "^0.39.0",
|
|
2026
|
-
"@lifi/sdk": "^4.
|
|
2036
|
+
"@lifi/sdk": "^4.1.0",
|
|
2027
2037
|
"@mysten/sui": "^2.20.1",
|
|
2028
2038
|
"@noble/hashes": "^1.8.0",
|
|
2029
2039
|
"@polkadot/api": "^16.5.6",
|