Skip to content

Commit 67cc8d0

Browse files
Vu Van DucVu Van Duc
authored andcommitted
chore: update type
1 parent 03cad8d commit 67cc8d0

File tree

12 files changed

+63
-59
lines changed

12 files changed

+63
-59
lines changed

src/keri/app/aiding.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { b, Ilks, Serials, Vrsn_1_0 } from '../core/core.ts';
2-
import { incept, interact, reply, ReplyData, rotate } from '../core/eventing.ts';
2+
import { incept, interact, reply, EndRoleAddAttributes, rotate } from '../core/eventing.ts';
33
import { parseRangeHeaders } from '../core/httping.ts';
44
import { IdentifierManagerFactory } from '../core/keeping.ts';
55
import { HabState } from '../core/keyState.ts';
@@ -472,7 +472,7 @@ export class Identifier {
472472
eid?: string,
473473
stamp?: string
474474
): Serder {
475-
const data: ReplyData = {
475+
const data: EndRoleAddAttributes = {
476476
cid: pre,
477477
role: role,
478478
};

src/keri/app/clienting.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,14 +172,14 @@ export class SignifyClient {
172172
async fetch(
173173
path: string,
174174
method: string,
175-
data: Record<string, unknown> | null | undefined,
175+
data: unknown | null | undefined,
176176
extraHeaders?: Headers
177177
): Promise<Response> {
178178
const headers = new Headers();
179179
let signed_headers = new Headers();
180180
const final_headers = new Headers();
181181

182-
headers.set('Signify-Resource', this.controller.pre!);
182+
headers.set('Signify-Resource', this.controller.pre);
183183
headers.set(
184184
HEADER_SIG_TIME,
185185
new Date().toISOString().replace('Z', '000+00:00')

src/keri/app/controller.ts

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
import { SaltyCreator } from '../core/manager.ts';
2-
import { Salter, Tier } from '../core/salter.ts';
3-
import { MtrDex } from '../core/matter.ts';
1+
import { Cipher } from '../core/cipher.ts';
2+
import { b, Ilks, Serials, Vrsn_1_0 } from '../core/core.ts';
3+
import { Decrypter } from '../core/decrypter.ts';
44
import { Diger } from '../core/diger.ts';
5-
import { incept, rotate, interact } from '../core/eventing.ts';
6-
import { Serder, SerderSAD } from '../core/serder.ts';
7-
import { Tholder } from '../core/tholder.ts';
8-
import { Ilks, b, Serials, Vrsn_1_0 } from '../core/core.ts';
9-
import { Verfer } from '../core/verfer.ts';
105
import { Encrypter } from '../core/encrypter.ts';
11-
import { Decrypter } from '../core/decrypter.ts';
12-
import { Cipher } from '../core/cipher.ts';
13-
import { Seqner } from '../core/seqner.ts';
6+
import { incept, InceptEventSAD, interact, InteractEventSAD, rotate } from '../core/eventing.ts';
7+
import { SaltyCreator } from '../core/manager.ts';
8+
import { MtrDex } from '../core/matter.ts';
149
import { CesrNumber } from '../core/number.ts';
10+
import { Salter, Tier } from '../core/salter.ts';
11+
import { Seqner } from '../core/seqner.ts';
12+
import { Serder } from '../core/serder.ts';
1513
import { Signer } from '../core/signer.ts';
14+
import { Tholder } from '../core/tholder.ts';
15+
import { Verfer } from '../core/verfer.ts';
1616

1717
/**
1818
* Agent is a custodial entity that can be used in conjuntion with a local Client to establish the
@@ -129,7 +129,7 @@ export class Controller {
129129
/**
130130
* Either the current establishment event, inception or rotation, or the interaction event used for delegation approval.
131131
*/
132-
public serder: Serder;
132+
public serder: Serder<InteractEventSAD | InceptEventSAD>;
133133
/**
134134
* Current public keys formatted in fully-qualified Base64.
135135
* @private
@@ -232,7 +232,7 @@ export class Controller {
232232
const sn =
233233
new CesrNumber({}, undefined, String(this.serder.sad['s'])).num + 1;
234234
this.serder = interact({
235-
pre: this.serder.pre!,
235+
pre: this.serder.pre,
236236
dig: this.serder.sad['d']!,
237237
sn: sn,
238238
data: [anchor],
@@ -242,7 +242,7 @@ export class Controller {
242242
return [this.signer.sign(this.serder.raw, 0).qb64];
243243
}
244244

245-
get pre(): string | undefined {
245+
get pre(): string {
246246
return this.serder.pre;
247247
}
248248

@@ -270,7 +270,7 @@ export class Controller {
270270
return new Serder({
271271
sad: state.controller['ee'],
272272
d: '',
273-
} as SerderSAD);
273+
});
274274
}
275275
}
276276

src/keri/app/credentialing.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,7 @@ export class Credentials {
497497

498498
return {
499499
rev: new Serder(rev),
500-
anc: new Serder(ixn || {}),
500+
anc: new Serder(ixn),
501501
op,
502502
};
503503
}

src/keri/app/delegating.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export class Delegations {
2020
*/
2121
async approve(
2222
name: string,
23-
data?: { i: string; s: string; d: string }
23+
data: { i: string; s: string; d: string }
2424
): Promise<EventResult> {
2525
const { serder, sigs, jsondata } = await this.client
2626
.identifiers()

src/keri/app/habery.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { incept } from '../core/eventing.ts';
33
import { Algos, Manager } from '../core/manager.ts';
44
import { MtrDex } from '../core/matter.ts';
55
import { Salter } from '../core/salter.ts';
6-
import { Serder } from '../core/serder.ts';
6+
import { Serder, SerderSAD } from '../core/serder.ts';
77
import { Verfer } from '../core/verfer.ts';
88

99
export class TraitCodex {
@@ -39,16 +39,16 @@ export interface MakeHabArgs {
3939
data?: any;
4040
}
4141

42-
export class Hab {
42+
export class Hab<T extends SerderSAD = SerderSAD> {
4343
public name: string;
44-
public serder: Serder;
44+
public serder: Serder<T>;
4545

46-
constructor(name: string, icp: Serder) {
46+
constructor(name: string, icp: Serder<T>) {
4747
this.name = name;
4848
this.serder = icp;
4949
}
5050

51-
get pre(): string | undefined {
51+
get pre(): T['i'] {
5252
return this.serder.sad['i'];
5353
}
5454
}

src/keri/core/authing.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@ export class Authenticater {
4242
inputs.forEach((input) => {
4343
const items = new Array<string>();
4444
input.fields!.forEach((field) => {
45-
if (typeof field !== 'string') return;
45+
if (typeof field !== 'string') {
46+
throw new Error("Invalid siginput field type");
47+
}
4648

4749
if (field.startsWith('@')) {
4850
if (field == '@method') {

src/keri/core/eventing.ts

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { components } from '../../types/keria-api-schema.ts';
12
import { Cigar } from './cigar.ts';
23
import {
34
b,
@@ -42,9 +43,9 @@ export interface RotateArgs {
4243
intive?: boolean;
4344
}
4445

45-
export interface ReplyData {
46-
cid?: string;
47-
role?: string;
46+
export interface EndRoleAddAttributes extends Record<string, unknown> {
47+
cid: string;
48+
role: string;
4849
eid?: string;
4950
}
5051

@@ -55,9 +56,9 @@ export interface RotateEventSAD extends BaseSAD, Record<string, unknown> {
5556
i: string;
5657
s: string;
5758
p?: string;
58-
kt: number | string | string[] | string[][];
59+
kt: string | string[] | string[][];
5960
k: string[];
60-
nt: number | string | string[] | string[][];
61+
nt: string | string[] | string[][];
6162
n: string[];
6263
bt: number | string;
6364
br?: string[];
@@ -81,11 +82,8 @@ export interface InceptEventSAD extends BaseSAD, Record<string, unknown> {
8182
a: Record<string, unknown>[];
8283
}
8384

84-
export interface InteractEventData {
85-
i: string;
86-
s: string;
87-
d: string;
88-
}
85+
export type InteractEventData = components['schemas']['Seal'];
86+
8987
export interface InteractEventSAD extends BaseSAD {
9088
i: string;
9189
t: string;
@@ -96,17 +94,13 @@ export interface InteractEventSAD extends BaseSAD {
9694
export interface ReplyEventSAD extends BaseSAD {
9795
t: string;
9896
dt: string;
99-
r: string;
100-
a: ReplyData;
101-
}
102-
103-
export interface SealData {
104-
i: string;
105-
s: string;
106-
d: string;
97+
r: '/end/role/add';
98+
a: EndRoleAddAttributes;
10799
}
108100

109-
export type Seal = [string, SealData];
101+
export type Seal<
102+
T extends components['schemas']['Seal'] = components['schemas']['Seal'],
103+
> = ['SealEvent', T];
110104

111105
export function rotate({
112106
pre = undefined,
@@ -624,15 +618,15 @@ export function interact(args: InteractArgs): Serder<InteractEventSAD> {
624618
}
625619

626620
export function reply(
627-
route: string = '',
628-
data: ReplyData | undefined,
621+
route: '/end/role/add',
622+
data: EndRoleAddAttributes | undefined,
629623
stamp: string | undefined,
630624
version: Version | undefined,
631625
kind: Serials = Serials.JSON
632626
) {
633627
const vs = versify(Protocols.KERI, version, kind, 0);
634628
if (data == undefined) {
635-
data = {};
629+
data = {} as EndRoleAddAttributes;
636630
}
637631
const _sad: ReplyEventSAD = {
638632
v: vs,

src/keri/core/prefixer.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ import { Verfer } from './verfer.ts';
88

99
const Dummy: string = '#';
1010

11-
export interface PrefixerSAD extends BaseSAD {
11+
export interface PrefixerSAD extends Omit<BaseSAD, "d"> {
12+
d?: string;
13+
t?: string;
14+
v: string;
1215
k?: string[];
1316
n?: string | string[];
1417
b?: string[];
@@ -157,7 +160,7 @@ export class Prefixer<T extends PrefixerSAD = PrefixerSAD> extends Matter {
157160

158161
sad['i'] = ''.padStart(Matter.Sizes.get(MtrDex.Blake3_256)!.fs!, Dummy);
159162
sad['d'] = sad['i'];
160-
const [raw] = sizeify(sad);
163+
const [raw] = sizeify(sad as BaseSAD);
161164
const dig = blake3.create({ dkLen: 32 }).update(raw).digest();
162165
return [dig, MtrDex.Blake3_256];
163166
}

src/keri/core/saider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export enum Ids {
1111
}
1212

1313
export interface BaseSAD extends Record<string, unknown> {
14-
d?: string;
14+
d: string;
1515
v?: string;
1616
t?: string;
1717
}

0 commit comments

Comments
 (0)