@kshan0515/frost-node-binding 0.1.0 → 0.2.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.
- package/index.d.ts +59 -45
- package/package.json +10 -8
package/index.d.ts
CHANGED
|
@@ -1,69 +1,83 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
|
|
4
|
-
/* auto-generated by NAPI-RS */
|
|
5
|
-
|
|
6
4
|
export interface DkgPart1Output {
|
|
7
|
-
secretPackage:
|
|
8
|
-
round1Package:
|
|
5
|
+
secretPackage: Buffer
|
|
6
|
+
round1Package: Buffer
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface DkgPart1HandleOutput {
|
|
10
|
+
secretPackage: unknown
|
|
11
|
+
round1Package: Buffer
|
|
9
12
|
}
|
|
13
|
+
|
|
10
14
|
export interface DkgPart2Output {
|
|
11
|
-
secretPackage:
|
|
12
|
-
round2Packages: Record<string,
|
|
15
|
+
secretPackage: Buffer
|
|
16
|
+
round2Packages: Record<string, Buffer>
|
|
13
17
|
}
|
|
18
|
+
|
|
19
|
+
export interface DkgPart2HandleOutput {
|
|
20
|
+
secretPackage: unknown
|
|
21
|
+
round2Packages: Record<string, Buffer>
|
|
22
|
+
}
|
|
23
|
+
|
|
14
24
|
export interface DkgPart3Output {
|
|
15
|
-
keyPackage:
|
|
16
|
-
pubkeyPackage:
|
|
25
|
+
keyPackage: Buffer
|
|
26
|
+
pubkeyPackage: Buffer
|
|
17
27
|
}
|
|
28
|
+
|
|
29
|
+
export interface DkgPart3HandleOutput {
|
|
30
|
+
keyPackage: unknown
|
|
31
|
+
pubkeyPackage: Buffer
|
|
32
|
+
}
|
|
33
|
+
|
|
18
34
|
export interface SignPart1Output {
|
|
19
|
-
nonces:
|
|
20
|
-
commitments:
|
|
35
|
+
nonces: Buffer
|
|
36
|
+
commitments: Buffer
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export interface SignPart1HandleOutput {
|
|
40
|
+
nonces: unknown
|
|
41
|
+
commitments: Buffer
|
|
21
42
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
* DKG 1단계: Round 1 패키지(Commitment) 생성
|
|
25
|
-
* { secret_package, round1_package } 반환 (둘 다 bincode로 직렬화됨)
|
|
26
|
-
*/
|
|
43
|
+
|
|
44
|
+
export class FrostDkgState {
|
|
27
45
|
static dkgPart1(partyId: number, maxSigners: number, minSigners: number): DkgPart1Output
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
static
|
|
34
|
-
/** DKG 3단계: 최종 완료 */
|
|
35
|
-
static dkgPart3(secretPackageBin: Array<number>, round1PackagesMap: Record<string, Array<number>>, round2PackagesMap: Record<string, Array<number>>): DkgPart3Output
|
|
36
|
-
/** PublicKeyPackage에서 공개키 바이트(32바이트)를 추출하는 헬퍼 함수 */
|
|
37
|
-
static getPublicKeyBytes(pubkeyPackageBin: Array<number>): Array<number>
|
|
38
|
-
/** 주어진 파티 ID에 대한 직렬화된 식별자(hex)를 가져오는 헬퍼 함수 */
|
|
46
|
+
static dkgPart1Handle(partyId: number, maxSigners: number, minSigners: number): DkgPart1HandleOutput
|
|
47
|
+
static dkgPart2(secretPackageBin: Buffer, round1PackagesMap: Record<string, Buffer>): DkgPart2Output
|
|
48
|
+
static dkgPart2Handle(secretPackage: unknown, round1PackagesMap: Record<string, Buffer>): DkgPart2HandleOutput
|
|
49
|
+
static dkgPart3(secretPackageBin: Buffer, round1PackagesMap: Record<string, Buffer>, round2PackagesMap: Record<string, Buffer>): DkgPart3Output
|
|
50
|
+
static dkgPart3Handle(secretPackage: unknown, round1PackagesMap: Record<string, Buffer>, round2PackagesMap: Record<string, Buffer>): DkgPart3HandleOutput
|
|
51
|
+
static getPublicKeyBytes(pubkeyPackageBin: Buffer): Buffer
|
|
39
52
|
static getIdentifier(partyId: number): string
|
|
40
53
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
static
|
|
48
|
-
|
|
49
|
-
* 서명 2단계: 부분 서명 생성 (Partial Sign)
|
|
50
|
-
* 입력: signing_package (Public), nonces (Secret), key_package (Secret)
|
|
51
|
-
* 반환: signature_share
|
|
52
|
-
*/
|
|
53
|
-
static signPart2(signingPackageBin: Array<number>, noncesBin: Array<number>, keyPackageBin: Array<number>): Array<number>
|
|
54
|
-
/** 메시지와 Commitments 맵으로부터 SigningPackage를 생성하는 헬퍼 함수 */
|
|
55
|
-
static createSigningPackage(message: Array<number>, commitmentsMap: Record<string, Array<number>>): Array<number>
|
|
56
|
-
/** 서명 조각들을 합쳐서 최종 서명 생성 (Aggregate) */
|
|
57
|
-
static aggregate(signingPackageBin: Array<number>, signatureSharesMap: Record<string, Array<number>>, pubkeyPackageBin: Array<number>): Array<number>
|
|
54
|
+
|
|
55
|
+
export class FrostSigningState {
|
|
56
|
+
static signPart1(keyPackageBin: Buffer): SignPart1Output
|
|
57
|
+
static signPart1Handle(keyPackage: unknown): SignPart1HandleOutput
|
|
58
|
+
static signPart2(signingPackageBin: Buffer, noncesBin: Buffer, keyPackageBin: Buffer): Buffer
|
|
59
|
+
static signPart2Handle(signingPackageBin: Buffer, nonces: unknown, keyPackage: unknown): Buffer
|
|
60
|
+
static createSigningPackage(message: Buffer, commitmentsMap: Record<string, Buffer>): Buffer
|
|
61
|
+
static aggregate(signingPackageBin: Buffer, signatureSharesMap: Record<string, Buffer>, pubkeyPackageBin: Buffer): Buffer
|
|
58
62
|
}
|
|
59
|
-
|
|
63
|
+
|
|
64
|
+
export class FrostExecutor {
|
|
60
65
|
constructor(partyId: number, numSigners: number, threshold: number)
|
|
66
|
+
isDestroyed(): boolean
|
|
67
|
+
is_destroyed(): boolean
|
|
68
|
+
destroy(): void
|
|
61
69
|
startKeygen(): Buffer
|
|
62
|
-
startSigning(message: Buffer, signers?: Array<number> |
|
|
70
|
+
startSigning(message: Buffer, signers?: Array<number> | null): Buffer
|
|
63
71
|
step(inputs: Array<Buffer>): Array<Buffer>
|
|
72
|
+
stepAsync(inputs: Array<Buffer>): Promise<Array<Buffer>>
|
|
73
|
+
step_async(inputs: Array<Buffer>): Promise<Array<Buffer>>
|
|
64
74
|
getPublicKeyBytes(): Buffer
|
|
65
75
|
getSignature(): Buffer
|
|
66
76
|
exportKeyshare(): Buffer
|
|
67
77
|
importKeyshare(data: Buffer): void
|
|
78
|
+
exportKeyshareHandle(): unknown
|
|
79
|
+
importKeyshareHandle(handle: unknown): void
|
|
80
|
+
exportKeyPackageHandle(): unknown
|
|
81
|
+
importKeyPackageHandle(handle: unknown, pubkeyPackageBin?: Buffer | null): void
|
|
68
82
|
static getIdentifierBytes(partyId: number): Buffer
|
|
69
83
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kshan0515/frost-node-binding",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Node.js native binding for FROST Ed25519 MPC protocol - Distributed key generation and threshold signing",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -43,6 +43,8 @@
|
|
|
43
43
|
"artifacts": "napi artifacts",
|
|
44
44
|
"build": "napi build --platform --release",
|
|
45
45
|
"build:debug": "napi build --platform",
|
|
46
|
+
"postbuild": "node -e \"require('fs').copyFileSync('index.d.copy.ts', 'index.d.ts')\"",
|
|
47
|
+
"postbuild:debug": "node -e \"require('fs').copyFileSync('index.d.copy.ts', 'index.d.ts')\"",
|
|
46
48
|
"prepublishOnly": "napi prepublish -t npm",
|
|
47
49
|
"test": "jest",
|
|
48
50
|
"universal": "napi universal",
|
|
@@ -61,11 +63,11 @@
|
|
|
61
63
|
"index.d.ts"
|
|
62
64
|
],
|
|
63
65
|
"optionalDependencies": {
|
|
64
|
-
"@kshan0515/frost-node-binding-darwin-arm64": "0.
|
|
65
|
-
"@kshan0515/frost-node-binding-darwin-x64": "0.
|
|
66
|
-
"@kshan0515/frost-node-binding-linux-x64-gnu": "0.
|
|
67
|
-
"@kshan0515/frost-node-binding-linux-x64-musl": "0.
|
|
68
|
-
"@kshan0515/frost-node-binding-linux-arm64-gnu": "0.
|
|
69
|
-
"@kshan0515/frost-node-binding-win32-x64-msvc": "0.
|
|
66
|
+
"@kshan0515/frost-node-binding-darwin-arm64": "0.2.0",
|
|
67
|
+
"@kshan0515/frost-node-binding-darwin-x64": "0.2.0",
|
|
68
|
+
"@kshan0515/frost-node-binding-linux-x64-gnu": "0.2.0",
|
|
69
|
+
"@kshan0515/frost-node-binding-linux-x64-musl": "0.2.0",
|
|
70
|
+
"@kshan0515/frost-node-binding-linux-arm64-gnu": "0.2.0",
|
|
71
|
+
"@kshan0515/frost-node-binding-win32-x64-msvc": "0.2.0"
|
|
70
72
|
}
|
|
71
|
-
}
|
|
73
|
+
}
|