@mysten/seal 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/version.mjs +1 -1
- package/dist/version.mjs.map +1 -1
- package/docs/index.md +83 -0
- package/docs/llms-index.md +6 -0
- package/package.json +7 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @mysten/seal
|
|
2
2
|
|
|
3
|
+
## 1.1.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 43e69f8: Add embedded LLM-friendly docs to published packages
|
|
8
|
+
- Updated dependencies [43e69f8]
|
|
9
|
+
- Updated dependencies [e51dc5d]
|
|
10
|
+
- @mysten/bcs@2.0.3
|
|
11
|
+
- @mysten/sui@2.8.0
|
|
12
|
+
|
|
3
13
|
## 1.1.0
|
|
4
14
|
|
|
5
15
|
### Minor Changes
|
package/dist/version.mjs
CHANGED
package/dist/version.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.mjs","names":[],"sources":["../src/version.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n// This file is generated by genversion.mjs. Do not edit it directly.\n\nexport const PACKAGE_VERSION = '1.1.
|
|
1
|
+
{"version":3,"file":"version.mjs","names":[],"sources":["../src/version.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n// This file is generated by genversion.mjs. Do not edit it directly.\n\nexport const PACKAGE_VERSION = '1.1.1';\n"],"mappings":";AAKA,MAAa,kBAAkB"}
|
package/docs/index.md
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Seal SDK
|
|
2
|
+
|
|
3
|
+
> Decentralized secrets management with threshold encryption on Sui
|
|
4
|
+
|
|
5
|
+
> **Note:** This is a beta version of Seal. See https://github.com/MystenLabs/seal for more details.
|
|
6
|
+
|
|
7
|
+
The Seal SDK provides threshold encryption capabilities for Sui applications, enabling secure data
|
|
8
|
+
encryption with configurable key servers.
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
```bash npm2yarn
|
|
13
|
+
npm install --save @mysten/seal @mysten/sui
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Setup
|
|
17
|
+
|
|
18
|
+
To use the Seal SDK, create a Sui client and extend it with the Seal extension:
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
const client = new SuiGrpcClient({
|
|
22
|
+
network: 'testnet',
|
|
23
|
+
baseUrl: 'https://fullnode.testnet.sui.io:443',
|
|
24
|
+
}).$extend(
|
|
25
|
+
seal({
|
|
26
|
+
serverConfigs: [
|
|
27
|
+
{ objectId: '0x...keyserver1', weight: 1 },
|
|
28
|
+
{ objectId: '0x...keyserver2', weight: 1 },
|
|
29
|
+
],
|
|
30
|
+
}),
|
|
31
|
+
);
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Configuration Options
|
|
35
|
+
|
|
36
|
+
The `seal()` function accepts the following options:
|
|
37
|
+
|
|
38
|
+
- **`serverConfigs`** (required) - Array of key server configurations with `objectId` and `weight`
|
|
39
|
+
- **`verifyKeyServers`** (optional) - Whether to verify key server authenticity (default: `true`)
|
|
40
|
+
- **`timeout`** (optional) - Timeout in milliseconds for network requests (default: `10000`)
|
|
41
|
+
|
|
42
|
+
## Basic Usage
|
|
43
|
+
|
|
44
|
+
### Encrypting Data
|
|
45
|
+
|
|
46
|
+
```ts
|
|
47
|
+
const data = new Uint8Array([1, 2, 3]);
|
|
48
|
+
|
|
49
|
+
const { encryptedObject } = await client.seal.encrypt({
|
|
50
|
+
threshold: 2, // Number of key servers needed to decrypt
|
|
51
|
+
packageId: '0x...your-package-id',
|
|
52
|
+
id: '0x...your-object-id',
|
|
53
|
+
data,
|
|
54
|
+
});
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Decrypting Data
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
// Create a session key for decryption
|
|
61
|
+
const sessionKey = await SessionKey.create({
|
|
62
|
+
address: senderAddress,
|
|
63
|
+
packageId: '0x...your-package-id',
|
|
64
|
+
ttlMin: 10, // Time-to-live in minutes
|
|
65
|
+
signer: keypair,
|
|
66
|
+
suiClient: client,
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
// Build transaction bytes that call seal_approve
|
|
70
|
+
const txBytes = await buildApprovalTransaction(/* ... */);
|
|
71
|
+
|
|
72
|
+
// Decrypt the data
|
|
73
|
+
const decryptedData = await client.seal.decrypt({
|
|
74
|
+
data: encryptedObject,
|
|
75
|
+
sessionKey,
|
|
76
|
+
txBytes,
|
|
77
|
+
});
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Resources
|
|
81
|
+
|
|
82
|
+
For detailed documentation on threshold encryption and key server setup, see the
|
|
83
|
+
[Seal repository](https://github.com/MystenLabs/seal).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mysten/seal",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Seal SDK",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Mysten Labs <build@mystenlabs.com>",
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
"sideEffects": false,
|
|
18
18
|
"files": [
|
|
19
19
|
"CHANGELOG.md",
|
|
20
|
-
"dist"
|
|
20
|
+
"dist",
|
|
21
|
+
"docs"
|
|
21
22
|
],
|
|
22
23
|
"repository": {
|
|
23
24
|
"type": "git",
|
|
@@ -32,19 +33,20 @@
|
|
|
32
33
|
"@types/node": "^25.0.8",
|
|
33
34
|
"typescript": "^5.9.3",
|
|
34
35
|
"vitest": "^4.0.17",
|
|
35
|
-
"@mysten/sui": "^2.
|
|
36
|
+
"@mysten/sui": "^2.8.0"
|
|
36
37
|
},
|
|
37
38
|
"dependencies": {
|
|
38
39
|
"@noble/curves": "^2.0.1",
|
|
39
40
|
"@noble/hashes": "^2.0.1",
|
|
40
|
-
"@mysten/bcs": "^2.0.
|
|
41
|
+
"@mysten/bcs": "^2.0.3"
|
|
41
42
|
},
|
|
42
43
|
"peerDependencies": {
|
|
43
|
-
"@mysten/sui": "^2.
|
|
44
|
+
"@mysten/sui": "^2.8.0"
|
|
44
45
|
},
|
|
45
46
|
"scripts": {
|
|
46
47
|
"clean": "rm -rf tsconfig.tsbuildinfo ./dist",
|
|
47
48
|
"build": "node genversion.mjs && rm -rf dist && tsc --noEmit && tsdown",
|
|
49
|
+
"build:docs": "tsx ../docs/scripts/build-docs.ts",
|
|
48
50
|
"codegen:version": "node genversion.mjs",
|
|
49
51
|
"vitest": "vitest",
|
|
50
52
|
"test": "pnpm test:typecheck && pnpm test:unit",
|