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.
Files changed (64) hide show
  1. package/README.md +48 -1
  2. package/dist/index.d.ts +3 -1
  3. package/dist/keri/app/accountant.d.ts +10 -0
  4. package/dist/keri/app/apping.d.ts +1 -0
  5. package/dist/keri/app/client.d.ts +7 -0
  6. package/dist/keri/app/habery.d.ts +47 -0
  7. package/dist/keri/app/signify.d.ts +6 -0
  8. package/dist/keri/core/authing.d.ts +9 -0
  9. package/dist/keri/core/cigar.d.ts +3 -3
  10. package/dist/keri/core/core.d.ts +19 -34
  11. package/dist/keri/core/counter.d.ts +43 -0
  12. package/dist/keri/core/eventing.d.ts +21 -0
  13. package/dist/keri/core/httping.d.ts +34 -0
  14. package/dist/keri/core/manager.d.ts +38 -17
  15. package/dist/keri/core/matter.d.ts +23 -1
  16. package/dist/keri/core/number.d.ts +6 -0
  17. package/dist/keri/core/prefixer.d.ts +15 -0
  18. package/dist/keri/core/saider.d.ts +23 -0
  19. package/dist/keri/core/salter.d.ts +23 -0
  20. package/dist/keri/core/serder.d.ts +23 -0
  21. package/dist/keri/core/siger.d.ts +1 -1
  22. package/dist/keri/core/signer.d.ts +2 -2
  23. package/dist/keri/core/tholder.d.ts +14 -0
  24. package/dist/keri/core/utils.d.ts +2 -1
  25. package/dist/keri/core/verfer.d.ts +12 -0
  26. package/dist/keri/end/ending.d.ts +13 -0
  27. package/dist/signify-ts.cjs.development.js +3380 -5
  28. package/dist/signify-ts.cjs.development.js.map +1 -1
  29. package/dist/signify-ts.cjs.production.min.js +1 -1
  30. package/dist/signify-ts.cjs.production.min.js.map +1 -1
  31. package/dist/signify-ts.esm.js +3365 -5
  32. package/dist/signify-ts.esm.js.map +1 -1
  33. package/package.json +4 -2
  34. package/src/index.ts +5 -6
  35. package/src/keri/app/accountant.ts +35 -0
  36. package/src/keri/app/apping.ts +12 -0
  37. package/src/keri/app/client.ts +30 -0
  38. package/src/keri/app/habery.ts +152 -0
  39. package/src/keri/app/signify.ts +12 -0
  40. package/src/keri/app/tsconfig.json +100 -0
  41. package/src/keri/core/authing.ts +129 -0
  42. package/src/keri/core/cigar.ts +4 -4
  43. package/src/keri/core/core.ts +53 -43
  44. package/src/keri/core/counter.ts +207 -0
  45. package/src/keri/core/diger.ts +5 -5
  46. package/src/keri/core/eventing.ts +219 -0
  47. package/src/keri/core/httping.ts +163 -0
  48. package/src/keri/core/indexer.ts +2 -1
  49. package/src/keri/core/keeping.ts +0 -1
  50. package/src/keri/core/manager.ts +238 -90
  51. package/src/keri/core/matter.ts +46 -11
  52. package/src/keri/core/number.ts +21 -0
  53. package/src/keri/core/prefixer.ts +212 -0
  54. package/src/keri/core/saider.ts +158 -0
  55. package/src/keri/core/salter.ts +9 -5
  56. package/src/keri/core/serder.ts +99 -0
  57. package/src/keri/core/siger.ts +2 -2
  58. package/src/keri/core/signer.ts +4 -3
  59. package/src/keri/core/tholder.ts +52 -0
  60. package/src/keri/core/tsconfig.json +2 -2
  61. package/src/keri/core/utils.ts +10 -6
  62. package/src/keri/core/verfer.ts +6 -5
  63. package/src/keri/end/ending.ts +160 -0
  64. 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 any salts used to generate the private keys. The encrypted private key and salts are then stored on a
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
@@ -1 +1,3 @@
1
- export declare const sum: (a: number, b: number) => number;
1
+ export * from './keri/core/salter';
2
+ export * from './keri/core/matter';
3
+ export * from './keri/app/habery';
@@ -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,7 @@
1
+ export declare class Client {
2
+ private readonly _url;
3
+ constructor(url: string);
4
+ url(path: string): string;
5
+ getAccount(name: string): Promise<Response>;
6
+ createAccount(name: string, key: string, ndig: string): Promise<Response>;
7
+ }
@@ -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,6 @@
1
+ export declare class Signify {
2
+ private readonly _hby?;
3
+ private readonly _act?;
4
+ private readonly _client?;
5
+ constructor(url: string, name: string, passcode: string);
6
+ }
@@ -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: 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
  }
@@ -1,25 +1,15 @@
1
- export declare const VERRAWSIZE = 6;
2
- export declare const Versionage: {
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
- export declare const Serialage: {
7
- json: string;
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
- * @description It will return version string
44
- */
45
- export declare function versify(version: {
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} vs version 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): (string | {
58
- major: number;
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 | undefined, l?: number): string;
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): Array<Signer>;
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): Array<Signer>;
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): Array<Signer>;
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[]): any;
56
- _makeRandy(): RandyCreator;
57
- _makeSalty(...args: any[]): SaltyCreator;
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?: string | undefined;
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: string | undefined);
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): (Verfer[] | Diger[])[];
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 MatterCodex {
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,6 @@
1
+ export declare class PNumber {
2
+ private readonly _num;
3
+ constructor(num?: number | string, numh?: string);
4
+ get num(): number;
5
+ get numh(): string;
6
+ }
@@ -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): any;
33
- _ed25519(ser: Uint8Array, seed: Uint8Array, verfer: Verfer, index: number | null, only: boolean | undefined, ondex: number | undefined): Cigar | Siger;
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 range(start: any, stop: any, step: any): any[];
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
+ }