signify-ts 0.1.0 → 0.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/README.md +48 -1
- package/dist/index.d.ts +3 -1
- package/dist/keri/app/accountant.d.ts +10 -0
- package/dist/keri/app/apping.d.ts +1 -0
- package/dist/keri/app/client.d.ts +7 -0
- package/dist/keri/app/habery.d.ts +47 -0
- package/dist/keri/app/signify.d.ts +6 -0
- package/dist/keri/core/authing.d.ts +9 -0
- package/dist/keri/core/cigar.d.ts +3 -3
- package/dist/keri/core/core.d.ts +19 -34
- package/dist/keri/core/counter.d.ts +43 -0
- package/dist/keri/core/eventing.d.ts +21 -0
- package/dist/keri/core/httping.d.ts +34 -0
- package/dist/keri/core/manager.d.ts +38 -17
- package/dist/keri/core/matter.d.ts +23 -1
- package/dist/keri/core/number.d.ts +6 -0
- package/dist/keri/core/prefixer.d.ts +15 -0
- package/dist/keri/core/saider.d.ts +23 -0
- package/dist/keri/core/salter.d.ts +23 -0
- package/dist/keri/core/serder.d.ts +23 -0
- package/dist/keri/core/siger.d.ts +1 -1
- package/dist/keri/core/signer.d.ts +2 -2
- package/dist/keri/core/tholder.d.ts +14 -0
- package/dist/keri/core/utils.d.ts +2 -1
- package/dist/keri/core/verfer.d.ts +12 -0
- package/dist/keri/end/ending.d.ts +13 -0
- package/dist/signify-ts.cjs.development.js +3380 -5
- package/dist/signify-ts.cjs.development.js.map +1 -1
- package/dist/signify-ts.cjs.production.min.js +1 -1
- package/dist/signify-ts.cjs.production.min.js.map +1 -1
- package/dist/signify-ts.esm.js +3365 -5
- package/dist/signify-ts.esm.js.map +1 -1
- package/package.json +4 -2
- package/src/index.ts +5 -6
- package/src/keri/app/accountant.ts +35 -0
- package/src/keri/app/apping.ts +12 -0
- package/src/keri/app/client.ts +30 -0
- package/src/keri/app/habery.ts +152 -0
- package/src/keri/app/signify.ts +12 -0
- package/src/keri/app/tsconfig.json +100 -0
- package/src/keri/core/authing.ts +129 -0
- package/src/keri/core/cigar.ts +4 -4
- package/src/keri/core/core.ts +53 -43
- package/src/keri/core/counter.ts +207 -0
- package/src/keri/core/diger.ts +5 -5
- package/src/keri/core/eventing.ts +219 -0
- package/src/keri/core/httping.ts +163 -0
- package/src/keri/core/indexer.ts +2 -1
- package/src/keri/core/keeping.ts +0 -1
- package/src/keri/core/manager.ts +238 -90
- package/src/keri/core/matter.ts +46 -11
- package/src/keri/core/number.ts +21 -0
- package/src/keri/core/prefixer.ts +212 -0
- package/src/keri/core/saider.ts +158 -0
- package/src/keri/core/salter.ts +9 -5
- package/src/keri/core/serder.ts +99 -0
- package/src/keri/core/siger.ts +2 -2
- package/src/keri/core/signer.ts +4 -3
- package/src/keri/core/tholder.ts +52 -0
- package/src/keri/core/tsconfig.json +2 -2
- package/src/keri/core/utils.ts +10 -6
- package/src/keri/core/verfer.ts +6 -5
- package/src/keri/end/ending.ts +160 -0
- package/src/keri/end/tsconfig.json +100 -0
package/README.md
CHANGED
|
@@ -16,10 +16,57 @@ Of the five functions in a KERI agent,
|
|
|
16
16
|
|
|
17
17
|
Signify-TS splits off two, key generation and event signing into a TypeScript library to provide "signing at the edge".
|
|
18
18
|
It accomplishes this by using libsodium to generate ed25510 key pairs for signing and x25519 key pairs for encrypting the
|
|
19
|
-
private keys, next public keys
|
|
19
|
+
private keys, next public keys and salts used to generate the private keys. The encrypted private key and salts are then stored on a
|
|
20
20
|
remote cloud agent the never has access to the decryption keys. New key pair sets (current and next) will be generated
|
|
21
21
|
for inception and rotation events with only the public keys and blake3 hash of next keys made available to the agent.
|
|
22
22
|
|
|
23
23
|
The communication protocol between a Signify client and KERI agent will encode all cryptographic primitives as CESR base64
|
|
24
24
|
encoded strings for the initial implementation. Support for binary CESR can be added in the future.
|
|
25
25
|
|
|
26
|
+
|
|
27
|
+
Account Creation Workflow
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
sequenceDiagram
|
|
31
|
+
actor u as User
|
|
32
|
+
participant s as Signify
|
|
33
|
+
participant c as Cloud Agent
|
|
34
|
+
u ->> s: Create Account
|
|
35
|
+
s ->> s: Generate Pub/Pri Keys
|
|
36
|
+
s ->>+ c: Request ICP Event Creation with Keys
|
|
37
|
+
note over s,c: This call can not be secured
|
|
38
|
+
note right of c: Creates ICP Event
|
|
39
|
+
c ->>- s: Return ICP event
|
|
40
|
+
s ->>+ c: Create Account with Signed ICP Event
|
|
41
|
+
note over s,c: Call Signed by new Keys
|
|
42
|
+
note right of c: Parses and Saves ICP
|
|
43
|
+
note right of c: Create Account with new AID
|
|
44
|
+
c ->>- s: Return New Account KeyState
|
|
45
|
+
s ->>+ c: Save Key Information
|
|
46
|
+
c ->>- s: Key Information Saved
|
|
47
|
+
s ->> u: Return New Account Information
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
sequenceDiagram
|
|
51
|
+
actor u as User
|
|
52
|
+
participant a as Web Page App
|
|
53
|
+
participant s as Signify
|
|
54
|
+
participant c as Cloud Agent
|
|
55
|
+
u ->> a: Create Account
|
|
56
|
+
a ->>+ s: Generate Pub/Pri Keys
|
|
57
|
+
s ->>- a: Return new Pub/Pri Keypair
|
|
58
|
+
a ->>+ c: Request ICP Event Creation with Keys
|
|
59
|
+
note over s,c: This call can not be secured
|
|
60
|
+
note right of c: Creates ICP Event
|
|
61
|
+
c ->>- a: Return ICP event
|
|
62
|
+
a ->>+ s: Sign ICP Event
|
|
63
|
+
s ->>- a: Return Signed Event
|
|
64
|
+
a ->>+ c: Create Account with Signed ICP Event
|
|
65
|
+
note over s,c: Call Signed by new Keys
|
|
66
|
+
note right of c: Parses and Saves ICP
|
|
67
|
+
note right of c: Create Account with new AID
|
|
68
|
+
c ->>- a: Return New Account KeyState
|
|
69
|
+
a ->>+ s: Save Key Information
|
|
70
|
+
s ->>+ c: Save Key Information
|
|
71
|
+
c ->>- s: Key Information Saved
|
|
72
|
+
a ->> u: Return New Account Information
|
package/dist/index.d.ts
CHANGED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Manager } from "../core/manager";
|
|
2
|
+
export declare class Accountant {
|
|
3
|
+
private readonly _agentKey;
|
|
4
|
+
private readonly _mgr;
|
|
5
|
+
private readonly _ready;
|
|
6
|
+
constructor(mgr: Manager, agentKey: string);
|
|
7
|
+
get ready(): Promise<void>;
|
|
8
|
+
sign(): Manager;
|
|
9
|
+
verify(): string;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function randomPasscode(): string;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Manager } from "../core/manager";
|
|
2
|
+
import { Serder } from "../core/serder";
|
|
3
|
+
export declare class TraitCodex {
|
|
4
|
+
EstOnly: string;
|
|
5
|
+
DoNotDelegate: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const TraitDex: TraitCodex;
|
|
8
|
+
export interface HaberyArgs {
|
|
9
|
+
name: string;
|
|
10
|
+
passcode?: string;
|
|
11
|
+
seed?: string | undefined;
|
|
12
|
+
aeid?: string | undefined;
|
|
13
|
+
pidx?: number | undefined;
|
|
14
|
+
salt?: string | undefined;
|
|
15
|
+
tier?: string | undefined;
|
|
16
|
+
}
|
|
17
|
+
export interface MakeHabArgs {
|
|
18
|
+
code?: string;
|
|
19
|
+
transferable?: boolean;
|
|
20
|
+
isith?: string;
|
|
21
|
+
icount?: number;
|
|
22
|
+
nsith?: string;
|
|
23
|
+
ncount?: number;
|
|
24
|
+
toad?: string | number;
|
|
25
|
+
wits?: Array<string>;
|
|
26
|
+
delpre?: string;
|
|
27
|
+
estOnly?: boolean;
|
|
28
|
+
DnD?: boolean;
|
|
29
|
+
data?: any;
|
|
30
|
+
}
|
|
31
|
+
export declare class Hab {
|
|
32
|
+
name: string;
|
|
33
|
+
serder: Serder;
|
|
34
|
+
constructor(name: string, icp: Serder);
|
|
35
|
+
get pre(): string;
|
|
36
|
+
}
|
|
37
|
+
export declare class Habery {
|
|
38
|
+
private readonly _name;
|
|
39
|
+
private readonly _mgr;
|
|
40
|
+
private readonly _habs;
|
|
41
|
+
constructor({ name, passcode, seed, aeid, pidx, salt }: HaberyArgs);
|
|
42
|
+
get mgr(): Manager;
|
|
43
|
+
get habs(): Array<Hab>;
|
|
44
|
+
habByName(name: string): Hab | undefined;
|
|
45
|
+
makeHab(name: string, { code, transferable, isith, icount, nsith, ncount, toad, wits, delpre, estOnly, DnD, data }: MakeHabArgs): Hab;
|
|
46
|
+
get name(): string;
|
|
47
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Signer } from "./signer";
|
|
2
|
+
export declare class Authenticater {
|
|
3
|
+
static DefaultFields: string[];
|
|
4
|
+
private _verfer;
|
|
5
|
+
private readonly _csig;
|
|
6
|
+
constructor(csig: Signer, aaid: string);
|
|
7
|
+
verify(headers: Headers, method: string, path: string): boolean;
|
|
8
|
+
sign(headers: Headers, method: string, path: string, fields?: Array<string>): Headers;
|
|
9
|
+
}
|
|
@@ -2,7 +2,7 @@ import { Verfer } from "./verfer";
|
|
|
2
2
|
import { Matter, MatterArgs } from "./matter";
|
|
3
3
|
export declare class Cigar extends Matter {
|
|
4
4
|
private _verfer;
|
|
5
|
-
constructor({ raw, code, qb64, qb64b, qb2 }: MatterArgs, verfer
|
|
6
|
-
get verfer(): Verfer;
|
|
7
|
-
set verfer(verfer: Verfer);
|
|
5
|
+
constructor({ raw, code, qb64, qb64b, qb2 }: MatterArgs, verfer?: Verfer);
|
|
6
|
+
get verfer(): Verfer | undefined;
|
|
7
|
+
set verfer(verfer: Verfer | undefined);
|
|
8
8
|
}
|
package/dist/keri/core/core.d.ts
CHANGED
|
@@ -1,25 +1,15 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
|
|
1
|
+
export declare enum Serials {
|
|
2
|
+
JSON = "JSON"
|
|
3
|
+
}
|
|
4
|
+
export declare enum Ident {
|
|
5
|
+
KERI = "KERI"
|
|
6
|
+
}
|
|
7
|
+
export declare class Version {
|
|
3
8
|
major: number;
|
|
4
9
|
minor: number;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
mgpk: string;
|
|
9
|
-
cbor: string;
|
|
10
|
-
};
|
|
11
|
-
export declare const Vstrings: {
|
|
12
|
-
json: string;
|
|
13
|
-
mgpk: string;
|
|
14
|
-
cbor: string;
|
|
15
|
-
};
|
|
16
|
-
export declare const Serials: {
|
|
17
|
-
json: string;
|
|
18
|
-
mgpk: string;
|
|
19
|
-
cbor: string;
|
|
20
|
-
};
|
|
21
|
-
export declare const IcpExcludes: string[];
|
|
22
|
-
export declare const DipExcludes: string[];
|
|
10
|
+
constructor(major?: number, minor?: number);
|
|
11
|
+
}
|
|
12
|
+
export declare const Versionage: Version;
|
|
23
13
|
export declare const Ilks: {
|
|
24
14
|
icp: string;
|
|
25
15
|
rot: string;
|
|
@@ -39,30 +29,25 @@ export declare const RpyLabels: string[];
|
|
|
39
29
|
export declare const VERFULLSIZE = 17;
|
|
40
30
|
export declare const MINSNIFFSIZE: number;
|
|
41
31
|
export declare const MINSIGSIZE = 4;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
major: number;
|
|
47
|
-
minor: number;
|
|
48
|
-
}, kind: string | undefined, size: number): string;
|
|
49
|
-
export declare const VEREX = "KERI([0-9a-f])([0-9a-f])([A-Z]{4})([0-9a-f]{6})";
|
|
32
|
+
export declare const VEREX = "KERI([0-9a-f])([0-9a-f])([A-Z]{4})([0-9a-f]{6})_";
|
|
33
|
+
export interface Dict<TValue> {
|
|
34
|
+
[id: string]: TValue;
|
|
35
|
+
}
|
|
50
36
|
/**
|
|
51
37
|
* @description This function is use to deversify the version
|
|
52
38
|
* Here we will use regex to to validate and extract serialization kind,size and version
|
|
53
|
-
* @param {string}
|
|
39
|
+
* @param {string} versionString version string
|
|
54
40
|
* @return {Object} contaning kind of serialization like cbor,json,mgpk
|
|
55
41
|
* version = version of object ,size = raw size integer
|
|
56
42
|
*/
|
|
57
|
-
export declare function deversify(versionString: string):
|
|
58
|
-
|
|
59
|
-
minor: number;
|
|
60
|
-
})[];
|
|
43
|
+
export declare function deversify(versionString: string): [Serials, Version, string];
|
|
44
|
+
export declare function versify(ident?: Ident, version?: Version, kind?: Serials, size?: number): string;
|
|
61
45
|
export declare const B64ChrByIdx: Map<number, string>;
|
|
62
46
|
export declare const B64IdxByChr: Map<string, number>;
|
|
63
|
-
export declare function intToB64(i: number
|
|
47
|
+
export declare function intToB64(i: number, l?: number): string;
|
|
64
48
|
export declare function intToB64b(n: number, l?: number): Uint8Array;
|
|
65
49
|
export declare function b64ToInt(s: string): number;
|
|
66
50
|
export declare function b(s?: string): Uint8Array;
|
|
67
51
|
export declare function d(u?: Uint8Array): string;
|
|
52
|
+
export declare function concat(one: Uint8Array, two: Uint8Array): Uint8Array;
|
|
68
53
|
export declare function readInt(array: Uint8Array): number;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Codex, Sizage } from "./matter";
|
|
2
|
+
export interface CounterArgs {
|
|
3
|
+
code?: string;
|
|
4
|
+
count?: number;
|
|
5
|
+
countB64?: string;
|
|
6
|
+
qb64b?: Uint8Array;
|
|
7
|
+
qb64?: string;
|
|
8
|
+
qb2?: Uint8Array;
|
|
9
|
+
strip?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare class CounterCodex extends Codex {
|
|
12
|
+
ControllerIdxSigs: string;
|
|
13
|
+
WitnessIdxSigs: string;
|
|
14
|
+
NonTransReceiptCouples: string;
|
|
15
|
+
TransReceiptQuadruples: string;
|
|
16
|
+
FirstSeenReplayCouples: string;
|
|
17
|
+
TransIdxSigGroups: string;
|
|
18
|
+
SealSourceCouples: string;
|
|
19
|
+
TransLastIdxSigGroups: string;
|
|
20
|
+
SealSourceTriples: string;
|
|
21
|
+
SadPathSig: string;
|
|
22
|
+
SadPathSigGroup: string;
|
|
23
|
+
PathedMaterialQuadlets: string;
|
|
24
|
+
AttachedMaterialQuadlets: string;
|
|
25
|
+
BigAttachedMaterialQuadlets: string;
|
|
26
|
+
KERIProtocolStack: string;
|
|
27
|
+
}
|
|
28
|
+
export declare const CtrDex: CounterCodex;
|
|
29
|
+
export declare class Counter {
|
|
30
|
+
static Sizes: Map<string, Sizage>;
|
|
31
|
+
static Hards: Map<string, number>;
|
|
32
|
+
private _code;
|
|
33
|
+
private _count;
|
|
34
|
+
constructor({ code, count, countB64, qb64b, qb64, qb2 }: CounterArgs);
|
|
35
|
+
get code(): string;
|
|
36
|
+
get count(): number;
|
|
37
|
+
get qb64(): string;
|
|
38
|
+
get qb64b(): Uint8Array;
|
|
39
|
+
countToB64(l?: number): string;
|
|
40
|
+
static semVerToB64(version?: string, major?: number, minor?: number, patch?: number): string;
|
|
41
|
+
private _infil;
|
|
42
|
+
private _exfil;
|
|
43
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Serials, Version } from "./core";
|
|
2
|
+
import { Serder } from "./serder";
|
|
3
|
+
import { Siger } from "./siger";
|
|
4
|
+
import { Cigar } from "./cigar";
|
|
5
|
+
export interface InceptArgs {
|
|
6
|
+
keys: Array<string>;
|
|
7
|
+
isith?: number | string | Array<string>;
|
|
8
|
+
ndigs?: Array<string>;
|
|
9
|
+
nsith?: number | string | Array<string>;
|
|
10
|
+
toad?: number | string;
|
|
11
|
+
wits?: Array<string>;
|
|
12
|
+
cnfg?: Array<string>;
|
|
13
|
+
data?: Array<object>;
|
|
14
|
+
version?: Version;
|
|
15
|
+
kind?: Serials;
|
|
16
|
+
code?: string;
|
|
17
|
+
intive?: boolean;
|
|
18
|
+
delpre?: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function incept({ keys, isith, ndigs, nsith, toad, wits, cnfg, data, version, kind, code, intive, delpre }: InceptArgs): Serder;
|
|
21
|
+
export declare function messagize(serder: Serder, sigers?: Array<Siger>, seal?: any, wigers?: Array<Cigar>, cigars?: Array<Cigar>, pipelined?: boolean): Uint8Array;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Signer } from "./signer";
|
|
2
|
+
import { Cigar } from "./cigar";
|
|
3
|
+
import { Siger } from "./siger";
|
|
4
|
+
export declare function normalize(header: string): string;
|
|
5
|
+
export interface SiginputArgs {
|
|
6
|
+
name: string;
|
|
7
|
+
method: string;
|
|
8
|
+
path: string;
|
|
9
|
+
headers: Headers;
|
|
10
|
+
fields: Array<string>;
|
|
11
|
+
expires?: number;
|
|
12
|
+
nonce?: string;
|
|
13
|
+
alg?: string;
|
|
14
|
+
keyid?: string;
|
|
15
|
+
context?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function siginput(signer: Signer, { name, method, path, headers, fields, expires, nonce, alg, keyid, context }: SiginputArgs): [Map<string, string>, Siger | Cigar];
|
|
18
|
+
export declare class Unqualified {
|
|
19
|
+
private readonly _raw;
|
|
20
|
+
constructor(raw: Uint8Array);
|
|
21
|
+
get qb64(): string;
|
|
22
|
+
get qb64b(): Uint8Array;
|
|
23
|
+
}
|
|
24
|
+
export declare class Inputage {
|
|
25
|
+
name: any;
|
|
26
|
+
fields: any;
|
|
27
|
+
created: any;
|
|
28
|
+
expires: any;
|
|
29
|
+
nonce: any;
|
|
30
|
+
alg: any;
|
|
31
|
+
keyid: any;
|
|
32
|
+
context: any;
|
|
33
|
+
}
|
|
34
|
+
export declare function desiginput(value: string): Array<Inputage>;
|
|
@@ -31,11 +31,27 @@ declare class PrePrm {
|
|
|
31
31
|
declare class PubSet {
|
|
32
32
|
pubs: Array<string>;
|
|
33
33
|
}
|
|
34
|
+
declare class PubPath {
|
|
35
|
+
path: string;
|
|
36
|
+
code: string;
|
|
37
|
+
tier: string;
|
|
38
|
+
temp: boolean;
|
|
39
|
+
}
|
|
40
|
+
declare class Keys {
|
|
41
|
+
private readonly _signers;
|
|
42
|
+
private readonly _paths?;
|
|
43
|
+
constructor(signers: Array<Signer>, paths?: Array<string>);
|
|
44
|
+
get paths(): Array<string> | undefined;
|
|
45
|
+
get signers(): Array<Signer>;
|
|
46
|
+
}
|
|
34
47
|
export interface Creator {
|
|
35
|
-
create(codes: Array<string> | undefined, count: number, code: string, transferable: boolean, pidx: number, ridx: number, kidx: number, temp: boolean):
|
|
48
|
+
create(codes: Array<string> | undefined, count: number, code: string, transferable: boolean, pidx: number, ridx: number, kidx: number, temp: boolean): Keys;
|
|
49
|
+
salt: string;
|
|
50
|
+
stem: string;
|
|
51
|
+
tier: Tier;
|
|
36
52
|
}
|
|
37
53
|
export declare class RandyCreator implements Creator {
|
|
38
|
-
create(codes?: Array<string> | undefined, count?: number, code?: string, transferable?: boolean):
|
|
54
|
+
create(codes?: Array<string> | undefined, count?: number, code?: string, transferable?: boolean): Keys;
|
|
39
55
|
get salt(): string;
|
|
40
56
|
get stem(): string;
|
|
41
57
|
get tier(): Tier;
|
|
@@ -47,25 +63,26 @@ export declare class SaltyCreator implements Creator {
|
|
|
47
63
|
get salt(): string;
|
|
48
64
|
get stem(): string;
|
|
49
65
|
get tier(): Tier;
|
|
50
|
-
create(codes?: Array<string> | undefined, count?: number, code?: string, transferable?: boolean, pidx?: number, ridx?: number, kidx?: number, temp?: boolean):
|
|
66
|
+
create(codes?: Array<string> | undefined, count?: number, code?: string, transferable?: boolean, pidx?: number, ridx?: number, kidx?: number, temp?: boolean): Keys;
|
|
51
67
|
}
|
|
52
68
|
export declare class Creatory {
|
|
53
|
-
private _make;
|
|
69
|
+
private readonly _make;
|
|
54
70
|
constructor(algo?: Algos);
|
|
55
|
-
make(...args: any[]):
|
|
56
|
-
_makeRandy():
|
|
57
|
-
_makeSalty(...args: any[]):
|
|
71
|
+
make(...args: any[]): Creator;
|
|
72
|
+
_makeRandy(): Creator;
|
|
73
|
+
_makeSalty(...args: any[]): Creator;
|
|
58
74
|
}
|
|
75
|
+
export declare function openManager(passcode: string, salt?: string): Manager;
|
|
59
76
|
export interface ManagerArgs {
|
|
60
77
|
ks?: KeyStore | undefined;
|
|
61
78
|
seed?: string | undefined;
|
|
62
79
|
aeid?: string | undefined;
|
|
63
80
|
pidx?: number | undefined;
|
|
64
|
-
algo?:
|
|
81
|
+
algo?: Algos | undefined;
|
|
65
82
|
salt?: string | undefined;
|
|
66
83
|
tier?: string | undefined;
|
|
67
84
|
}
|
|
68
|
-
interface InceptArgs {
|
|
85
|
+
export interface InceptArgs {
|
|
69
86
|
icodes?: any | undefined;
|
|
70
87
|
icount?: number;
|
|
71
88
|
icode?: string;
|
|
@@ -100,15 +117,16 @@ interface SignArgs {
|
|
|
100
117
|
ondices?: Array<number> | undefined;
|
|
101
118
|
}
|
|
102
119
|
export declare class Manager {
|
|
103
|
-
private _seed
|
|
120
|
+
private _seed?;
|
|
121
|
+
private _salt?;
|
|
104
122
|
private _encrypter;
|
|
105
123
|
private _decrypter;
|
|
106
|
-
private _ks;
|
|
124
|
+
private readonly _ks;
|
|
107
125
|
constructor({ ks, seed, aeid, pidx, algo, salt, tier }: ManagerArgs);
|
|
108
126
|
get ks(): KeyStore;
|
|
109
|
-
get encrypter(): Encrypter;
|
|
110
|
-
get decrypter(): Decrypter;
|
|
111
|
-
get seed(): string;
|
|
127
|
+
get encrypter(): Encrypter | undefined;
|
|
128
|
+
get decrypter(): Decrypter | undefined;
|
|
129
|
+
get seed(): string | undefined;
|
|
112
130
|
get aeid(): string | undefined;
|
|
113
131
|
get pidx(): number | undefined;
|
|
114
132
|
set pidx(pidx: number | undefined);
|
|
@@ -117,11 +135,11 @@ export declare class Manager {
|
|
|
117
135
|
get tier(): string | undefined;
|
|
118
136
|
set tier(tier: string | undefined);
|
|
119
137
|
get algo(): Algos | undefined;
|
|
120
|
-
set algo(algo:
|
|
138
|
+
set algo(algo: Algos | undefined);
|
|
121
139
|
private updateAeid;
|
|
122
140
|
incept({ icodes, icount, icode, ncodes, ncount, ncode, dcode, algo, salt, stem, tier, rooted, transferable, temp }: InceptArgs): [Array<Verfer>, Array<Diger>];
|
|
123
141
|
move(old: string, gnu: string): void;
|
|
124
|
-
rotate({ pre, ncodes, ncount, ncode, dcode, transferable, temp, erase }: RotateArgs):
|
|
142
|
+
rotate({ pre, ncodes, ncount, ncode, dcode, transferable, temp, erase }: RotateArgs): [Array<Verfer>, Array<Diger>];
|
|
125
143
|
sign({ ser, pubs, verfers, indexed, indices, ondices }: SignArgs): Siger[] | Cigar[];
|
|
126
144
|
}
|
|
127
145
|
export declare function riKey(pre: string, ridx: number): string;
|
|
@@ -137,6 +155,10 @@ export interface KeyStore {
|
|
|
137
155
|
getPris(keys: string, decrypter: Decrypter): Signer | undefined;
|
|
138
156
|
pinPris(keys: string, data: Signer, encrypter: Encrypter): void;
|
|
139
157
|
putPris(pubKey: string, signer: Signer, encrypter: Encrypter): boolean;
|
|
158
|
+
remPris(pubKey: string): void;
|
|
159
|
+
getPths(pubKey: string): PubPath | undefined;
|
|
160
|
+
putPths(pubKey: string, val: PubPath): boolean;
|
|
161
|
+
pinPths(pubKey: string, val: PubPath): boolean;
|
|
140
162
|
getPres(pre: string): Uint8Array | undefined;
|
|
141
163
|
putPres(pre: string, val: Uint8Array): boolean;
|
|
142
164
|
pinPres(pre: string, val: Uint8Array): boolean;
|
|
@@ -146,6 +168,5 @@ export interface KeyStore {
|
|
|
146
168
|
remSits(keys: string): boolean;
|
|
147
169
|
getPubs(keys: string): PubSet | undefined;
|
|
148
170
|
putPubs(keys: string, data: PubSet): boolean;
|
|
149
|
-
remPubs(keys: string): boolean;
|
|
150
171
|
}
|
|
151
172
|
export {};
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
export declare class
|
|
1
|
+
export declare class Codex {
|
|
2
|
+
has(prop: string): boolean;
|
|
3
|
+
}
|
|
4
|
+
export declare class MatterCodex extends Codex {
|
|
2
5
|
Ed25519_Seed: string;
|
|
3
6
|
Ed25519N: string;
|
|
4
7
|
X25519: string;
|
|
@@ -11,6 +14,24 @@ export declare class MatterCodex {
|
|
|
11
14
|
Ed25519_Sig: string;
|
|
12
15
|
}
|
|
13
16
|
export declare const MtrDex: MatterCodex;
|
|
17
|
+
export declare class NonTransCodex extends Codex {
|
|
18
|
+
Ed25519N: string;
|
|
19
|
+
ECDSA_256k1N: string;
|
|
20
|
+
Ed448N: string;
|
|
21
|
+
}
|
|
22
|
+
export declare const NonTransDex: NonTransCodex;
|
|
23
|
+
export declare class DigiCodex extends Codex {
|
|
24
|
+
Blake3_256: string;
|
|
25
|
+
Blake2b_256: string;
|
|
26
|
+
Blake2s_256: string;
|
|
27
|
+
SHA3_256: string;
|
|
28
|
+
SHA2_256: string;
|
|
29
|
+
Blake3_512: string;
|
|
30
|
+
Blake2b_512: string;
|
|
31
|
+
SHA3_512: string;
|
|
32
|
+
SHA2_512: string;
|
|
33
|
+
}
|
|
34
|
+
export declare const DigiDex: DigiCodex;
|
|
14
35
|
export declare class Sizage {
|
|
15
36
|
hs: number;
|
|
16
37
|
ss: number;
|
|
@@ -38,6 +59,7 @@ export declare class Matter {
|
|
|
38
59
|
get qb64(): string;
|
|
39
60
|
get qb64b(): Uint8Array;
|
|
40
61
|
get transferable(): boolean;
|
|
62
|
+
get digestive(): boolean;
|
|
41
63
|
static _rawSize(code: string): number;
|
|
42
64
|
static _leadSize(code: string): number;
|
|
43
65
|
get both(): string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Matter, MatterArgs } from "./matter";
|
|
2
|
+
import { Dict } from "./core";
|
|
3
|
+
export declare class Prefixer extends Matter {
|
|
4
|
+
private readonly _derive;
|
|
5
|
+
private readonly _verify;
|
|
6
|
+
constructor({ raw, code, qb64b, qb64, qb2 }: MatterArgs, ked?: Dict<any>);
|
|
7
|
+
derive(ked: Dict<any>): [Uint8Array, string];
|
|
8
|
+
verify(ked: Dict<any>, prefixed?: boolean): boolean;
|
|
9
|
+
static _derive_ed25519N(ked: Dict<any>): [Uint8Array, string];
|
|
10
|
+
static _derive_ed25519(ked: Dict<any>): [Uint8Array, string];
|
|
11
|
+
static _derive_blake3_256(ked: Dict<any>): [Uint8Array, string];
|
|
12
|
+
_verify_ed25519N(ked: Dict<any>, pre: string, prefixed?: boolean): boolean;
|
|
13
|
+
_verify_ed25519(ked: Dict<any>, pre: string, prefixed?: boolean): boolean;
|
|
14
|
+
_verify_blake3_256(ked: Dict<any>, pre: string, prefixed?: boolean): boolean;
|
|
15
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Matter, MatterArgs } from "./matter";
|
|
3
|
+
import { Dict, Serials } from "./core";
|
|
4
|
+
export declare enum Ids {
|
|
5
|
+
d = "d"
|
|
6
|
+
}
|
|
7
|
+
declare class Digestage {
|
|
8
|
+
klas: any;
|
|
9
|
+
size: number | undefined;
|
|
10
|
+
length: number | undefined;
|
|
11
|
+
constructor(klas: any, size?: number, length?: number);
|
|
12
|
+
}
|
|
13
|
+
export declare class Saider extends Matter {
|
|
14
|
+
static Digests: Map<string, Digestage>;
|
|
15
|
+
constructor({ raw, code, qb64b, qb64, qb2 }: MatterArgs, sad?: Dict<any>, kind?: Serials, label?: string);
|
|
16
|
+
static _derive_blake3_256(ser: Uint8Array, _digest_size: number, _length: number): Buffer;
|
|
17
|
+
private static _derive;
|
|
18
|
+
derive(sad: Dict<any>, code: string, kind: Serials | undefined, label: string): [Uint8Array, Dict<any>];
|
|
19
|
+
verify(sad: Dict<any>, prefixed?: boolean, versioned?: boolean, kind?: Serials, label?: string): boolean;
|
|
20
|
+
private static _serialze;
|
|
21
|
+
static saidify(sad: Dict<any>, code?: string, kind?: Serials, label?: string): [Saider, Dict<any>];
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Signer } from "./signer";
|
|
2
|
+
import { Matter } from './matter';
|
|
3
|
+
export declare const enum Tier {
|
|
4
|
+
low = "low",
|
|
5
|
+
med = "med",
|
|
6
|
+
high = "high"
|
|
7
|
+
}
|
|
8
|
+
interface SalterArgs {
|
|
9
|
+
raw?: Uint8Array | undefined;
|
|
10
|
+
code?: string;
|
|
11
|
+
tier?: Tier;
|
|
12
|
+
qb64b?: Uint8Array | undefined;
|
|
13
|
+
qb64?: string;
|
|
14
|
+
qb2?: Uint8Array | undefined;
|
|
15
|
+
}
|
|
16
|
+
export declare class Salter extends Matter {
|
|
17
|
+
private readonly _tier;
|
|
18
|
+
constructor({ raw, code, tier, qb64, qb64b, qb2 }: SalterArgs);
|
|
19
|
+
private stretch;
|
|
20
|
+
signer(code?: string, transferable?: boolean, path?: string, tier?: Tier | null, temp?: boolean): Signer;
|
|
21
|
+
get tier(): Tier | null;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Dict, Ident, Serials, Version } from "./core";
|
|
2
|
+
export declare class Serder {
|
|
3
|
+
private _kind;
|
|
4
|
+
private _raw;
|
|
5
|
+
private _ked;
|
|
6
|
+
private _ident;
|
|
7
|
+
private _size;
|
|
8
|
+
private _version;
|
|
9
|
+
private readonly _code;
|
|
10
|
+
constructor(ked: Dict<any>, kind?: Serials, code?: string);
|
|
11
|
+
set ked(ked: Dict<any>);
|
|
12
|
+
get ked(): Dict<any>;
|
|
13
|
+
get code(): string;
|
|
14
|
+
get raw(): string;
|
|
15
|
+
get kind(): Serials;
|
|
16
|
+
private _exhale;
|
|
17
|
+
get ident(): Ident;
|
|
18
|
+
get size(): number;
|
|
19
|
+
get version(): Version;
|
|
20
|
+
pretty(): string;
|
|
21
|
+
}
|
|
22
|
+
export declare function dumps(ked: Object, kind: Serials.JSON): string;
|
|
23
|
+
export declare function sizeify(ked: Dict<any>, kind?: Serials): [string, Ident, Serials, Dict<any>, Version];
|
|
@@ -16,7 +16,7 @@ import { Verfer } from "./verfer";
|
|
|
16
16
|
**/
|
|
17
17
|
export declare class Siger extends Indexer {
|
|
18
18
|
private _verfer?;
|
|
19
|
-
constructor({ raw, code, qb64, qb64b, qb2 }: IndexerArgs, verfer?: Verfer);
|
|
19
|
+
constructor({ raw, code, index, ondex, qb64, qb64b, qb2 }: IndexerArgs, verfer?: Verfer);
|
|
20
20
|
get verfer(): Verfer | undefined;
|
|
21
21
|
set verfer(verfer: Verfer | undefined);
|
|
22
22
|
}
|
|
@@ -29,6 +29,6 @@ export declare class Signer extends Matter {
|
|
|
29
29
|
Assumes ._verfer is correctly assigned
|
|
30
30
|
*/
|
|
31
31
|
get verfer(): Verfer;
|
|
32
|
-
sign(ser: Uint8Array, index?: number | null, only?: boolean, ondex?: number | undefined):
|
|
33
|
-
_ed25519(ser: Uint8Array, seed: Uint8Array, verfer: Verfer, index: number | null, only: boolean | undefined, ondex: number | undefined):
|
|
32
|
+
sign(ser: Uint8Array, index?: number | null, only?: boolean, ondex?: number | undefined): Siger | Cigar;
|
|
33
|
+
_ed25519(ser: Uint8Array, seed: Uint8Array, verfer: Verfer, index: number | null, only: boolean | undefined, ondex: number | undefined): Siger | Cigar;
|
|
34
34
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare class Tholder {
|
|
2
|
+
private _weighted;
|
|
3
|
+
private _thold;
|
|
4
|
+
private _size;
|
|
5
|
+
private _sith;
|
|
6
|
+
private _limen;
|
|
7
|
+
constructor(sith: string | number | Array<string>);
|
|
8
|
+
get num(): number | undefined;
|
|
9
|
+
get size(): number;
|
|
10
|
+
get thold(): number;
|
|
11
|
+
get weighted(): boolean;
|
|
12
|
+
get sith(): string;
|
|
13
|
+
private processSith;
|
|
14
|
+
}
|
|
@@ -13,4 +13,5 @@ export declare function arrayEquals(ar1: Uint8Array, ar2: Uint8Array): boolean;
|
|
|
13
13
|
|
|
14
14
|
* @param {*} obj
|
|
15
15
|
*/
|
|
16
|
-
export declare function
|
|
16
|
+
export declare function nowUTC(): Date;
|
|
17
|
+
export declare function range(start: number, stop: number, step: number): number[];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
import { Matter, MatterArgs } from './matter';
|
|
3
|
+
/**
|
|
4
|
+
* @description Verfer :sublclass of Matter,helps to verify signature of serialization
|
|
5
|
+
* using .raw as verifier key and .code as signature cypher suite
|
|
6
|
+
*/
|
|
7
|
+
export declare class Verfer extends Matter {
|
|
8
|
+
private readonly _verify;
|
|
9
|
+
constructor({ raw, code, qb64, qb64b, qb2 }: MatterArgs);
|
|
10
|
+
verify(sig: any, ser: any): boolean;
|
|
11
|
+
_ed25519(sig: any, ser: any, key: any): boolean;
|
|
12
|
+
}
|