@vultisig/core-mpc 1.2.17 → 1.2.18
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
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# @vultisig/core-mpc
|
|
2
2
|
|
|
3
|
+
## 1.2.18
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`4c9454e`](https://github.com/vultisig/vultisig-sdk/commit/4c9454eca99f43a2ce572732c3d6fcc74c99e89e)]:
|
|
8
|
+
- @vultisig/core-chain@2.2.3
|
|
9
|
+
|
|
3
10
|
## 1.2.17
|
|
4
11
|
|
|
5
12
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSwapTrackingUrl.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/swap/utils/getSwapTrackingUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"getSwapTrackingUrl.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/swap/utils/getSwapTrackingUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAMlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAE1E,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,kBAAkB,CAAA;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,KAAK,CAAA;CACnB,CAAA;AAgCD,eAAO,MAAM,kBAAkB,GAAI,sCAAsC,uBAAuB,KAAG,MAgDlG,CAAA"}
|
|
@@ -2,6 +2,35 @@ import { Chain } from '@vultisig/core-chain/Chain';
|
|
|
2
2
|
import { getBlockExplorerUrl } from '@vultisig/core-chain/utils/getBlockExplorerUrl';
|
|
3
3
|
import { stripHexPrefix } from '@vultisig/lib-utils/hex/stripHexPrefix';
|
|
4
4
|
import { matchRecordUnion } from '@vultisig/lib-utils/matchRecordUnion';
|
|
5
|
+
// Chain identifiers accepted by https://track.swapkit.dev/?tx=<hash>&chainId=<id>
|
|
6
|
+
// These differ from the SwapKit API chain-prefix map (ETH, ARB, ...) used in getSwapKitQuote.ts.
|
|
7
|
+
// Source: https://docs.swapkit.dev/swapkit-api/providers-request-supported-chains-by-a-swap-provider#chain-ids-and-corresponding-names
|
|
8
|
+
//
|
|
9
|
+
// UTXO byte-order contract: track.swapkit.dev accepts UTXO tx hashes in their
|
|
10
|
+
// natural txid representation (the byte-reversed, human-readable form that block
|
|
11
|
+
// explorers display). Our signing flow produces hashes in that same display form,
|
|
12
|
+
// so no additional byte reversal is needed here.
|
|
13
|
+
// The `satisfies Record<SwapKitSourceChain, string>` below enforces compile-time
|
|
14
|
+
// exhaustiveness -- adding a chain to SwapKitEnabledChains without updating this
|
|
15
|
+
// map is a type error.
|
|
16
|
+
const swapKitTrackerChainId = {
|
|
17
|
+
[Chain.Ethereum]: '1',
|
|
18
|
+
[Chain.Arbitrum]: '42161',
|
|
19
|
+
[Chain.Avalanche]: '43114',
|
|
20
|
+
[Chain.Base]: '8453',
|
|
21
|
+
[Chain.BSC]: '56',
|
|
22
|
+
[Chain.Optimism]: '10',
|
|
23
|
+
[Chain.Polygon]: '137',
|
|
24
|
+
[Chain.Solana]: 'solana',
|
|
25
|
+
[Chain.Bitcoin]: 'bitcoin',
|
|
26
|
+
[Chain.BitcoinCash]: 'bitcoincash',
|
|
27
|
+
[Chain.Dogecoin]: 'dogecoin',
|
|
28
|
+
[Chain.Litecoin]: 'litecoin',
|
|
29
|
+
[Chain.Ripple]: 'ripple',
|
|
30
|
+
[Chain.Ton]: 'ton',
|
|
31
|
+
[Chain.Tron]: '728126428',
|
|
32
|
+
[Chain.Zcash]: 'zcash',
|
|
33
|
+
};
|
|
5
34
|
export const getSwapTrackingUrl = ({ swapPayload, txHash, sourceChain }) => {
|
|
6
35
|
return matchRecordUnion(swapPayload, {
|
|
7
36
|
native: ({ chain }) => {
|
|
@@ -18,6 +47,28 @@ export const getSwapTrackingUrl = ({ swapPayload, txHash, sourceChain }) => {
|
|
|
18
47
|
if (provider === 'li.fi') {
|
|
19
48
|
return `https://scan.li.fi/tx/${txHash}`;
|
|
20
49
|
}
|
|
50
|
+
if (provider === 'swapkit') {
|
|
51
|
+
const chainId = swapKitTrackerChainId[sourceChain];
|
|
52
|
+
if (chainId) {
|
|
53
|
+
// Guard: TON hashes are hex-encoded (see packages/core/chain/tx/hash/resolvers/ton.ts).
|
|
54
|
+
// A `0x`-prefixed TON hash indicates a misconfigured upstream -- stripHexPrefix would
|
|
55
|
+
// silently corrupt it by stripping the first two hex chars, producing a wrong hash.
|
|
56
|
+
if (sourceChain === Chain.Ton && txHash.startsWith('0x')) {
|
|
57
|
+
throw new Error(`TON tx hash must not have a 0x prefix (got: ${txHash.slice(0, 10)}...)`);
|
|
58
|
+
}
|
|
59
|
+
// Bare hash (no `0x` prefix) -- `stripHexPrefix` is a no-op when the
|
|
60
|
+
// hash is already prefix-free (UTXO chains, Ripple, TON, etc.) and strips
|
|
61
|
+
// `0x` from EVM hashes to match track.swapkit.dev's expected format.
|
|
62
|
+
return `https://track.swapkit.dev/?tx=${encodeURIComponent(stripHexPrefix(txHash))}&chainId=${chainId}`;
|
|
63
|
+
}
|
|
64
|
+
// SwapKitSourceChain extended without updating swapKitTrackerChainId
|
|
65
|
+
// -> silent fallback to block explorer would degrade tracking
|
|
66
|
+
// without surfacing the gap. Warn so the drift shows up in logs +
|
|
67
|
+
// greppable CI output.
|
|
68
|
+
// TODO: wire to telemetry event 'swapkit_tracker_chain_missing' so
|
|
69
|
+
// mapping drift is caught in production monitoring, not just CI logs.
|
|
70
|
+
console.warn(`[getSwapTrackingUrl] SwapKit tracker chainId missing for ${sourceChain} — falling back to source-chain block explorer. Add a swapKitTrackerChainId entry.`);
|
|
71
|
+
}
|
|
21
72
|
return getBlockExplorerUrl({
|
|
22
73
|
chain: sourceChain,
|
|
23
74
|
entity: 'tx',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSwapTrackingUrl.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/swap/utils/getSwapTrackingUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAA;
|
|
1
|
+
{"version":3,"file":"getSwapTrackingUrl.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/swap/utils/getSwapTrackingUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAA;AAEpF,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAUvE,kFAAkF;AAClF,iGAAiG;AACjG,uIAAuI;AACvI,EAAE;AACF,8EAA8E;AAC9E,iFAAiF;AACjF,kFAAkF;AAClF,iDAAiD;AACjD,iFAAiF;AACjF,iFAAiF;AACjF,uBAAuB;AACvB,MAAM,qBAAqB,GAAG;IAC5B,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG;IACrB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO;IACzB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO;IAC1B,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM;IACpB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI;IACjB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI;IACtB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK;IACtB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ;IACxB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS;IAC1B,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,aAAa;IAClC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,UAAU;IAC5B,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,UAAU;IAC5B,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ;IACxB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK;IAClB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW;IACzB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO;CACsB,CAAA;AAE9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAA2B,EAAU,EAAE;IAC1G,OAAO,gBAAgB,CAA6B,WAAW,EAAE;QAC/D,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YACpB,IAAI,KAAK,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;gBAC9B,OAAO,0BAA0B,cAAc,CAAC,MAAM,CAAC,EAAE,CAAA;YAC3D,CAAC;YACD,OAAO,mBAAmB,CAAC;gBACzB,KAAK;gBACL,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,MAAM;aACd,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YACxB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,OAAO,yBAAyB,MAAM,EAAE,CAAA;YAC1C,CAAC;YACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,qBAAqB,CAAC,WAAiC,CAAC,CAAA;gBACxE,IAAI,OAAO,EAAE,CAAC;oBACZ,wFAAwF;oBACxF,sFAAsF;oBACtF,oFAAoF;oBACpF,IAAI,WAAW,KAAK,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;wBACzD,MAAM,IAAI,KAAK,CAAC,+CAA+C,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAA;oBAC3F,CAAC;oBACD,qEAAqE;oBACrE,0EAA0E;oBAC1E,qEAAqE;oBACrE,OAAO,iCAAiC,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,YAAY,OAAO,EAAE,CAAA;gBACzG,CAAC;gBACD,qEAAqE;gBACrE,8DAA8D;gBAC9D,kEAAkE;gBAClE,uBAAuB;gBACvB,mEAAmE;gBACnE,sEAAsE;gBAEtE,OAAO,CAAC,IAAI,CACV,4DAA4D,WAAW,oFAAoF,CAC5J,CAAA;YACH,CAAC;YACD,OAAO,mBAAmB,CAAC;gBACzB,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,MAAM;aACd,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vultisig/core-mpc",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.18",
|
|
4
4
|
"description": "MPC, keysign, and vault types shared across Vultisig clients",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -974,7 +974,7 @@
|
|
|
974
974
|
"@noble/hashes": "^1.8.0",
|
|
975
975
|
"@solana/web3.js": "^1.98.4",
|
|
976
976
|
"@trustwallet/wallet-core": "^4.6.9",
|
|
977
|
-
"@vultisig/core-chain": "2.2.
|
|
977
|
+
"@vultisig/core-chain": "2.2.3",
|
|
978
978
|
"@vultisig/core-config": "0.9.1",
|
|
979
979
|
"@vultisig/lib-dkls": "0.9.0",
|
|
980
980
|
"@vultisig/lib-mldsa": "0.9.0",
|