@vultisig/core-chain 2.11.0 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/chains/sui/buildTransactionFromJson.d.ts +16 -0
  3. package/dist/chains/sui/buildTransactionFromJson.d.ts.map +1 -0
  4. package/dist/chains/sui/buildTransactionFromJson.js +15 -0
  5. package/dist/chains/sui/buildTransactionFromJson.js.map +1 -0
  6. package/dist/chains/sui/sign.d.ts +25 -0
  7. package/dist/chains/sui/sign.d.ts.map +1 -0
  8. package/dist/chains/sui/sign.js +66 -0
  9. package/dist/chains/sui/sign.js.map +1 -0
  10. package/dist/security/blockaid/simulationChains.d.ts +1 -1
  11. package/dist/security/blockaid/simulationChains.d.ts.map +1 -1
  12. package/dist/security/blockaid/simulationChains.js +5 -1
  13. package/dist/security/blockaid/simulationChains.js.map +1 -1
  14. package/dist/security/blockaid/tx/simulation/api/core.d.ts +48 -1
  15. package/dist/security/blockaid/tx/simulation/api/core.d.ts.map +1 -1
  16. package/dist/security/blockaid/tx/simulation/api/core.js +121 -0
  17. package/dist/security/blockaid/tx/simulation/api/core.js.map +1 -1
  18. package/dist/security/blockaid/tx/simulation/core.d.ts +19 -0
  19. package/dist/security/blockaid/tx/simulation/core.d.ts.map +1 -1
  20. package/dist/security/blockaid/tx/simulation/index.d.ts +1 -0
  21. package/dist/security/blockaid/tx/simulation/index.d.ts.map +1 -1
  22. package/dist/security/blockaid/tx/simulation/index.js +5 -0
  23. package/dist/security/blockaid/tx/simulation/index.js.map +1 -1
  24. package/dist/security/blockaid/tx/simulation/resolver.d.ts +2 -1
  25. package/dist/security/blockaid/tx/simulation/resolver.d.ts.map +1 -1
  26. package/dist/security/blockaid/tx/simulation/resolvers/sui.d.ts +9 -0
  27. package/dist/security/blockaid/tx/simulation/resolvers/sui.d.ts.map +1 -0
  28. package/dist/security/blockaid/tx/simulation/resolvers/sui.js +11 -0
  29. package/dist/security/blockaid/tx/simulation/resolvers/sui.js.map +1 -0
  30. package/package.json +16 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # @vultisig/core-chain
2
2
 
