@mysten/sui 1.17.0 → 1.18.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 +25 -0
- package/dist/cjs/bcs/bcs.d.ts +95 -95
- package/dist/cjs/bcs/effects.d.ts +41 -41
- package/dist/cjs/bcs/index.d.ts +136 -136
- package/dist/cjs/client/client.d.ts +1 -0
- package/dist/cjs/client/types/generated.d.ts +76 -27
- package/dist/cjs/client/types/generated.js.map +1 -1
- package/dist/cjs/client/types/params.d.ts +5 -1
- package/dist/cjs/client/types/params.js.map +1 -1
- package/dist/cjs/cryptography/intent.d.ts +1 -1
- package/dist/cjs/cryptography/publickey.d.ts +4 -0
- package/dist/cjs/cryptography/publickey.js +6 -0
- package/dist/cjs/cryptography/publickey.js.map +2 -2
- package/dist/cjs/cryptography/signature.d.ts +9 -9
- package/dist/cjs/graphql/generated/2024.1/tada-env.d.ts +11380 -0
- package/dist/cjs/graphql/generated/2024.1/tada-env.js +13142 -0
- package/dist/cjs/graphql/generated/2024.1/tada-env.js.map +7 -0
- package/dist/cjs/graphql/generated/2024.1/tsconfig.tada.js +1 -1
- package/dist/cjs/graphql/generated/2024.1/tsconfig.tada.js.map +1 -1
- package/dist/cjs/graphql/generated/2024.4/tada-env.d.ts +11496 -0
- package/dist/cjs/graphql/generated/2024.4/tada-env.js +13288 -0
- package/dist/cjs/graphql/generated/2024.4/tada-env.js.map +7 -0
- package/dist/cjs/graphql/generated/2024.4/tsconfig.tada.js +1 -1
- package/dist/cjs/graphql/generated/2024.4/tsconfig.tada.js.map +1 -1
- package/dist/cjs/graphql/generated/latest/tada-env.d.ts +12540 -0
- package/dist/cjs/graphql/generated/latest/tada-env.js +14498 -0
- package/dist/cjs/graphql/generated/latest/tada-env.js.map +7 -0
- package/dist/cjs/graphql/generated/latest/tsconfig.tada.js +12 -0
- package/dist/cjs/graphql/generated/latest/tsconfig.tada.js.map +7 -0
- package/dist/cjs/graphql/schemas/2024.1/index.d.ts +6 -8999
- package/dist/cjs/graphql/schemas/2024.1/index.js.map +1 -1
- package/dist/cjs/graphql/schemas/2024.4/index.d.ts +6 -9053
- package/dist/cjs/graphql/schemas/2024.4/index.js.map +1 -1
- package/dist/cjs/graphql/schemas/latest/index.d.ts +10 -0
- package/dist/cjs/graphql/schemas/latest/index.js +31 -0
- package/dist/cjs/graphql/schemas/latest/index.js.map +7 -0
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.d.ts +0 -5
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js +1 -25
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js.map +3 -3
- package/dist/cjs/keypairs/ed25519/keypair.d.ts +1 -1
- package/dist/cjs/keypairs/ed25519/keypair.js +22 -18
- package/dist/cjs/keypairs/ed25519/keypair.js.map +3 -3
- package/dist/cjs/keypairs/ed25519/publickey.js +2 -12
- package/dist/cjs/keypairs/ed25519/publickey.js.map +3 -3
- package/dist/cjs/keypairs/passkey/keypair.d.ts +1 -1
- package/dist/cjs/keypairs/passkey/publickey.d.ts +4 -4
- package/dist/cjs/keypairs/secp256k1/keypair.d.ts +1 -1
- package/dist/cjs/keypairs/secp256r1/keypair.d.ts +1 -1
- package/dist/cjs/transactions/Arguments.d.ts +11 -980
- package/dist/cjs/transactions/Arguments.js +1 -3
- package/dist/cjs/transactions/Arguments.js.map +2 -2
- package/dist/cjs/transactions/ObjectCache.d.ts +2 -1
- package/dist/cjs/transactions/ObjectCache.js +8 -3
- package/dist/cjs/transactions/ObjectCache.js.map +2 -2
- package/dist/cjs/transactions/Transaction.d.ts +13 -33
- package/dist/cjs/transactions/Transaction.js +8 -8
- package/dist/cjs/transactions/Transaction.js.map +2 -2
- package/dist/cjs/transactions/TransactionData.d.ts +1 -1
- package/dist/cjs/transactions/executor/caching.d.ts +1 -1
- package/dist/cjs/transactions/executor/serial.d.ts +3 -3
- package/dist/cjs/transactions/executor/serial.js +3 -5
- package/dist/cjs/transactions/executor/serial.js.map +3 -3
- package/dist/cjs/verify/verify.d.ts +5 -1
- package/dist/cjs/verify/verify.js +10 -1
- package/dist/cjs/verify/verify.js.map +2 -2
- package/dist/cjs/version.d.ts +2 -2
- package/dist/cjs/version.js +2 -2
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/zklogin/publickey.d.ts +6 -2
- package/dist/cjs/zklogin/publickey.js +22 -10
- package/dist/cjs/zklogin/publickey.js.map +2 -2
- package/dist/esm/bcs/bcs.d.ts +95 -95
- package/dist/esm/bcs/effects.d.ts +41 -41
- package/dist/esm/bcs/index.d.ts +136 -136
- package/dist/esm/client/client.d.ts +1 -0
- package/dist/esm/client/types/generated.d.ts +76 -27
- package/dist/esm/client/types/params.d.ts +5 -1
- package/dist/esm/cryptography/intent.d.ts +1 -1
- package/dist/esm/cryptography/publickey.d.ts +4 -0
- package/dist/esm/cryptography/publickey.js +6 -0
- package/dist/esm/cryptography/publickey.js.map +2 -2
- package/dist/esm/cryptography/signature.d.ts +9 -9
- package/dist/esm/graphql/generated/2024.1/tada-env.d.ts +11380 -0
- package/dist/esm/graphql/generated/2024.1/tada-env.js +13122 -0
- package/dist/esm/graphql/generated/2024.1/tada-env.js.map +7 -0
- package/dist/esm/graphql/generated/2024.1/tsconfig.tada.js +1 -1
- package/dist/esm/graphql/generated/2024.1/tsconfig.tada.js.map +1 -1
- package/dist/esm/graphql/generated/2024.4/tada-env.d.ts +11496 -0
- package/dist/esm/graphql/generated/2024.4/tada-env.js +13268 -0
- package/dist/esm/graphql/generated/2024.4/tada-env.js.map +7 -0
- package/dist/esm/graphql/generated/2024.4/tsconfig.tada.js +1 -1
- package/dist/esm/graphql/generated/2024.4/tsconfig.tada.js.map +1 -1
- package/dist/esm/graphql/generated/latest/tada-env.d.ts +12540 -0
- package/dist/esm/graphql/generated/latest/tada-env.js +14478 -0
- package/dist/esm/graphql/generated/latest/tada-env.js.map +7 -0
- package/dist/esm/graphql/generated/latest/tsconfig.tada.js +17 -0
- package/dist/esm/graphql/generated/latest/tsconfig.tada.js.map +7 -0
- package/dist/esm/graphql/schemas/2024.1/index.d.ts +6 -8999
- package/dist/esm/graphql/schemas/2024.1/index.js.map +1 -1
- package/dist/esm/graphql/schemas/2024.4/index.d.ts +6 -9053
- package/dist/esm/graphql/schemas/2024.4/index.js.map +1 -1
- package/dist/esm/graphql/schemas/latest/index.d.ts +10 -0
- package/dist/esm/graphql/schemas/latest/index.js +10 -0
- package/dist/esm/graphql/schemas/latest/index.js.map +7 -0
- package/dist/esm/keypairs/ed25519/ed25519-hd-key.d.ts +0 -5
- package/dist/esm/keypairs/ed25519/ed25519-hd-key.js +1 -15
- package/dist/esm/keypairs/ed25519/ed25519-hd-key.js.map +2 -2
- package/dist/esm/keypairs/ed25519/keypair.d.ts +1 -1
- package/dist/esm/keypairs/ed25519/keypair.js +22 -8
- package/dist/esm/keypairs/ed25519/keypair.js.map +2 -2
- package/dist/esm/keypairs/ed25519/publickey.js +2 -2
- package/dist/esm/keypairs/ed25519/publickey.js.map +2 -2
- package/dist/esm/keypairs/passkey/keypair.d.ts +1 -1
- package/dist/esm/keypairs/passkey/publickey.d.ts +4 -4
- package/dist/esm/keypairs/secp256k1/keypair.d.ts +1 -1
- package/dist/esm/keypairs/secp256r1/keypair.d.ts +1 -1
- package/dist/esm/transactions/Arguments.d.ts +11 -980
- package/dist/esm/transactions/Arguments.js +1 -3
- package/dist/esm/transactions/Arguments.js.map +2 -2
- package/dist/esm/transactions/ObjectCache.d.ts +2 -1
- package/dist/esm/transactions/ObjectCache.js +8 -3
- package/dist/esm/transactions/ObjectCache.js.map +2 -2
- package/dist/esm/transactions/Transaction.d.ts +13 -33
- package/dist/esm/transactions/Transaction.js +8 -8
- package/dist/esm/transactions/Transaction.js.map +2 -2
- package/dist/esm/transactions/TransactionData.d.ts +1 -1
- package/dist/esm/transactions/executor/caching.d.ts +1 -1
- package/dist/esm/transactions/executor/serial.d.ts +3 -3
- package/dist/esm/transactions/executor/serial.js +3 -5
- package/dist/esm/transactions/executor/serial.js.map +2 -2
- package/dist/esm/verify/verify.d.ts +5 -1
- package/dist/esm/verify/verify.js +10 -1
- package/dist/esm/verify/verify.js.map +2 -2
- package/dist/esm/version.d.ts +2 -2
- package/dist/esm/version.js +2 -2
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/zklogin/publickey.d.ts +6 -2
- package/dist/esm/zklogin/publickey.js +21 -9
- package/dist/esm/zklogin/publickey.js.map +2 -2
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/graphql/schemas/latest/package.json +6 -0
- package/package.json +15 -13
- package/src/client/types/generated.ts +110 -59
- package/src/client/types/params.ts +5 -1
- package/src/cryptography/publickey.ts +7 -0
- package/src/graphql/generated/2024.1/tada-env.ts +13144 -0
- package/src/graphql/generated/2024.1/tsconfig.tada.json +1 -1
- package/src/graphql/generated/2024.4/tada-env.ts +13290 -0
- package/src/graphql/generated/2024.4/tsconfig.tada.json +1 -1
- package/src/graphql/generated/latest/schema.graphql +4808 -0
- package/src/graphql/generated/latest/tada-env.ts +14500 -0
- package/src/graphql/generated/latest/tsconfig.tada.json +11 -0
- package/src/graphql/schemas/2024.1/index.ts +1 -1
- package/src/graphql/schemas/2024.4/index.ts +1 -1
- package/src/graphql/schemas/latest/index.ts +17 -0
- package/src/keypairs/ed25519/ed25519-hd-key.ts +4 -14
- package/src/keypairs/ed25519/keypair.ts +23 -8
- package/src/keypairs/ed25519/publickey.ts +2 -2
- package/src/transactions/Arguments.ts +6 -5
- package/src/transactions/ObjectCache.ts +5 -1
- package/src/transactions/Transaction.ts +21 -15
- package/src/transactions/__tests__/bcs.test.ts +1 -1
- package/src/transactions/executor/serial.ts +3 -5
- package/src/verify/verify.ts +21 -3
- package/src/version.ts +2 -2
- package/src/zklogin/publickey.ts +19 -8
- package/dist/cjs/graphql/generated/2024.1/tada-env.d.js +0 -17
- package/dist/cjs/graphql/generated/2024.1/tada-env.d.js.map +0 -7
- package/dist/cjs/graphql/generated/2024.4/tada-env.d.js +0 -17
- package/dist/cjs/graphql/generated/2024.4/tada-env.d.js.map +0 -7
- package/dist/esm/graphql/generated/2024.1/tada-env.d.js +0 -1
- package/dist/esm/graphql/generated/2024.1/tada-env.d.js.map +0 -7
- package/dist/esm/graphql/generated/2024.4/tada-env.d.js +0 -1
- package/dist/esm/graphql/generated/2024.4/tada-env.d.js.map +0 -7
- package/src/graphql/generated/2024.1/tada-env.d.ts +0 -201
- package/src/graphql/generated/2024.4/tada-env.d.ts +0 -203
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/graphql/schemas/2024.4/index.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { initGraphQLTada } from 'gql.tada';\n\nimport type { introspection } from '../../generated/2024.4/tada-env.js';\nimport type { CustomScalars } from '../../types.js';\n\nexport * from '../../types.js';\n\nexport type { FragmentOf, ResultOf, VariablesOf, TadaDocumentNode } from 'gql.tada';\nexport { readFragment, maskFragments } from 'gql.tada';\n\nexport const graphql = initGraphQLTada<{\n\tintrospection: introspection;\n\tscalars: CustomScalars;\n}>();\n"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { initGraphQLTada } from 'gql.tada';\n\nimport type { introspection } from '../../generated/2024.4/tada-env.js';\nimport type { CustomScalars } from '../../types.js';\n\nexport * from '../../types.js';\n\nexport type { FragmentOf, ResultOf, VariablesOf, TadaDocumentNode } from 'gql.tada';\nexport { readFragment, maskFragments } from 'gql.tada';\n\nexport const graphql = initGraphQLTada<{\n\tintrospection: typeof introspection;\n\tscalars: CustomScalars;\n}>();\n"],
|
|
5
5
|
"mappings": "AAGA,SAAS,uBAAuB;AAKhC,cAAc;AAGd,SAAS,cAAc,qBAAqB;AAErC,MAAM,UAAU,gBAGpB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { initGraphQLTada } from 'gql.tada';
|
|
2
|
+
import type { introspection } from '../../generated/latest/tada-env.js';
|
|
3
|
+
import type { CustomScalars } from '../../types.js';
|
|
4
|
+
export * from '../../types.js';
|
|
5
|
+
export type { FragmentOf, ResultOf, VariablesOf, TadaDocumentNode } from 'gql.tada';
|
|
6
|
+
export { readFragment, maskFragments } from 'gql.tada';
|
|
7
|
+
export declare const graphql: initGraphQLTada<{
|
|
8
|
+
introspection: typeof introspection;
|
|
9
|
+
scalars: CustomScalars;
|
|
10
|
+
}>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { initGraphQLTada } from "gql.tada";
|
|
2
|
+
export * from "../../types.js";
|
|
3
|
+
import { readFragment, maskFragments } from "gql.tada";
|
|
4
|
+
const graphql = initGraphQLTada();
|
|
5
|
+
export {
|
|
6
|
+
graphql,
|
|
7
|
+
maskFragments,
|
|
8
|
+
readFragment
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/graphql/schemas/latest/index.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { initGraphQLTada } from 'gql.tada';\n\nimport type { introspection } from '../../generated/latest/tada-env.js';\nimport type { CustomScalars } from '../../types.js';\n\nexport * from '../../types.js';\n\nexport type { FragmentOf, ResultOf, VariablesOf, TadaDocumentNode } from 'gql.tada';\nexport { readFragment, maskFragments } from 'gql.tada';\n\nexport const graphql = initGraphQLTada<{\n\tintrospection: typeof introspection;\n\tscalars: CustomScalars;\n}>();\n"],
|
|
5
|
+
"mappings": "AAGA,SAAS,uBAAuB;AAKhC,cAAc;AAGd,SAAS,cAAc,qBAAqB;AAErC,MAAM,UAAU,gBAGpB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -4,10 +4,5 @@ type Keys = {
|
|
|
4
4
|
key: Uint8Array;
|
|
5
5
|
chainCode: Uint8Array;
|
|
6
6
|
};
|
|
7
|
-
export declare const pathRegex: RegExp;
|
|
8
|
-
export declare const replaceDerive: (val: string) => string;
|
|
9
|
-
export declare const getMasterKeyFromSeed: (seed: Hex) => Keys;
|
|
10
|
-
export declare const getPublicKey: (privateKey: Uint8Array, withZeroByte?: boolean) => Uint8Array;
|
|
11
|
-
export declare const isValidPath: (path: string) => boolean;
|
|
12
7
|
export declare const derivePath: (path: Path, seed: Hex, offset?: number) => Keys;
|
|
13
8
|
export {};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { fromHex } from "@mysten/bcs";
|
|
2
2
|
import { hmac } from "@noble/hashes/hmac";
|
|
3
3
|
import { sha512 } from "@noble/hashes/sha512";
|
|
4
|
-
import nacl from "tweetnacl";
|
|
5
4
|
const ED25519_CURVE = "ed25519 seed";
|
|
6
5
|
const HARDENED_OFFSET = 2147483648;
|
|
7
6
|
const pathRegex = new RegExp("^m(\\/[0-9]+')+$");
|
|
@@ -32,14 +31,6 @@ const CKDPriv = ({ key, chainCode }, index) => {
|
|
|
32
31
|
chainCode: IR
|
|
33
32
|
};
|
|
34
33
|
};
|
|
35
|
-
const getPublicKey = (privateKey, withZeroByte = true) => {
|
|
36
|
-
const keyPair = nacl.sign.keyPair.fromSeed(privateKey);
|
|
37
|
-
const signPk = keyPair.secretKey.subarray(32);
|
|
38
|
-
const newArr = new Uint8Array(signPk.length + 1);
|
|
39
|
-
newArr.set([0]);
|
|
40
|
-
newArr.set(signPk, 1);
|
|
41
|
-
return withZeroByte ? newArr : signPk;
|
|
42
|
-
};
|
|
43
34
|
const isValidPath = (path) => {
|
|
44
35
|
if (!pathRegex.test(path)) {
|
|
45
36
|
return false;
|
|
@@ -61,11 +52,6 @@ const derivePath = (path, seed, offset = HARDENED_OFFSET) => {
|
|
|
61
52
|
});
|
|
62
53
|
};
|
|
63
54
|
export {
|
|
64
|
-
derivePath
|
|
65
|
-
getMasterKeyFromSeed,
|
|
66
|
-
getPublicKey,
|
|
67
|
-
isValidPath,
|
|
68
|
-
pathRegex,
|
|
69
|
-
replaceDerive
|
|
55
|
+
derivePath
|
|
70
56
|
};
|
|
71
57
|
//# sourceMappingURL=ed25519-hd-key.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/keypairs/ed25519/ed25519-hd-key.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n// This is adapted from https://github.com/alepop/ed25519-hd-key replacing create-hmac\n// with @noble/hashes to be browser compatible.\n\nimport { fromHex } from '@mysten/bcs';\nimport { hmac } from '@noble/hashes/hmac';\nimport { sha512 } from '@noble/hashes/sha512';\
|
|
5
|
-
"mappings": "AAMA,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,cAAc;
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n// This is adapted from https://github.com/alepop/ed25519-hd-key replacing create-hmac\n// with @noble/hashes to be browser compatible.\n\nimport { fromHex } from '@mysten/bcs';\nimport { hmac } from '@noble/hashes/hmac';\nimport { sha512 } from '@noble/hashes/sha512';\n\ntype Hex = string;\ntype Path = string;\n\ntype Keys = {\n\tkey: Uint8Array;\n\tchainCode: Uint8Array;\n};\n\nconst ED25519_CURVE = 'ed25519 seed';\nconst HARDENED_OFFSET = 0x80000000;\n\nconst pathRegex = new RegExp(\"^m(\\\\/[0-9]+')+$\");\n\nconst replaceDerive = (val: string): string => val.replace(\"'\", '');\n\nconst getMasterKeyFromSeed = (seed: Hex): Keys => {\n\tconst h = hmac.create(sha512, ED25519_CURVE);\n\tconst I = h.update(fromHex(seed)).digest();\n\tconst IL = I.slice(0, 32);\n\tconst IR = I.slice(32);\n\treturn {\n\t\tkey: IL,\n\t\tchainCode: IR,\n\t};\n};\n\nconst CKDPriv = ({ key, chainCode }: Keys, index: number): Keys => {\n\tconst indexBuffer = new ArrayBuffer(4);\n\tconst cv = new DataView(indexBuffer);\n\tcv.setUint32(0, index);\n\n\tconst data = new Uint8Array(1 + key.length + indexBuffer.byteLength);\n\tdata.set(new Uint8Array(1).fill(0));\n\tdata.set(key, 1);\n\tdata.set(new Uint8Array(indexBuffer, 0, indexBuffer.byteLength), key.length + 1);\n\n\tconst I = hmac.create(sha512, chainCode).update(data).digest();\n\tconst IL = I.slice(0, 32);\n\tconst IR = I.slice(32);\n\treturn {\n\t\tkey: IL,\n\t\tchainCode: IR,\n\t};\n};\n\nconst isValidPath = (path: string): boolean => {\n\tif (!pathRegex.test(path)) {\n\t\treturn false;\n\t}\n\treturn !path\n\t\t.split('/')\n\t\t.slice(1)\n\t\t.map(replaceDerive)\n\t\t.some(isNaN as any /* ts T_T*/);\n};\n\nexport const derivePath = (path: Path, seed: Hex, offset = HARDENED_OFFSET): Keys => {\n\tif (!isValidPath(path)) {\n\t\tthrow new Error('Invalid derivation path');\n\t}\n\n\tconst { key, chainCode } = getMasterKeyFromSeed(seed);\n\tconst segments = path\n\t\t.split('/')\n\t\t.slice(1)\n\t\t.map(replaceDerive)\n\t\t.map((el) => parseInt(el, 10));\n\n\treturn segments.reduce((parentKeys, segment) => CKDPriv(parentKeys, segment + offset), {\n\t\tkey,\n\t\tchainCode,\n\t});\n};\n"],
|
|
5
|
+
"mappings": "AAMA,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,cAAc;AAUvB,MAAM,gBAAgB;AACtB,MAAM,kBAAkB;AAExB,MAAM,YAAY,IAAI,OAAO,kBAAkB;AAE/C,MAAM,gBAAgB,CAAC,QAAwB,IAAI,QAAQ,KAAK,EAAE;AAElE,MAAM,uBAAuB,CAAC,SAAoB;AACjD,QAAM,IAAI,KAAK,OAAO,QAAQ,aAAa;AAC3C,QAAM,IAAI,EAAE,OAAO,QAAQ,IAAI,CAAC,EAAE,OAAO;AACzC,QAAM,KAAK,EAAE,MAAM,GAAG,EAAE;AACxB,QAAM,KAAK,EAAE,MAAM,EAAE;AACrB,SAAO;AAAA,IACN,KAAK;AAAA,IACL,WAAW;AAAA,EACZ;AACD;AAEA,MAAM,UAAU,CAAC,EAAE,KAAK,UAAU,GAAS,UAAwB;AAClE,QAAM,cAAc,IAAI,YAAY,CAAC;AACrC,QAAM,KAAK,IAAI,SAAS,WAAW;AACnC,KAAG,UAAU,GAAG,KAAK;AAErB,QAAM,OAAO,IAAI,WAAW,IAAI,IAAI,SAAS,YAAY,UAAU;AACnE,OAAK,IAAI,IAAI,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;AAClC,OAAK,IAAI,KAAK,CAAC;AACf,OAAK,IAAI,IAAI,WAAW,aAAa,GAAG,YAAY,UAAU,GAAG,IAAI,SAAS,CAAC;AAE/E,QAAM,IAAI,KAAK,OAAO,QAAQ,SAAS,EAAE,OAAO,IAAI,EAAE,OAAO;AAC7D,QAAM,KAAK,EAAE,MAAM,GAAG,EAAE;AACxB,QAAM,KAAK,EAAE,MAAM,EAAE;AACrB,SAAO;AAAA,IACN,KAAK;AAAA,IACL,WAAW;AAAA,EACZ;AACD;AAEA,MAAM,cAAc,CAAC,SAA0B;AAC9C,MAAI,CAAC,UAAU,KAAK,IAAI,GAAG;AAC1B,WAAO;AAAA,EACR;AACA,SAAO,CAAC,KACN,MAAM,GAAG,EACT,MAAM,CAAC,EACP,IAAI,aAAa,EACjB;AAAA,IAAK;AAAA;AAAA,EAAwB;AAChC;AAEO,MAAM,aAAa,CAAC,MAAY,MAAW,SAAS,oBAA0B;AACpF,MAAI,CAAC,YAAY,IAAI,GAAG;AACvB,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC1C;AAEA,QAAM,EAAE,KAAK,UAAU,IAAI,qBAAqB,IAAI;AACpD,QAAM,WAAW,KACf,MAAM,GAAG,EACT,MAAM,CAAC,EACP,IAAI,aAAa,EACjB,IAAI,CAAC,OAAO,SAAS,IAAI,EAAE,CAAC;AAE9B,SAAO,SAAS,OAAO,CAAC,YAAY,YAAY,QAAQ,YAAY,UAAU,MAAM,GAAG;AAAA,IACtF;AAAA,IACA;AAAA,EACD,CAAC;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -55,7 +55,7 @@ export declare class Ed25519Keypair extends Keypair {
|
|
|
55
55
|
/**
|
|
56
56
|
* Return the signature for the provided data using Ed25519.
|
|
57
57
|
*/
|
|
58
|
-
sign(data: Uint8Array): Promise<Uint8Array
|
|
58
|
+
sign(data: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
|
|
59
59
|
/**
|
|
60
60
|
* Derive Ed25519 keypair from mnemonics and path. The mnemonics must be normalized
|
|
61
61
|
* and validated against the english wordlist.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ed25519 } from "@noble/curves/ed25519";
|
|
2
2
|
import {
|
|
3
3
|
decodeSuiPrivateKey,
|
|
4
4
|
encodeSuiPrivateKey,
|
|
@@ -19,9 +19,16 @@ class Ed25519Keypair extends Keypair {
|
|
|
19
19
|
constructor(keypair) {
|
|
20
20
|
super();
|
|
21
21
|
if (keypair) {
|
|
22
|
-
this.keypair =
|
|
22
|
+
this.keypair = {
|
|
23
|
+
publicKey: keypair.publicKey,
|
|
24
|
+
secretKey: keypair.secretKey.slice(0, 32)
|
|
25
|
+
};
|
|
23
26
|
} else {
|
|
24
|
-
|
|
27
|
+
const privateKey = ed25519.utils.randomPrivateKey();
|
|
28
|
+
this.keypair = {
|
|
29
|
+
publicKey: ed25519.getPublicKey(privateKey),
|
|
30
|
+
secretKey: privateKey
|
|
31
|
+
};
|
|
25
32
|
}
|
|
26
33
|
}
|
|
27
34
|
/**
|
|
@@ -34,7 +41,11 @@ class Ed25519Keypair extends Keypair {
|
|
|
34
41
|
* Generate a new random Ed25519 keypair
|
|
35
42
|
*/
|
|
36
43
|
static generate() {
|
|
37
|
-
|
|
44
|
+
const secretKey = ed25519.utils.randomPrivateKey();
|
|
45
|
+
return new Ed25519Keypair({
|
|
46
|
+
publicKey: ed25519.getPublicKey(secretKey),
|
|
47
|
+
secretKey
|
|
48
|
+
});
|
|
38
49
|
}
|
|
39
50
|
/**
|
|
40
51
|
* Create a Ed25519 keypair from a raw secret key byte array, also known as seed.
|
|
@@ -60,12 +71,15 @@ class Ed25519Keypair extends Keypair {
|
|
|
60
71
|
`Wrong secretKey size. Expected ${PRIVATE_KEY_SIZE} bytes, got ${secretKeyLength}.`
|
|
61
72
|
);
|
|
62
73
|
}
|
|
63
|
-
const keypair =
|
|
74
|
+
const keypair = {
|
|
75
|
+
publicKey: ed25519.getPublicKey(secretKey),
|
|
76
|
+
secretKey
|
|
77
|
+
};
|
|
64
78
|
if (!options || !options.skipValidation) {
|
|
65
79
|
const encoder = new TextEncoder();
|
|
66
80
|
const signData = encoder.encode("sui validation");
|
|
67
|
-
const signature =
|
|
68
|
-
if (!
|
|
81
|
+
const signature = ed25519.sign(signData, secretKey);
|
|
82
|
+
if (!ed25519.verify(signature, signData, keypair.publicKey)) {
|
|
69
83
|
throw new Error("provided secretKey is invalid");
|
|
70
84
|
}
|
|
71
85
|
}
|
|
@@ -90,7 +104,7 @@ class Ed25519Keypair extends Keypair {
|
|
|
90
104
|
* Return the signature for the provided data using Ed25519.
|
|
91
105
|
*/
|
|
92
106
|
async sign(data) {
|
|
93
|
-
return
|
|
107
|
+
return ed25519.sign(data, this.keypair.secretKey);
|
|
94
108
|
}
|
|
95
109
|
/**
|
|
96
110
|
* Derive Ed25519 keypair from mnemonics and path. The mnemonics must be normalized
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/keypairs/ed25519/keypair.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport
|
|
5
|
-
"mappings": "AAGA,
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { ed25519 } from '@noble/curves/ed25519';\n\nimport {\n\tdecodeSuiPrivateKey,\n\tencodeSuiPrivateKey,\n\tKeypair,\n\tPRIVATE_KEY_SIZE,\n} from '../../cryptography/keypair.js';\nimport { isValidHardenedPath, mnemonicToSeedHex } from '../../cryptography/mnemonics.js';\nimport type { SignatureScheme } from '../../cryptography/signature-scheme.js';\nimport { derivePath } from './ed25519-hd-key.js';\nimport { Ed25519PublicKey } from './publickey.js';\n\nexport const DEFAULT_ED25519_DERIVATION_PATH = \"m/44'/784'/0'/0'/0'\";\n\n/**\n * Ed25519 Keypair data. The publickey is the 32-byte public key and\n * the secretkey is 64-byte, where the first 32 bytes is the secret\n * key and the last 32 bytes is the public key.\n */\nexport interface Ed25519KeypairData {\n\tpublicKey: Uint8Array;\n\tsecretKey: Uint8Array;\n}\n\n/**\n * An Ed25519 Keypair used for signing transactions.\n */\nexport class Ed25519Keypair extends Keypair {\n\tprivate keypair: Ed25519KeypairData;\n\n\t/**\n\t * Create a new Ed25519 keypair instance.\n\t * Generate random keypair if no {@link Ed25519Keypair} is provided.\n\t *\n\t * @param keypair Ed25519 keypair\n\t */\n\tconstructor(keypair?: Ed25519KeypairData) {\n\t\tsuper();\n\t\tif (keypair) {\n\t\t\tthis.keypair = {\n\t\t\t\tpublicKey: keypair.publicKey,\n\t\t\t\tsecretKey: keypair.secretKey.slice(0, 32),\n\t\t\t};\n\t\t} else {\n\t\t\tconst privateKey = ed25519.utils.randomPrivateKey();\n\t\t\tthis.keypair = {\n\t\t\t\tpublicKey: ed25519.getPublicKey(privateKey),\n\t\t\t\tsecretKey: privateKey,\n\t\t\t};\n\t\t}\n\t}\n\n\t/**\n\t * Get the key scheme of the keypair ED25519\n\t */\n\tgetKeyScheme(): SignatureScheme {\n\t\treturn 'ED25519';\n\t}\n\n\t/**\n\t * Generate a new random Ed25519 keypair\n\t */\n\tstatic generate(): Ed25519Keypair {\n\t\tconst secretKey = ed25519.utils.randomPrivateKey();\n\t\treturn new Ed25519Keypair({\n\t\t\tpublicKey: ed25519.getPublicKey(secretKey),\n\t\t\tsecretKey,\n\t\t});\n\t}\n\n\t/**\n\t * Create a Ed25519 keypair from a raw secret key byte array, also known as seed.\n\t * This is NOT the private scalar which is result of hashing and bit clamping of\n\t * the raw secret key.\n\t *\n\t * @throws error if the provided secret key is invalid and validation is not skipped.\n\t *\n\t * @param secretKey secret key as a byte array or Bech32 secret key string\n\t * @param options: skip secret key validation\n\t */\n\tstatic fromSecretKey(\n\t\tsecretKey: Uint8Array | string,\n\t\toptions?: { skipValidation?: boolean },\n\t): Ed25519Keypair {\n\t\tif (typeof secretKey === 'string') {\n\t\t\tconst decoded = decodeSuiPrivateKey(secretKey);\n\n\t\t\tif (decoded.schema !== 'ED25519') {\n\t\t\t\tthrow new Error(`Expected a ED25519 keypair, got ${decoded.schema}`);\n\t\t\t}\n\n\t\t\treturn this.fromSecretKey(decoded.secretKey, options);\n\t\t}\n\n\t\tconst secretKeyLength = secretKey.length;\n\t\tif (secretKeyLength !== PRIVATE_KEY_SIZE) {\n\t\t\tthrow new Error(\n\t\t\t\t`Wrong secretKey size. Expected ${PRIVATE_KEY_SIZE} bytes, got ${secretKeyLength}.`,\n\t\t\t);\n\t\t}\n\t\tconst keypair = {\n\t\t\tpublicKey: ed25519.getPublicKey(secretKey),\n\t\t\tsecretKey,\n\t\t};\n\n\t\tif (!options || !options.skipValidation) {\n\t\t\tconst encoder = new TextEncoder();\n\t\t\tconst signData = encoder.encode('sui validation');\n\t\t\tconst signature = ed25519.sign(signData, secretKey);\n\t\t\tif (!ed25519.verify(signature, signData, keypair.publicKey)) {\n\t\t\t\tthrow new Error('provided secretKey is invalid');\n\t\t\t}\n\t\t}\n\t\treturn new Ed25519Keypair(keypair);\n\t}\n\n\t/**\n\t * The public key for this Ed25519 keypair\n\t */\n\tgetPublicKey(): Ed25519PublicKey {\n\t\treturn new Ed25519PublicKey(this.keypair.publicKey);\n\t}\n\n\t/**\n\t * The Bech32 secret key string for this Ed25519 keypair\n\t */\n\tgetSecretKey(): string {\n\t\treturn encodeSuiPrivateKey(\n\t\t\tthis.keypair.secretKey.slice(0, PRIVATE_KEY_SIZE),\n\t\t\tthis.getKeyScheme(),\n\t\t);\n\t}\n\n\t/**\n\t * Return the signature for the provided data using Ed25519.\n\t */\n\tasync sign(data: Uint8Array) {\n\t\treturn ed25519.sign(data, this.keypair.secretKey);\n\t}\n\n\t/**\n\t * Derive Ed25519 keypair from mnemonics and path. The mnemonics must be normalized\n\t * and validated against the english wordlist.\n\t *\n\t * If path is none, it will default to m/44'/784'/0'/0'/0', otherwise the path must\n\t * be compliant to SLIP-0010 in form m/44'/784'/{account_index}'/{change_index}'/{address_index}'.\n\t */\n\tstatic deriveKeypair(mnemonics: string, path?: string): Ed25519Keypair {\n\t\tif (path == null) {\n\t\t\tpath = DEFAULT_ED25519_DERIVATION_PATH;\n\t\t}\n\t\tif (!isValidHardenedPath(path)) {\n\t\t\tthrow new Error('Invalid derivation path');\n\t\t}\n\t\tconst { key } = derivePath(path, mnemonicToSeedHex(mnemonics));\n\n\t\treturn Ed25519Keypair.fromSecretKey(key);\n\t}\n\n\t/**\n\t * Derive Ed25519 keypair from mnemonicSeed and path.\n\t *\n\t * If path is none, it will default to m/44'/784'/0'/0'/0', otherwise the path must\n\t * be compliant to SLIP-0010 in form m/44'/784'/{account_index}'/{change_index}'/{address_index}'.\n\t */\n\tstatic deriveKeypairFromSeed(seedHex: string, path?: string): Ed25519Keypair {\n\t\tif (path == null) {\n\t\t\tpath = DEFAULT_ED25519_DERIVATION_PATH;\n\t\t}\n\t\tif (!isValidHardenedPath(path)) {\n\t\t\tthrow new Error('Invalid derivation path');\n\t\t}\n\t\tconst { key } = derivePath(path, seedHex);\n\n\t\treturn Ed25519Keypair.fromSecretKey(key);\n\t}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { fromBase64 } from "@mysten/bcs";
|
|
2
|
-
import
|
|
2
|
+
import { ed25519 } from "@noble/curves/ed25519";
|
|
3
3
|
import { bytesEqual, PublicKey } from "../../cryptography/publickey.js";
|
|
4
4
|
import { SIGNATURE_SCHEME_TO_FLAG } from "../../cryptography/signature-scheme.js";
|
|
5
5
|
import { parseSerializedSignature } from "../../cryptography/signature.js";
|
|
@@ -59,7 +59,7 @@ class Ed25519PublicKey extends PublicKey {
|
|
|
59
59
|
} else {
|
|
60
60
|
bytes = signature;
|
|
61
61
|
}
|
|
62
|
-
return
|
|
62
|
+
return ed25519.verify(bytes, message, this.toRawBytes());
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
Ed25519PublicKey.SIZE = PUBLIC_KEY_SIZE;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/keypairs/ed25519/publickey.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64 } from '@mysten/bcs';\nimport
|
|
5
|
-
"mappings": "AAGA,SAAS,kBAAkB;AAC3B,
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64 } from '@mysten/bcs';\nimport { ed25519 } from '@noble/curves/ed25519';\n\nimport type { PublicKeyInitData } from '../../cryptography/publickey.js';\nimport { bytesEqual, PublicKey } from '../../cryptography/publickey.js';\nimport { SIGNATURE_SCHEME_TO_FLAG } from '../../cryptography/signature-scheme.js';\nimport { parseSerializedSignature } from '../../cryptography/signature.js';\n\nconst PUBLIC_KEY_SIZE = 32;\n\n/**\n * An Ed25519 public key\n */\nexport class Ed25519PublicKey extends PublicKey {\n\tstatic SIZE = PUBLIC_KEY_SIZE;\n\tprivate data: Uint8Array;\n\n\t/**\n\t * Create a new Ed25519PublicKey object\n\t * @param value ed25519 public key as buffer or base-64 encoded string\n\t */\n\tconstructor(value: PublicKeyInitData) {\n\t\tsuper();\n\n\t\tif (typeof value === 'string') {\n\t\t\tthis.data = fromBase64(value);\n\t\t} else if (value instanceof Uint8Array) {\n\t\t\tthis.data = value;\n\t\t} else {\n\t\t\tthis.data = Uint8Array.from(value);\n\t\t}\n\n\t\tif (this.data.length !== PUBLIC_KEY_SIZE) {\n\t\t\tthrow new Error(\n\t\t\t\t`Invalid public key input. Expected ${PUBLIC_KEY_SIZE} bytes, got ${this.data.length}`,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Checks if two Ed25519 public keys are equal\n\t */\n\toverride equals(publicKey: Ed25519PublicKey): boolean {\n\t\treturn super.equals(publicKey);\n\t}\n\n\t/**\n\t * Return the byte array representation of the Ed25519 public key\n\t */\n\ttoRawBytes(): Uint8Array {\n\t\treturn this.data;\n\t}\n\n\t/**\n\t * Return the Sui address associated with this Ed25519 public key\n\t */\n\tflag(): number {\n\t\treturn SIGNATURE_SCHEME_TO_FLAG['ED25519'];\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided message\n\t */\n\tasync verify(message: Uint8Array, signature: Uint8Array | string): Promise<boolean> {\n\t\tlet bytes;\n\t\tif (typeof signature === 'string') {\n\t\t\tconst parsed = parseSerializedSignature(signature);\n\t\t\tif (parsed.signatureScheme !== 'ED25519') {\n\t\t\t\tthrow new Error('Invalid signature scheme');\n\t\t\t}\n\n\t\t\tif (!bytesEqual(this.toRawBytes(), parsed.publicKey)) {\n\t\t\t\tthrow new Error('Signature does not match public key');\n\t\t\t}\n\n\t\t\tbytes = parsed.signature;\n\t\t} else {\n\t\t\tbytes = signature;\n\t\t}\n\n\t\treturn ed25519.verify(bytes, message, this.toRawBytes());\n\t}\n}\n"],
|
|
5
|
+
"mappings": "AAGA,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AAGxB,SAAS,YAAY,iBAAiB;AACtC,SAAS,gCAAgC;AACzC,SAAS,gCAAgC;AAEzC,MAAM,kBAAkB;AAKjB,MAAM,yBAAyB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/C,YAAY,OAA0B;AACrC,UAAM;AAEN,QAAI,OAAO,UAAU,UAAU;AAC9B,WAAK,OAAO,WAAW,KAAK;AAAA,IAC7B,WAAW,iBAAiB,YAAY;AACvC,WAAK,OAAO;AAAA,IACb,OAAO;AACN,WAAK,OAAO,WAAW,KAAK,KAAK;AAAA,IAClC;AAEA,QAAI,KAAK,KAAK,WAAW,iBAAiB;AACzC,YAAM,IAAI;AAAA,QACT,sCAAsC,eAAe,eAAe,KAAK,KAAK,MAAM;AAAA,MACrF;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKS,OAAO,WAAsC;AACrD,WAAO,MAAM,OAAO,SAAS;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAKA,aAAyB;AACxB,WAAO,KAAK;AAAA,EACb;AAAA;AAAA;AAAA;AAAA,EAKA,OAAe;AACd,WAAO,yBAAyB,SAAS;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO,SAAqB,WAAkD;AACnF,QAAI;AACJ,QAAI,OAAO,cAAc,UAAU;AAClC,YAAM,SAAS,yBAAyB,SAAS;AACjD,UAAI,OAAO,oBAAoB,WAAW;AACzC,cAAM,IAAI,MAAM,0BAA0B;AAAA,MAC3C;AAEA,UAAI,CAAC,WAAW,KAAK,WAAW,GAAG,OAAO,SAAS,GAAG;AACrD,cAAM,IAAI,MAAM,qCAAqC;AAAA,MACtD;AAEA,cAAQ,OAAO;AAAA,IAChB,OAAO;AACN,cAAQ;AAAA,IACT;AAEA,WAAO,QAAQ,OAAO,OAAO,SAAS,KAAK,WAAW,CAAC;AAAA,EACxD;AACD;AArEa,iBACL,OAAO;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -49,7 +49,7 @@ export declare class PasskeyKeypair extends Signer {
|
|
|
49
49
|
* Return the signature for the provided data (i.e. blake2b(intent_message)).
|
|
50
50
|
* This is sent to passkey as the challenge field.
|
|
51
51
|
*/
|
|
52
|
-
sign(data: Uint8Array): Promise<Uint8Array
|
|
52
|
+
sign(data: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
|
|
53
53
|
/**
|
|
54
54
|
* This overrides the base class implementation that accepts the raw bytes and signs its
|
|
55
55
|
* digest of the intent message, then serialize it with the passkey flag.
|
|
@@ -21,7 +21,7 @@ DER structure for P-256 SPKI:
|
|
|
21
21
|
===== above bytes are considered header =====
|
|
22
22
|
04 || x || y -- uncompressed point (65 bytes: 0x04 || 32-byte x || 32-byte y)
|
|
23
23
|
*/
|
|
24
|
-
export declare const SECP256R1_SPKI_HEADER: Uint8Array
|
|
24
|
+
export declare const SECP256R1_SPKI_HEADER: Uint8Array<ArrayBuffer>;
|
|
25
25
|
/**
|
|
26
26
|
* A passkey public key
|
|
27
27
|
*/
|
|
@@ -64,9 +64,9 @@ export declare function parseDerSPKI(derBytes: Uint8Array): Uint8Array;
|
|
|
64
64
|
export declare function parseSerializedPasskeySignature(signature: Uint8Array | string): {
|
|
65
65
|
signatureScheme: "Passkey";
|
|
66
66
|
serializedSignature: string;
|
|
67
|
-
signature: Uint8Array
|
|
67
|
+
signature: Uint8Array<ArrayBufferLike>;
|
|
68
68
|
authenticatorData: number[];
|
|
69
69
|
clientDataJson: string;
|
|
70
|
-
userSignature: Uint8Array
|
|
71
|
-
publicKey: Uint8Array
|
|
70
|
+
userSignature: Uint8Array<ArrayBuffer>;
|
|
71
|
+
publicKey: Uint8Array<ArrayBuffer>;
|
|
72
72
|
};
|
|
@@ -61,7 +61,7 @@ export declare class Secp256k1Keypair extends Keypair {
|
|
|
61
61
|
/**
|
|
62
62
|
* Return the signature for the provided data.
|
|
63
63
|
*/
|
|
64
|
-
sign(data: Uint8Array): Promise<Uint8Array
|
|
64
|
+
sign(data: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
|
|
65
65
|
/**
|
|
66
66
|
* Derive Secp256k1 keypair from mnemonics and path. The mnemonics must be normalized
|
|
67
67
|
* and validated against the english wordlist.
|
|
@@ -61,7 +61,7 @@ export declare class Secp256r1Keypair extends Keypair {
|
|
|
61
61
|
/**
|
|
62
62
|
* Return the signature for the provided data.
|
|
63
63
|
*/
|
|
64
|
-
sign(data: Uint8Array): Promise<Uint8Array
|
|
64
|
+
sign(data: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
|
|
65
65
|
/**
|
|
66
66
|
* Derive Secp256r1 keypair from mnemonics and path. The mnemonics must be normalized
|
|
67
67
|
* and validated against the english wordlist.
|