3
+ ## 2.13.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#672](https://github.com/vultisig/vultisig-sdk/pull/672) [`7fa4860`](https://github.com/vultisig/vultisig-sdk/commit/7fa48602ba1acfb57746fd22c87ec3aa30bac4a6) Thanks [@Ehsan-saradar](https://github.com/Ehsan-saradar)! - Add Blockaid Sui transaction simulation support. The existing Sui Blockaid
8
+ scan resolver only requested `validation`; this exposes the simulation block
9
+ returned by the same `/sui/transaction/scan` endpoint via a new
10
+ `getSuiTxBlockaidSimulation` resolver and a `parseBlockaidSuiSimulation`
11
+ parser that produces a UI-facing `{ swap } | { transfer }` headline
12
+ (mirroring the Solana shape). `OtherChain.Sui` is now a member of
13
+ `blockaidSimulationSupportedChains`, with a new `getTxBlockaidSimulation`
14
+ overload, and the mpc package gains a matching
15
+ `getSuiBlockaidTxSimulationInput` for the `KeysignPayload`-driven flow.
16
+
17
+ The parser keeps `null` as its failure mode rather than throwing — Blockaid
18
+ field renames degrade to "no preview" instead of breaking consumers.
19
+
20
+ Closes [#671](https://github.com/vultisig/vultisig-sdk/issues/671)
21
+
22
+ ## 2.12.0
23
+
24
+ ### Minor Changes
25
+
26
+ - [#651](https://github.com/vultisig/vultisig-sdk/pull/651) [`e9c4997`](https://github.com/vultisig/vultisig-sdk/commit/e9c4997bae3a499785295b76dbc956807cc704f5) Thanks [@Ehsan-saradar](https://github.com/Ehsan-saradar)! - Add Sui dApp signing helpers to `@vultisig/core-chain/chains/sui`. Two new
27
+ public modules:
28
+ - `./chains/sui/sign` exports `suiTransactionDataIntent` /
29
+ `suiPersonalMessageIntent` (defensive clones of the 3-byte intent
30
+ prefixes), `getSuiTransactionDataDigest(txBytes)` and
31
+ `getSuiPersonalMessageDigest(messageBytes)` for the intent-prefixed
32
+ blake2b-256 digests the wallet's Ed25519 signer signs, and
33
+ `buildSuiSerializedSignature({ signature, publicKey })` for the 97-byte
34
+ `flag(1) || sig(64) || pubkey(32)` Wallet Standard wire signature.
35
+ - `./chains/sui/buildTransactionFromJson` exports
36
+ `buildSuiTransactionFromJson({ transactionJson, sender })` which hydrates
37
+ a serialized Sui `Transaction` (V1 or V2 JSON) and resolves it to BCS
38
+ bytes via `Transaction.build({ client: getSuiClient() })`. Lets
39
+ extension callers move the build step off the dApp page (where the dApp
40
+ page's Content Security Policy blocks the Sui RPC) and into the
41
+ extension's own context.
42
+
3
43
  ## 2.11.0
4
44
 
5
45
  ### Minor Changes
@@ -0,0 +1,16 @@
1
+ type BuildSuiTransactionFromJsonInput = {
2
+ /** JSON output of `Transaction.toJSON()` or `Transaction.serialize()` (V1 or V2). */
3
+ transactionJson: string;
4
+ /** Sui address of the sender. Used when the serialized transaction omits a sender. */
5
+ sender: string;
6
+ };
7
+ /**
8
+ * Hydrate a serialized Sui Transaction and resolve it to BCS bytes via
9
+ * `Transaction.build({ client })`. Runs inside the SDK so the network call
10
+ * uses the SDK's pinned Sui RPC client and isn't subject to the dApp page's
11
+ * Content Security Policy — callers that run under a dApp's CSP (extension
12
+ * inpage scripts) must route through this from a background context.
13
+ */
14
+ export declare const buildSuiTransactionFromJson: ({ transactionJson, sender, }: BuildSuiTransactionFromJsonInput) => Promise<Uint8Array>;
15
+ export {};
16
+ //# sourceMappingURL=buildTransactionFromJson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTransactionFromJson.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/sui/buildTransactionFromJson.ts"],"names":[],"mappings":"AAIA,KAAK,gCAAgC,GAAG;IACtC,qFAAqF;IACrF,eAAe,EAAE,MAAM,CAAA;IACvB,sFAAsF;IACtF,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,GAAU,8BAG/C,gCAAgC,KAAG,OAAO,CAAC,UAAU,CAIvD,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { Transaction } from '@mysten/sui/transactions';
2
+ import { getSuiClient } from './client.js';
3
+ /**
4
+ * Hydrate a serialized Sui Transaction and resolve it to BCS bytes via
5
+ * `Transaction.build({ client })`. Runs inside the SDK so the network call
6
+ * uses the SDK's pinned Sui RPC client and isn't subject to the dApp page's
7
+ * Content Security Policy — callers that run under a dApp's CSP (extension
8
+ * inpage scripts) must route through this from a background context.
9
+ */
10
+ export const buildSuiTransactionFromJson = async ({ transactionJson, sender, }) => {
11
+ const tx = Transaction.from(transactionJson);
12
+ tx.setSenderIfNotSet(sender);
13
+ return tx.build({ client: getSuiClient() });
14
+ };
15
+ //# sourceMappingURL=buildTransactionFromJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTransactionFromJson.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/sui/buildTransactionFromJson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AASvC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAAE,EAChD,eAAe,EACf,MAAM,GAC2B,EAAuB,EAAE;IAC1D,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC5C,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC5B,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,CAAC,CAAA;AAC7C,CAAC,CAAA"}
@@ -0,0 +1,25 @@
1
+ export declare const suiTransactionDataIntent: Uint8Array<ArrayBuffer>;
2
+ export declare const suiPersonalMessageIntent: Uint8Array<ArrayBuffer>;
3
+ /**
4
+ * Produce the Sui intent-prefixed blake2b-256 digest of a built PTB. This is
5
+ * the 32-byte hash that the wallet's Ed25519 signer signs.
6
+ */
7
+ export declare const getSuiTransactionDataDigest: (txBytes: Uint8Array) => Uint8Array;
8
+ /**
9
+ * Produce the Sui intent-prefixed blake2b-256 digest of a personal message.
10
+ * The message is BCS-wrapped as `vector<u8>` (uleb128 length || bytes) before
11
+ * hashing.
12
+ */
13
+ export declare const getSuiPersonalMessageDigest: (messageBytes: Uint8Array) => Uint8Array;
14
+ type BuildSuiSerializedSignatureInput = {
15
+ signature: Uint8Array;
16
+ publicKey: Uint8Array;
17
+ };
18
+ /**
19
+ * Assemble a Sui Wallet Standard wire signature for an Ed25519 vault:
20
+ * `flag(1) || signature(64) || publicKey(32)`. The result is 97 bytes; callers
21
+ * typically base64-encode it before returning to the dApp.
22
+ */
23
+ export declare const buildSuiSerializedSignature: ({ signature, publicKey }: BuildSuiSerializedSignatureInput) => Uint8Array;
24
+ export {};
25
+ //# sourceMappingURL=sign.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/sui/sign.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,wBAAwB,yBAAgD,CAAA;AACrF,eAAO,MAAM,wBAAwB,yBAAgD,CAAA;AAwBrF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,GAAI,SAAS,UAAU,KAAG,UACW,CAAA;AAE7E;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GAAI,cAAc,UAAU,KAAG,UAC+C,CAAA;AAMtH,KAAK,gCAAgC,GAAG;IACtC,SAAS,EAAE,UAAU,CAAA;IACrB,SAAS,EAAE,UAAU,CAAA;CACtB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GAAI,0BAA0B,gCAAgC,KAAG,UAYxG,CAAA"}
@@ -0,0 +1,66 @@
1
+ import { blake2b } from '@noble/hashes/blake2';
2
+ /**
3
+ * Sui intent prefixes — `[scope, version, app_id]`. Version is always `0` (V0)
4
+ * and `app_id` is always `0` (Sui). See `@mysten/sui/cryptography/intent`.
5
+ *
6
+ * The public exports are separate `Uint8Array` instances cloned from the
7
+ * private source buffers, so a consumer mutating an imported intent can't
8
+ * corrupt the bytes the digest helpers below feed into every blake2b call.
9
+ */
10
+ const suiTransactionDataIntentBytes = new Uint8Array([0, 0, 0]);
11
+ const suiPersonalMessageIntentBytes = new Uint8Array([3, 0, 0]);
12
+ export const suiTransactionDataIntent = new Uint8Array(suiTransactionDataIntentBytes);
13
+ export const suiPersonalMessageIntent = new Uint8Array(suiPersonalMessageIntentBytes);
14
+ const concatBytes = (...parts) => {
15
+ const total = parts.reduce((n, p) => n + p.length, 0);
16
+ const out = new Uint8Array(total);
17
+ let off = 0;
18
+ for (const p of parts) {
19
+ out.set(p, off);
20
+ off += p.length;
21
+ }
22
+ return out;
23
+ };
24
+ const encodeUleb128 = (n) => {
25
+ const out = [];
26
+ let v = n;
27
+ while (v >= 0x80) {
28
+ out.push((v & 0x7f) | 0x80);
29
+ v >>>= 7;
30
+ }
31
+ out.push(v & 0x7f);
32
+ return new Uint8Array(out);
33
+ };
34
+ /**
35
+ * Produce the Sui intent-prefixed blake2b-256 digest of a built PTB. This is
36
+ * the 32-byte hash that the wallet's Ed25519 signer signs.
37
+ */
38
+ export const getSuiTransactionDataDigest = (txBytes) => blake2b(concatBytes(suiTransactionDataIntentBytes, txBytes), { dkLen: 32 });
39
+ /**
40
+ * Produce the Sui intent-prefixed blake2b-256 digest of a personal message.
41
+ * The message is BCS-wrapped as `vector<u8>` (uleb128 length || bytes) before
42
+ * hashing.
43
+ */
44
+ export const getSuiPersonalMessageDigest = (messageBytes) => blake2b(concatBytes(suiPersonalMessageIntentBytes, encodeUleb128(messageBytes.length), messageBytes), { dkLen: 32 });
45
+ const ed25519SchemeFlag = 0x00;
46
+ const ed25519SignatureLength = 64;
47
+ const ed25519PublicKeyLength = 32;
48
+ /**
49
+ * Assemble a Sui Wallet Standard wire signature for an Ed25519 vault:
50
+ * `flag(1) || signature(64) || publicKey(32)`. The result is 97 bytes; callers
51
+ * typically base64-encode it before returning to the dApp.
52
+ */
53
+ export const buildSuiSerializedSignature = ({ signature, publicKey }) => {
54
+ if (signature.length !== ed25519SignatureLength) {
55
+ throw new Error(`Sui Ed25519 signature must be ${ed25519SignatureLength} bytes, got ${signature.length}`);
56
+ }
57
+ if (publicKey.length !== ed25519PublicKeyLength) {
58
+ throw new Error(`Sui Ed25519 public key must be ${ed25519PublicKeyLength} bytes, got ${publicKey.length}`);
59
+ }
60
+ const out = new Uint8Array(1 + ed25519SignatureLength + ed25519PublicKeyLength);
61
+ out[0] = ed25519SchemeFlag;
62
+ out.set(signature, 1);
63
+ out.set(publicKey, 1 + ed25519SignatureLength);
64
+ return out;
65
+ };
66
+ //# sourceMappingURL=sign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/chains/sui/sign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAE9C;;;;;;;GAOG;AACH,MAAM,6BAA6B,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAC/D,MAAM,6BAA6B,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAE/D,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAA;AACrF,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAA;AAErF,MAAM,WAAW,GAAG,CAAC,GAAG,KAAmB,EAAc,EAAE;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACrD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACf,GAAG,IAAI,CAAC,CAAC,MAAM,CAAA;IACjB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,CAAS,EAAc,EAAE;IAC9C,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QACjB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QAC3B,CAAC,MAAM,CAAC,CAAA;IACV,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IAClB,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,OAAmB,EAAc,EAAE,CAC7E,OAAO,CAAC,WAAW,CAAC,6BAA6B,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;AAE7E;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,YAAwB,EAAc,EAAE,CAClF,OAAO,CAAC,WAAW,CAAC,6BAA6B,EAAE,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;AAEtH,MAAM,iBAAiB,GAAG,IAAI,CAAA;AAC9B,MAAM,sBAAsB,GAAG,EAAE,CAAA;AACjC,MAAM,sBAAsB,GAAG,EAAE,CAAA;AAOjC;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAoC,EAAc,EAAE;IACpH,IAAI,SAAS,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,iCAAiC,sBAAsB,eAAe,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;IAC3G,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,kCAAkC,sBAAsB,eAAe,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;IAC5G,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,sBAAsB,GAAG,sBAAsB,CAAC,CAAA;IAC/E,GAAG,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAA;IAC1B,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACrB,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,sBAAsB,CAAC,CAAA;IAC9C,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { OtherChain } from '../../Chain.js';
2
2
  import { DeriveChainKind } from '../../ChainKind.js';
3
- export declare const blockaidSimulationSupportedChains: readonly [...("Arbitrum" | "Base" | "Blast" | "Optimism" | "Zksync" | "Mantle" | "Avalanche" | "BSC" | "Ethereum" | "Polygon" | "Hyperliquid" | "Sei")[], OtherChain.Solana];
3
+ export declare const blockaidSimulationSupportedChains: readonly [...("Arbitrum" | "Base" | "Blast" | "Optimism" | "Zksync" | "Mantle" | "Avalanche" | "BSC" | "Ethereum" | "Polygon" | "Hyperliquid" | "Sei")[], OtherChain.Solana, OtherChain.Sui];
4
4
  export type BlockaidSimulationSupportedChain = (typeof blockaidSimulationSupportedChains)[number];
5
5
  export type BlockaidSimulationSupportedChainKind = DeriveChainKind<BlockaidSimulationSupportedChain>;
6
6
  //# sourceMappingURL=simulationChains.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"simulationChains.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/security/blockaid/simulationChains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGjD,eAAO,MAAM,iCAAiC,8KAA8D,CAAA;AAE5G,MAAM,MAAM,gCAAgC,GAAG,CAAC,OAAO,iCAAiC,CAAC,CAAC,MAAM,CAAC,CAAA;AACjG,MAAM,MAAM,oCAAoC,GAAG,eAAe,CAAC,gCAAgC,CAAC,CAAA"}
1
+ {"version":3,"file":"simulationChains.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/chain/security/blockaid/simulationChains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGjD,eAAO,MAAM,iCAAiC,8LAIpC,CAAA;AAEV,MAAM,MAAM,gCAAgC,GAAG,CAAC,OAAO,iCAAiC,CAAC,CAAC,MAAM,CAAC,CAAA;AACjG,MAAM,MAAM,oCAAoC,GAAG,eAAe,CAAC,gCAAgC,CAAC,CAAA"}
@@ -1,4 +1,8 @@
1
1
  import { OtherChain } from '../../Chain.js';
2
2
  import { blockaidSupportedEvmChains } from './evmChains.js';
3
- export const blockaidSimulationSupportedChains = [...blockaidSupportedEvmChains, OtherChain.Solana];
3
+ export const blockaidSimulationSupportedChains = [
4
+ ...blockaidSupportedEvmChains,
5
+ OtherChain.Solana,
6
+ OtherChain.Sui,
7
+ ];
4
8
  //# sourceMappingURL=simulationChains.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"simulationChains.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/security/blockaid/simulationChains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAExD,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,GAAG,0BAA0B,EAAE,UAAU,CAAC,MAAM,CAAU,CAAA"}
1
+ {"version":3,"file":"simulationChains.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/security/blockaid/simulationChains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAExD,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,GAAG,0BAA0B;IAC7B,UAAU,CAAC,MAAM;IACjB,UAAU,CAAC,GAAG;CACN,CAAA"}
@@ -1,5 +1,51 @@
1
1
  import { EvmChain } from '@vultisig/core-chain/Chain';
2
- import { BlockaidEvmSimulationInfo, BlockaidSolanaSimulationInfo } from '../core.js';
2
+ import { BlockaidEvmSimulationInfo, BlockaidSolanaSimulationInfo, BlockaidSuiSimulationInfo } from '../core.js';
3
+ type BlockaidSuiRawAssetSide = {
4
+ usd_price?: number;
5
+ summary?: string;
6
+ value?: number | string;
7
+ raw_value: number | string;
8
+ };
9
+ type BlockaidSuiRawAsset = {
10
+ type?: 'NATIVE' | 'COIN' | 'TOKEN' | 'SUI' | string;
11
+ asset_type?: 'NATIVE' | 'COIN' | 'TOKEN' | 'SUI' | string;
12
+ name?: string;
13
+ symbol?: string;
14
+ id?: string;
15
+ coin_type?: string;
16
+ address?: string;
17
+ decimals: number;
18
+ logo?: string;
19
+ logo_url?: string;
20
+ };
21
+ type BlockaidSuiRawAssetDiff = {
22
+ asset: BlockaidSuiRawAsset;
23
+ in: BlockaidSuiRawAssetSide | null;
24
+ out: BlockaidSuiRawAssetSide | null;
25
+ asset_type?: 'NATIVE' | 'COIN' | 'TOKEN' | 'SUI' | string;
26
+ };
27
+ export type BlockaidSuiSimulation = {
28
+ status?: 'Success' | 'Failure';
29
+ account_summary?: {
30
+ account_assets_diffs?: BlockaidSuiRawAssetDiff[];
31
+ account_assets_diff?: BlockaidSuiRawAssetDiff[];
32
+ };
33
+ };
34
+ /**
35
+ * Parse a Blockaid Sui simulation into the user's net balance changes,
36
+ * mirroring how Solana classifies into a `swap` or `transfer` headline.
37
+ *
38
+ * Only emits a headline when the relevant diff set is unambiguous:
39
+ * - exactly one out-only diff → `transfer`
40
+ * - exactly two diffs, one out-only + one in-only on different assets
41
+ * → `swap`
42
+ *
43
+ * Anything more complex (e.g. a swap that also sends a third asset)
44
+ * returns `null` — a partial "you're swapping…" headline would hide the
45
+ * additional movement and mislead users approving the transaction. The
46
+ * popup falls back to the decoded-command view when this returns `null`.
47
+ */
48
+ export declare const parseBlockaidSuiSimulation: (simulation: BlockaidSuiSimulation) => Promise<BlockaidSuiSimulationInfo | null>;
3
49
  export type BlockaidSolanaSimulation = {
4
50
  account_summary: {
5
51
  account_assets_diff: Array<{
@@ -84,4 +130,5 @@ export declare const parseBlockaidSolanaSimulation: (simulation: BlockaidSolanaS
84
130
  * accurate "no change" outcome.
85
131
  */
86
132
  export declare const parseBlockaidEvmSimulation: (simulation: BlockaidEVMSimulation, chain: EvmChain) => Promise<BlockaidEvmSimulationInfo>;
133
+ export {};
87
134
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/api/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAKrD,OAAO,EAA4B,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AAE3G,MAAM,MAAM,wBAAwB,GAAG;IACrC,eAAe,EAAE;QACf,mBAAmB,EAAE,KAAK,CAAC;YACzB,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO,GAAG,KAAK,CAAA;gBACrB,IAAI,CAAC,EAAE,MAAM,CAAA;gBACb,MAAM,CAAC,EAAE,MAAM,CAAA;gBACf,OAAO,CAAC,EAAE,MAAM,CAAA;gBAChB,QAAQ,EAAE,MAAM,CAAA;gBAChB,IAAI,EAAE,MAAM,CAAA;aACb,CAAA;YACD,EAAE,EAAE;gBACF,SAAS,EAAE,MAAM,CAAA;gBACjB,OAAO,EAAE,MAAM,CAAA;gBACf,KAAK,EAAE,MAAM,CAAA;gBACb,SAAS,EAAE,MAAM,CAAA;aAClB,GAAG,IAAI,CAAA;YACR,GAAG,EAAE;gBACH,SAAS,EAAE,MAAM,CAAA;gBACjB,OAAO,EAAE,MAAM,CAAA;gBACf,KAAK,EAAE,MAAM,CAAA;gBACb,SAAS,EAAE,MAAM,CAAA;aAClB,GAAG,IAAI,CAAA;YACR,UAAU,EAAE,OAAO,GAAG,KAAK,CAAA;SAC5B,CAAC,CAAA;KACH,CAAA;CACF,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE;QACf,YAAY,EAAE,KAAK,CAAC;YAClB,UAAU,EAAE,QAAQ,GAAG,OAAO,CAAA;YAC9B,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAA;gBACxB,UAAU,EAAE,MAAM,CAAA;gBAClB,QAAQ,EAAE,MAAM,CAAA;gBAChB,QAAQ,EAAE,MAAM,CAAA;gBAChB,OAAO,CAAC,EAAE,MAAM,CAAA;gBAChB,QAAQ,EAAE,MAAM,CAAA;gBAChB,IAAI,EAAE,MAAM,CAAA;gBACZ,MAAM,EAAE,MAAM,CAAA;aACf,CAAA;YACD,EAAE,EAAE,KAAK,CAAC;gBACR,SAAS,EAAE,MAAM,CAAA;gBACjB,OAAO,EAAE,MAAM,CAAA;gBACf,KAAK,EAAE,MAAM,CAAA;gBACb,SAAS,EAAE,MAAM,CAAA;aAClB,CAAC,CAAA;YACF,GAAG,EAAE,KAAK,CAAC;gBACT,SAAS,EAAE,MAAM,CAAA;gBACjB,OAAO,EAAE,MAAM,CAAA;gBACf,KAAK,EAAE,MAAM,CAAA;gBACb,SAAS,EAAE,MAAM,CAAA;aAClB,CAAC,CAAA;YACF,eAAe,EAAE;gBACf,MAAM,EAAE;oBACN,SAAS,EAAE,MAAM,CAAA;oBACjB,KAAK,EAAE,MAAM,CAAA;oBACb,SAAS,EAAE,MAAM,CAAA;iBAClB,CAAA;gBACD,KAAK,EAAE;oBACL,SAAS,EAAE,MAAM,CAAA;oBACjB,KAAK,EAAE,MAAM,CAAA;oBACb,SAAS,EAAE,MAAM,CAAA;iBAClB,CAAA;aACF,CAAA;SACF,CAAC,CAAA;KACH,CAAA;CACF,CAAA;AAED,eAAO,MAAM,6BAA6B,GACxC,YAAY,wBAAwB,KACnC,OAAO,CAAC,4BAA4B,CA2EtC,CAAA;AA6CD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,0BAA0B,GACrC,YAAY,qBAAqB,EACjC,OAAO,QAAQ,KACd,OAAO,CAAC,yBAAyB,CAuDnC,CAAA"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/api/core.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,126 @@
1
1
  import { isChainOfKind } from '@vultisig/core-chain/ChainKind';
2
2
  import { shouldBePresent } from '@vultisig/lib-utils/assert/shouldBePresent';
3
+ const SUI_NATIVE_COIN_TYPE = '0x2::sui::SUI';
4
+ const isNativeSui = (asset) => asset.type === 'NATIVE' ||
5
+ asset.type === 'SUI' ||
6
+ asset.asset_type === 'NATIVE' ||
7
+ asset.coin_type === SUI_NATIVE_COIN_TYPE ||
8
+ (!asset.id && !asset.coin_type && !asset.address && asset.symbol === 'SUI');
9
+ const coinTypeFromAsset = (asset) => {
10
+ if (asset.id)
11
+ return asset.id;
12
+ if (asset.coin_type)
13
+ return asset.coin_type;
14
+ if (asset.address)
15
+ return asset.address;
16
+ if (isNativeSui(asset))
17
+ return SUI_NATIVE_COIN_TYPE;
18
+ return null;
19
+ };
20
+ // Convert Blockaid's `raw_value` (always an integer in the asset's base unit,
21
+ // emitted as either a JS number or a numeric string) to a bigint. Returns
22
+ // `null` for any input we can't safely represent — `NaN`, `Infinity`, unsafe
23
+ // JS numbers (precision loss above 2^53), or non-integer strings. The parser
24
+ // propagates the `null` so a malformed amount degrades to "no preview"
25
+ // instead of throwing or quietly corrupting the displayed value.
26
+ const toBigInt = (raw) => {
27
+ if (typeof raw === 'number') {
28
+ if (!Number.isFinite(raw) || !Number.isSafeInteger(raw))
29
+ return null;
30
+ return BigInt(raw);
31
+ }
32
+ if (!/^-?\d+$/.test(raw))
33
+ return null;
34
+ return BigInt(raw);
35
+ };
36
+ /**
37
+ * Parse a Blockaid Sui simulation into the user's net balance changes,
38
+ * mirroring how Solana classifies into a `swap` or `transfer` headline.
39
+ *
40
+ * Only emits a headline when the relevant diff set is unambiguous:
41
+ * - exactly one out-only diff → `transfer`
42
+ * - exactly two diffs, one out-only + one in-only on different assets
43
+ * → `swap`
44
+ *
45
+ * Anything more complex (e.g. a swap that also sends a third asset)
46
+ * returns `null` — a partial "you're swapping…" headline would hide the
47
+ * additional movement and mislead users approving the transaction. The
48
+ * popup falls back to the decoded-command view when this returns `null`.
49
+ */
50
+ export const parseBlockaidSuiSimulation = async (simulation) => {
51
+ const assetDiffs = simulation.account_summary?.account_assets_diffs ?? simulation.account_summary?.account_assets_diff;
52
+ if (!assetDiffs || assetDiffs.length === 0)
53
+ return null;
54
+ // When we have 3 items and one is native SUI, filter it out and use the
55
+ // other two tokens — the native SUI is likely the gas charge, not part of
56
+ // the swap itself. Same heuristic as Solana.
57
+ let relevantDiffs = assetDiffs;
58
+ if (assetDiffs.length === 3) {
59
+ const nativeIdx = assetDiffs.findIndex(diff => isNativeSui(diff.asset));
60
+ if (nativeIdx !== -1) {
61
+ relevantDiffs = assetDiffs.filter((_, i) => i !== nativeIdx);
62
+ }
63
+ }
64
+ if (relevantDiffs.length === 1) {
65
+ const [diff] = relevantDiffs;
66
+ // A single diff with an `in` side but no `out` would be a pure receive;
67
+ // we don't surface that as a "you're sending" headline.
68
+ if (!diff.out || diff.in)
69
+ return null;
70
+ const from = blockaidSuiAssetFrom(diff.asset);
71
+ if (!from)
72
+ return null;
73
+ const fromAmount = toBigInt(diff.out.raw_value);
74
+ if (fromAmount === null)
75
+ return null;
76
+ return {
77
+ transfer: {
78
+ from,
79
+ fromAmount,
80
+ },
81
+ };
82
+ }
83
+ // Strict two-diff swap: one diff is out-only, the other is in-only, and
84
+ // they're on different assets. Anything else (mixed in+out on one side,
85
+ // three+ relevant diffs, same-asset refund pair) returns `null` rather
86
+ // than risk a misleading partial headline.
87
+ if (relevantDiffs.length !== 2)
88
+ return null;
89
+ const [a, b] = relevantDiffs;
90
+ const outDiff = !a.in && a.out ? a : !b.in && b.out ? b : null;
91
+ const inDiff = !a.out && a.in ? a : !b.out && b.in ? b : null;
92
+ if (!outDiff || !inDiff || outDiff === inDiff)
93
+ return null;
94
+ if (!outDiff.out || !inDiff.in)
95
+ return null;
96
+ const from = blockaidSuiAssetFrom(outDiff.asset);
97
+ const to = blockaidSuiAssetFrom(inDiff.asset);
98
+ if (!from || !to || from.coinType === to.coinType)
99
+ return null;
100
+ const fromAmount = toBigInt(outDiff.out.raw_value);
101
+ const toAmount = toBigInt(inDiff.in.raw_value);
102
+ if (fromAmount === null || toAmount === null)
103
+ return null;
104
+ return {
105
+ swap: {
106
+ from,
107
+ to,
108
+ fromAmount,
109
+ toAmount,
110
+ },
111
+ };
112
+ };
113
+ const blockaidSuiAssetFrom = (asset) => {
114
+ const coinType = coinTypeFromAsset(asset);
115
+ if (!coinType)
116
+ return null;
117
+ return {
118
+ coinType,
119
+ symbol: asset.symbol || coinType.split('::').pop() || coinType,
120
+ decimals: asset.decimals,
121
+ logo: asset.logo_url ?? asset.logo,
122
+ };
123
+ };
3
124
  export const parseBlockaidSolanaSimulation = async (simulation) => {
4
125
  const assetDiffs = simulation.account_summary.account_assets_diff;
5
126
  // When we have 3 items and one is native SOL, filter it out and use the other two tokens.
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/api/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/api/core.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,23 @@
1
1
  import { Coin } from '../../../../coin/Coin.js';
2
+ export type BlockaidSuiAsset = {
3
+ coinType: string;
4
+ symbol: string;
5
+ decimals: number;
6
+ logo?: string;
7
+ };
8
+ export type BlockaidSuiSimulationInfo = {
9
+ swap: {
10
+ from: BlockaidSuiAsset;
11
+ to: BlockaidSuiAsset;
12
+ fromAmount: bigint;
13
+ toAmount: bigint;
14
+ };
15
+ } | {
16
+ transfer: {
17
+ from: BlockaidSuiAsset;
18
+ fromAmount: bigint;
19
+ };
20
+ };
2
21
  export type BlockaidSolanaSimulationInfo = {
3
22
  swap: {
4
23
  fromMint: string;
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAE5C,MAAM,MAAM,4BAA4B,GACpC;IACE,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,cAAc,EAAE,MAAM,CAAA;KACvB,CAAA;CACF,GACD;IACE,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAA;QAChB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF,CAAA;AAEL,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,wBAAwB,EAAE,CAAA;CACpC,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAE5C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,yBAAyB,GACjC;IACE,IAAI,EAAE;QACJ,IAAI,EAAE,gBAAgB,CAAA;QACtB,EAAE,EAAE,gBAAgB,CAAA;QACpB,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;CACF,GACD;IACE,QAAQ,EAAE;QACR,IAAI,EAAE,gBAAgB,CAAA;QACtB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF,CAAA;AAEL,MAAM,MAAM,4BAA4B,GACpC;IACE,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,cAAc,EAAE,MAAM,CAAA;KACvB,CAAA;CACF,GACD;IACE,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAA;QAChB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF,CAAA;AAEL,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,wBAAwB,EAAE,CAAA;CACpC,GAAG,IAAI,CAAA"}
@@ -3,4 +3,5 @@ import { BlockaidSupportedEvmChain } from '../../evmChains.js';
3
3
  import { BlockaidSimulationForChainKind, BlockaidTxSimulationInput } from './resolver.js';
4
4
  export declare function getTxBlockaidSimulation(input: BlockaidTxSimulationInput<BlockaidSupportedEvmChain>): Promise<BlockaidSimulationForChainKind<'evm'>>;
5
5
  export declare function getTxBlockaidSimulation(input: BlockaidTxSimulationInput<typeof Chain.Solana>): Promise<BlockaidSimulationForChainKind<'solana'>>;
6
+ export declare function getTxBlockaidSimulation(input: BlockaidTxSimulationInput<typeof Chain.Sui>): Promise<BlockaidSimulationForChainKind<'sui'>>;
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAGlD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAE3D,OAAO,EAAE,8BAA8B,EAAE,yBAAyB,EAAgC,MAAM,YAAY,CAAA;AAcpH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,yBAAyB,CAAC,yBAAyB,CAAC,GAC1D,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAA;AAEjD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,yBAAyB,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,GACpD,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAGlD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAE3D,OAAO,EAAE,8BAA8B,EAAE,yBAAyB,EAAgC,MAAM,YAAY,CAAA;AAiBpH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,yBAAyB,CAAC,yBAAyB,CAAC,GAC1D,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAA;AAEjD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,yBAAyB,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,GACpD,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEpD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,yBAAyB,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,GACjD,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAA"}
@@ -1,15 +1,20 @@
1
1
  import { getChainKind } from '@vultisig/core-chain/ChainKind';
2
2
  import { getEvmTxBlockaidSimulation } from './resolvers/evm.js';
3
3
  import { getSolanaTxBlockaidSimulation } from './resolvers/solana.js';
4
+ import { getSuiTxBlockaidSimulation } from './resolvers/sui.js';
4
5
  const resolvers = {
5
6
  solana: getSolanaTxBlockaidSimulation,
6
7
  evm: getEvmTxBlockaidSimulation,
8
+ sui: getSuiTxBlockaidSimulation,
7
9
  };
8
10
  export async function getTxBlockaidSimulation(input) {
9
11
  const chainKind = getChainKind(input.chain);
10
12
  if (chainKind === 'solana') {
11
13
  return resolvers.solana(input);
12
14
  }
15
+ if (chainKind === 'sui') {
16
+ return resolvers.sui(input);
17
+ }
13
18
  return resolvers.evm(input);
14
19
  }
15
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAK9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAA;AAOlE,MAAM,SAAS,GAAgB;IAC7B,MAAM,EAAE,6BAA6B;IACrC,GAAG,EAAE,0BAA0B;CAChC,CAAA;AAUD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAmC;IAEnC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAE3C,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAgE,CAAA;IAC/F,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAgE,CAAA;AAC5F,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAK9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAQ5D,MAAM,SAAS,GAAgB;IAC7B,MAAM,EAAE,6BAA6B;IACrC,GAAG,EAAE,0BAA0B;IAC/B,GAAG,EAAE,0BAA0B;CAChC,CAAA;AAcD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAmC;IAEnC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAE3C,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAgE,CAAA;IAC/F,CAAC;IAED,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAgE,CAAA;IAC5F,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAgE,CAAA;AAC5F,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Resolver } from '@vultisig/lib-utils/types/Resolver';
2
2
  import { BlockaidSimulationSupportedChain, BlockaidSimulationSupportedChainKind } from '../../simulationChains.js';
3
- import { BlockaidEVMSimulation, BlockaidSolanaSimulation } from './api/core.js';
3
+ import { BlockaidEVMSimulation, BlockaidSolanaSimulation, BlockaidSuiSimulation } from './api/core.js';
4
4
  export type BlockaidTxSimulationInput<T extends BlockaidSimulationSupportedChain = BlockaidSimulationSupportedChain> = {
5
5
  chain: T;
6
6
  data: Record<string, unknown>;
@@ -8,6 +8,7 @@ export type BlockaidTxSimulationInput<T extends BlockaidSimulationSupportedChain
8
8
  type BlockaidSimulationByKind = {
9
9
  evm: BlockaidEVMSimulation;
10
10
  solana: BlockaidSolanaSimulation;
11
+ sui: BlockaidSuiSimulation;
11
12
  };
12
13
  export type BlockaidSimulationForChainKind<K extends BlockaidSimulationSupportedChainKind> = BlockaidSimulationByKind[K];
13
14
  export type BlockaidTxSimulationResolver<T extends BlockaidSimulationSupportedChain = BlockaidSimulationSupportedChain, K extends BlockaidSimulationSupportedChainKind = BlockaidSimulationSupportedChainKind> = Resolver<BlockaidTxSimulationInput<T>, Promise<BlockaidSimulationForChainKind<K>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,gCAAgC,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAA;AAC/G,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAE5E,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,gCAAgC,GAAG,gCAAgC,IAAI;IACrH,KAAK,EAAE,CAAC,CAAA;IACR,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC9B,GAAG,EAAE,qBAAqB,CAAA;IAC1B,MAAM,EAAE,wBAAwB,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,8BAA8B,CAAC,CAAC,SAAS,oCAAoC,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAA;AAExH,MAAM,MAAM,4BAA4B,CACtC,CAAC,SAAS,gCAAgC,GAAG,gCAAgC,EAC7E,CAAC,SAAS,oCAAoC,GAAG,oCAAoC,IACnF,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,OAAO,EAAE,gCAAgC,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAA;AAC/G,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEnG,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,gCAAgC,GAAG,gCAAgC,IAAI;IACrH,KAAK,EAAE,CAAC,CAAA;IACR,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC9B,GAAG,EAAE,qBAAqB,CAAA;IAC1B,MAAM,EAAE,wBAAwB,CAAA;IAChC,GAAG,EAAE,qBAAqB,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,8BAA8B,CAAC,CAAC,SAAS,oCAAoC,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAA;AAExH,MAAM,MAAM,4BAA4B,CACtC,CAAC,SAAS,gCAAgC,GAAG,gCAAgC,EAC7E,CAAC,SAAS,oCAAoC,GAAG,oCAAoC,IACnF,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { OtherChain } from '@vultisig/core-chain/Chain';
2
+ import { BlockaidTxSimulationResolver } from '../resolver.js';
3
+ /**
4
+ * Asks Blockaid's `/sui/transaction/scan` endpoint for the simulation block
5
+ * only. The same endpoint also serves validation (security risk) — the
6
+ * separate `getSuiTxBlockaidValidation` resolver requests that.
7
+ */
8
+ export declare const getSuiTxBlockaidSimulation: BlockaidTxSimulationResolver<OtherChain.Sui, 'sui'>;
9
+ //# sourceMappingURL=sui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sui.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/resolvers/sui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAIvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAM1D;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,4BAA4B,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAG1F,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { queryBlockaid } from '../../../core/query.js';
2
+ /**
3
+ * Asks Blockaid's `/sui/transaction/scan` endpoint for the simulation block
4
+ * only. The same endpoint also serves validation (security risk) — the
5
+ * separate `getSuiTxBlockaidValidation` resolver requests that.
6
+ */
7
+ export const getSuiTxBlockaidSimulation = async ({ data }) => {
8
+ const { simulation } = await queryBlockaid('/sui/transaction/scan', data);
9
+ return simulation;
10
+ };
11
+ //# sourceMappingURL=sui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sui.js","sourceRoot":"","sources":["../../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/resolvers/sui.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAQnD;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAwD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IAChH,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,aAAa,CAA0B,uBAAuB,EAAE,IAAI,CAAC,CAAA;IAClG,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vultisig/core-chain",
3
- "version": "2.11.0",
3
+ "version": "2.13.0",
4
4
  "description": "Blockchain chain logic shared across Vultisig clients",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -614,6 +614,11 @@
614
614
  "import": "./dist/chains/solana/spl/getSplAssociatedAccount.js",
615
615
  "default": "./dist/chains/solana/spl/getSplAssociatedAccount.js"
616
616
  },
617
+ "./chains/sui/buildTransactionFromJson": {
618
+ "types": "./dist/chains/sui/buildTransactionFromJson.d.ts",
619
+ "import": "./dist/chains/sui/buildTransactionFromJson.js",
620
+ "default": "./dist/chains/sui/buildTransactionFromJson.js"
621
+ },
617
622
  "./chains/sui/client": {
618
623
  "types": "./dist/chains/sui/client.d.ts",
619
624
  "import": "./dist/chains/sui/client.js",
@@ -624,6 +629,11 @@
624
629
  "import": "./dist/chains/sui/config.js",
625
630
  "default": "./dist/chains/sui/config.js"
626
631
  },
632
+ "./chains/sui/sign": {
633
+ "types": "./dist/chains/sui/sign.d.ts",
634
+ "import": "./dist/chains/sui/sign.js",
635
+ "default": "./dist/chains/sui/sign.js"
636
+ },
627
637
  "./chains/thorchain/ruji/services/fetchMergeableTokenBalances": {
628
638
  "types": "./dist/chains/thorchain/ruji/services/fetchMergeableTokenBalances.d.ts",
629
639
  "import": "./dist/chains/thorchain/ruji/services/fetchMergeableTokenBalances.js",
@@ -1200,6 +1210,11 @@
1200
1210
  "import": "./dist/security/blockaid/tx/simulation/resolvers/solana.js",
1201
1211
  "default": "./dist/security/blockaid/tx/simulation/resolvers/solana.js"
1202
1212
  },
1213
+ "./security/blockaid/tx/simulation/resolvers/sui": {
1214
+ "types": "./dist/security/blockaid/tx/simulation/resolvers/sui.d.ts",
1215
+ "import": "./dist/security/blockaid/tx/simulation/resolvers/sui.js",
1216
+ "default": "./dist/security/blockaid/tx/simulation/resolvers/sui.js"
1217
+ },
1203
1218
  "./security/blockaid/tx/validation": {
1204
1219
  "types": "./dist/security/blockaid/tx/validation/index.d.ts",
1205
1220
  "import": "./dist/security/blockaid/tx/validation/index.js",