@mainsail/contracts 0.0.1-evm.41 → 0.0.1-evm.43

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.
@@ -1,7 +1,12 @@
1
1
  import type { CommitHandler } from "./crypto/commit-handler.js";
2
+ import type { Logger as MainLogger, LoggerContext } from "./kernel/index.js";
2
3
  export interface Service extends CommitHandler {
3
4
  bootstrap(): Promise<void>;
4
5
  beforeCommit(): Promise<void>;
5
6
  getLastSyncedBlockHeight(): Promise<number>;
6
7
  }
8
+ export interface Logger extends Omit<MainLogger, "dispose" | "suppressConsoleOutput"> {
9
+ warnExtra(message: string, context?: LoggerContext): void;
10
+ debugExtra(message: string, context?: LoggerContext): void;
11
+ }
7
12
  //# sourceMappingURL=api-sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-sync.d.ts","sourceRoot":"","sources":["../../source/contracts/api-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,WAAW,OAAQ,SAAQ,aAAa;IAC7C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C"}
1
+ {"version":3,"file":"api-sync.d.ts","sourceRoot":"","sources":["../../source/contracts/api-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE7E,MAAM,WAAW,OAAQ,SAAQ,aAAa;IAC7C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,MAAO,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,uBAAuB,CAAC;IACpF,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC1D,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CAC3D"}
@@ -1,4 +1,4 @@
1
- import type { AggregatedSignature, Commit, Precommit, Prevote, Proposal } from "../crypto/index.js";
1
+ import type { AggregatedSignature, Commit, Message, MessageType, Proposal } from "../crypto/index.js";
2
2
  import type { ProcessableUnit } from "../processor/index.js";
3
3
  import type { ValidatorWallet } from "../state/index.js";
4
4
  import type { Step } from "./enums.js";
@@ -10,18 +10,22 @@ export interface RoundState extends ProcessableUnit {
10
10
  hasPrevote(validatorIndex: number): boolean;
11
11
  hasPrecommit(validatorIndex: number): boolean;
12
12
  addProposal(proposal: Proposal): void;
13
- addPrevote(prevote: Prevote): void;
14
- addPrecommit(precommit: Precommit): void;
13
+ addPrevote(prevote: Message): void;
14
+ addPrecommit(precommit: Message): void;
15
+ hasMessage(message: Message): boolean;
16
+ getMessage(validatorIndex: number, type: MessageType): Message | undefined;
17
+ addMessage(message: Message): void;
15
18
  hasMajorityPrevotes(): boolean;
16
19
  hasMajorityPrevotesAny(): boolean;
17
20
  hasMajorityPrevotesNull(): boolean;
18
21
  hasMajorityPrecommits(): boolean;
19
22
  hasMajorityPrecommitsAny(): boolean;
20
23
  hasMinorityPrevotesOrPrecommits(): boolean;
21
- getPrevote(validatorIndex: number): Prevote | undefined;
22
- getPrecommit(validatorIndex: number): Precommit | undefined;
23
- getPrevotes(): Prevote[];
24
- getPrecommits(): Precommit[];
24
+ getPrevote(validatorIndex: number): Message | undefined;
25
+ getPrecommit(validatorIndex: number): Message | undefined;
26
+ getPrevotes(): Message[];
27
+ getPrecommits(): Message[];
28
+ getMessages(): Message[];
25
29
  getValidator(consensusPublicKey: string): ValidatorWallet;
26
30
  getValidatorsSignedPrevote(): readonly boolean[];
27
31
  getValidatorsSignedPrecommit(): readonly boolean[];
@@ -1 +1 @@
1
- {"version":3,"file":"consensus.d.ts","sourceRoot":"","sources":["../../../source/contracts/consensus/consensus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consensus.d.ts","sourceRoot":"","sources":["../../../source/contracts/consensus/consensus.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,11 @@
1
- import type { Commit, Precommit, Prevote, Proposal } from "../crypto/index.js";
1
+ import type { Commit, Message, Proposal } from "../crypto/index.js";
2
2
  import type { ProcessorResult } from "./enums.js";
3
3
  export interface ProposalProcessor {
4
4
  process(proposal: Proposal, broadcast?: boolean): Promise<ProcessorResult>;
5
5
  hasValidLockProof(proposal: Proposal): Promise<boolean>;
6
6
  }
7
- export interface PrevoteProcessor {
8
- process(prevote: Prevote, broadcast?: boolean): Promise<ProcessorResult>;
9
- }
10
- export interface PrecommitProcessor {
11
- process(prevote: Precommit, broadcast?: boolean): Promise<ProcessorResult>;
7
+ export interface MessageProcessor {
8
+ process(message: Message, broadcast?: boolean): Promise<ProcessorResult>;
12
9
  }
13
10
  export interface CommitProcessor {
14
11
  process(commit: Commit, broadcast?: boolean): Promise<ProcessorResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../../source/contracts/consensus/processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,iBAAiB;IACjC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3E,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,gBAAgB;IAChC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,kBAAkB;IAClC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACvE,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpD"}
1
+ {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../../source/contracts/consensus/processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,iBAAiB;IACjC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3E,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,gBAAgB;IAChC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACvE,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpD"}
@@ -1,15 +1,13 @@
1
1
  import type { State, StateData } from "./consensus/index.js";
2
- import type { Precommit, Prevote, Proposal } from "./crypto/index.js";
2
+ import type { Message, Proposal } from "./crypto/index.js";
3
3
  export interface Service {
4
- persist({ state, proposals, precommits, prevotes, }: {
4
+ persist({ state, proposals, messages, }: {
5
5
  state: State;
6
6
  proposals: Proposal[];
7
- prevotes: Prevote[];
8
- precommits: Precommit[];
7
+ messages: Message[];
9
8
  }): Promise<void>;
10
9
  getState(): Promise<StateData | undefined>;
11
10
  getProposals(): Promise<Proposal[]>;
12
- getPrevotes(): Promise<Prevote[]>;
13
- getPrecommits(): Promise<Precommit[]>;
11
+ getMessages(): Promise<Message[]>;
14
12
  }
15
13
  //# sourceMappingURL=consensus-storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consensus-storage.d.ts","sourceRoot":"","sources":["../../source/contracts/consensus-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEtE,MAAM,WAAW,OAAO;IACvB,OAAO,CAAC,EACP,KAAK,EACL,SAAS,EACT,UAAU,EACV,QAAQ,GACR,EAAE;QACF,KAAK,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,QAAQ,EAAE,CAAC;QACtB,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,UAAU,EAAE,SAAS,EAAE,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,QAAQ,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAC3C,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpC,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAClC,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;CACtC"}
1
+ {"version":3,"file":"consensus-storage.d.ts","sourceRoot":"","sources":["../../source/contracts/consensus-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,WAAW,OAAO;IACvB,OAAO,CAAC,EACP,KAAK,EACL,SAAS,EACT,QAAQ,GACR,EAAE;QACF,KAAK,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,QAAQ,EAAE,CAAC;QACtB,QAAQ,EAAE,OAAO,EAAE,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,QAAQ,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAC3C,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpC,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CAClC"}
@@ -8,6 +8,7 @@ export * from "./identities.js";
8
8
  export * from "./legacy.js";
9
9
  export * from "./messages.js";
10
10
  export * from "./networks.js";
11
+ export * from "./proposal.js";
11
12
  export * from "./signatures.js";
12
13
  export * from "./transactions.js";
13
14
  export * from "./validator.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
@@ -1,51 +1,18 @@
1
1
  import type { Enums } from "@mainsail/constants";
2
- import type { Block, BlockHeader } from "./block.js";
3
2
  import type { KeyPair } from "./identities.js";
4
- import type { AggregatedSignature } from "./signatures.js";
5
3
  export type MessageType = Enums.Crypto.MessageType;
6
4
  export interface SignatureMessageData {
7
5
  readonly type: MessageType;
8
6
  readonly blockNumber: number;
9
7
  readonly round: number;
10
- readonly blockHash: string;
8
+ readonly blockHash?: string;
11
9
  }
12
10
  export type HasBlockHash = {
13
11
  blockHash: string;
14
12
  };
15
13
  export type WithoutBlockHash<T> = Omit<T, "blockHash">;
16
14
  export type WithOptionalBlockHash<T extends HasBlockHash> = WithoutBlockHash<T> & Partial<Pick<T, "blockHash">>;
17
- export type SignaturePrevoteData = WithOptionalBlockHash<SignatureMessageData>;
18
- export type SignaturePrecommitData = WithOptionalBlockHash<SignatureMessageData>;
19
- export interface ProposalData {
20
- readonly blockHeader: BlockHeader;
21
- readonly lockProof?: AggregatedSignature;
22
- readonly round: number;
23
- readonly data: {
24
- serialized: string;
25
- };
26
- readonly validatorIndex: number;
27
- readonly validRound?: number;
28
- readonly signature: string;
29
- }
30
- export interface SerializableProposalData {
31
- readonly round: number;
32
- readonly validRound?: number;
33
- readonly data: {
34
- serialized: string;
35
- };
36
- readonly validatorIndex: number;
37
- readonly signature?: string;
38
- }
39
- export interface Proposal extends Omit<ProposalData, "data"> {
40
- isDataDeserialized: boolean;
41
- readonly serialized: Buffer;
42
- deserializeData(): Promise<void>;
43
- getData(): ProposedData;
44
- toSerializableData(): SerializableProposalData;
45
- toData(): ProposalData;
46
- toString(): string;
47
- }
48
- export interface PrevoteData {
15
+ export interface MessageData {
49
16
  readonly type: MessageType;
50
17
  readonly blockNumber: number;
51
18
  readonly round: number;
@@ -53,68 +20,28 @@ export interface PrevoteData {
53
20
  readonly validatorIndex: number;
54
21
  readonly signature: string;
55
22
  }
56
- export interface Prevote extends PrevoteData {
23
+ export interface Message extends MessageData {
57
24
  readonly serialized: Buffer;
58
- toSignatureData(): SignaturePrevoteData;
25
+ toSignatureData(): SignatureMessageData;
59
26
  toString(): string;
60
27
  }
61
- export interface PrecommitData {
62
- readonly type: MessageType;
63
- readonly blockNumber: number;
64
- readonly round: number;
65
- readonly blockHash?: string;
66
- readonly validatorIndex: number;
67
- readonly signature: string;
68
- }
69
- export interface Precommit extends PrecommitData {
70
- readonly serialized: Buffer;
71
- toSignatureData(): SignaturePrecommitData;
72
- toString(): string;
73
- }
74
- export interface ProposedData {
75
- readonly block: Block;
76
- readonly lockProof?: AggregatedSignature;
77
- readonly serialized: string;
78
- }
79
- export type ProposedBlockSerializable = Omit<ProposedData, "serialized">;
80
- export interface SerializeProposalOptions {
81
- includeSignature?: boolean;
82
- }
83
28
  export type HasSignature = {
84
29
  signature: string;
85
30
  };
86
31
  export type WithoutSignature<T> = Omit<T, "signature">;
87
32
  export type OptionalSignature<T extends HasSignature> = WithoutSignature<T> & Partial<Pick<T, "signature">>;
88
- export type MakeProposalData = WithoutSignature<SerializableProposalData>;
89
- export type MakePrevoteData = WithoutSignature<PrevoteData>;
90
- export type MakePrecommitData = WithoutSignature<PrecommitData>;
33
+ export type MakeMessageData = WithoutSignature<MessageData>;
91
34
  export interface MessageFactory {
92
- makeProposal(data: MakeProposalData, keyPair: KeyPair): Promise<Proposal>;
93
- makeProposalFromBytes(data: Buffer): Promise<Proposal>;
94
- makeProposalFromData(data: ProposalData): Promise<Proposal>;
95
- makeProposedDataFromBytes(data: Buffer): Promise<ProposedData>;
96
- makePrevote(data: MakePrevoteData, keyPair: KeyPair): Promise<Prevote>;
97
- makePrevoteFromBytes(data: Buffer): Promise<Prevote>;
98
- makePrevoteFromData(data: PrevoteData): Promise<Prevote>;
99
- makePrecommit(data: MakePrecommitData, keyPair: KeyPair): Promise<Precommit>;
100
- makePrecommitFromBytes(data: Buffer): Promise<Precommit>;
101
- makePrecommitFromData(data: PrecommitData): Promise<Precommit>;
35
+ makeMessage(data: MakeMessageData, keyPair: KeyPair): Promise<Message>;
36
+ makeMessageFromBytes(data: Buffer): Promise<Message>;
37
+ makeMessageFromData(data: MessageData): Promise<Message>;
102
38
  }
103
39
  export interface MessageSerializer {
104
- serializeProposal(proposal: SerializableProposalData, options: SerializeProposalOptions): Promise<Buffer>;
105
- serializePrevote(prevote: PrevoteData): Promise<Buffer>;
106
- serializePrevoteForSignature(prevote: SignaturePrevoteData): Promise<Buffer>;
107
- serializePrecommit(precommit: PrecommitData): Promise<Buffer>;
108
- serializePrecommitForSignature(precommit: SignaturePrecommitData): Promise<Buffer>;
109
- serializeProposed(proposedBlock: ProposedBlockSerializable): Promise<Buffer>;
110
- serializeLockProof(proof: AggregatedSignature): Promise<Buffer>;
111
- lockProofSize(): number;
40
+ serializeMessage(message: MessageData): Promise<Buffer>;
41
+ serializeMessageForSignature(message: SignatureMessageData): Promise<Buffer>;
112
42
  }
113
43
  export interface MessageDeserializer {
114
- deserializeProposal(serialized: Buffer): Promise<ProposalData>;
115
- deserializePrevote(serialized: Buffer): Promise<PrevoteData>;
116
- deserializePrecommit(serialized: Buffer): Promise<PrecommitData>;
117
- deserializeLockProof(serialized: Buffer): Promise<AggregatedSignature>;
44
+ deserializeMessage(serialized: Buffer): Promise<MessageData>;
118
45
  }
119
46
  export interface MessageVerificationResult {
120
47
  readonly verified: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;AAEnD,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AACjD,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AACvD,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,YAAY,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;AAEhH,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,OAAQ,SAAQ,WAAW;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,eAAe,IAAI,oBAAoB,CAAC;IACxC,QAAQ,IAAI,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AACjD,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AACvD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,YAAY,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;AAC5G,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC9B,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,iBAAiB;IACjC,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,4BAA4B,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,mBAAmB;IACnC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,yBAAyB;IACzC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;CAC1B"}
@@ -0,0 +1,60 @@
1
+ import type { Block, BlockHeader } from "./block.js";
2
+ import type { KeyPair } from "./identities.js";
3
+ import type { AggregatedSignature } from "./signatures.js";
4
+ type WithoutSignature<T> = Omit<T, "signature">;
5
+ export type MakeProposalData = WithoutSignature<SerializableProposalData>;
6
+ export interface ProposalData {
7
+ readonly blockHeader: BlockHeader;
8
+ readonly lockProof?: AggregatedSignature;
9
+ readonly round: number;
10
+ readonly data: {
11
+ serialized: string;
12
+ };
13
+ readonly validatorIndex: number;
14
+ readonly validRound?: number;
15
+ readonly signature: string;
16
+ }
17
+ export interface SerializableProposalData {
18
+ readonly round: number;
19
+ readonly validRound?: number;
20
+ readonly data: {
21
+ serialized: string;
22
+ };
23
+ readonly validatorIndex: number;
24
+ readonly signature?: string;
25
+ }
26
+ export interface ProposedData {
27
+ readonly block: Block;
28
+ readonly lockProof?: AggregatedSignature;
29
+ readonly serialized: string;
30
+ }
31
+ export type ProposedBlockSerializable = Omit<ProposedData, "serialized">;
32
+ export interface Proposal extends Omit<ProposalData, "data"> {
33
+ isDataDeserialized: boolean;
34
+ readonly serialized: Buffer;
35
+ deserializeData(): Promise<void>;
36
+ getData(): ProposedData;
37
+ toSerializableData(): SerializableProposalData;
38
+ toData(): ProposalData;
39
+ toString(): string;
40
+ }
41
+ export interface ProposalFactory {
42
+ makeProposal(data: MakeProposalData, keyPair: KeyPair): Promise<Proposal>;
43
+ makeProposalFromBytes(data: Buffer): Promise<Proposal>;
44
+ makeProposalFromData(data: ProposalData): Promise<Proposal>;
45
+ makeProposedDataFromBytes(data: Buffer): Promise<ProposedData>;
46
+ }
47
+ export interface SerializeProposalOptions {
48
+ includeSignature?: boolean;
49
+ }
50
+ export interface ProposalSerializer {
51
+ serializeProposal(proposal: SerializableProposalData, options: SerializeProposalOptions): Promise<Buffer>;
52
+ serializeProposed(proposedBlock: ProposedBlockSerializable): Promise<Buffer>;
53
+ serializeLockProof(proof: AggregatedSignature): Promise<Buffer>;
54
+ }
55
+ export interface ProposalDeserializer {
56
+ deserializeProposal(serialized: Buffer): Promise<ProposalData>;
57
+ deserializeLockProof(serialized: Buffer): Promise<AggregatedSignature>;
58
+ }
59
+ export {};
60
+ //# sourceMappingURL=proposal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposal.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/proposal.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import type { Precommit, Prevote, Proposal } from "../crypto/index.js";
1
+ import type { Message, Proposal } from "../crypto/index.js";
2
2
  export interface Broadcaster {
3
3
  broadcastProposal(proposal: Proposal): Promise<void>;
4
- broadcastPrevote(prevote: Prevote): Promise<void>;
5
- broadcastPrecommit(precommit: Precommit): Promise<void>;
4
+ broadcastMessage(message: Message): Promise<void>;
6
5
  }
7
6
  //# sourceMappingURL=broadcaster.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"broadcaster.d.ts","sourceRoot":"","sources":["../../../source/contracts/p2p/broadcaster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,WAAW,WAAW;IAC3B,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD"}
1
+ {"version":3,"file":"broadcaster.d.ts","sourceRoot":"","sources":["../../../source/contracts/p2p/broadcaster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC3B,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD"}
@@ -60,20 +60,13 @@ export interface GetApiNodesResponse extends Response {
60
60
  export interface GetProposalResponse extends Response {
61
61
  proposal: Buffer;
62
62
  }
63
- export interface PostPrecommitRequest extends Request {
63
+ export interface PostMessageRequest extends Request {
64
64
  payload: {
65
65
  headers: HeaderData;
66
- precommit: Buffer;
66
+ message: Buffer;
67
67
  };
68
68
  }
69
- export type PostPrecommitResponse = Response;
70
- export interface PostPrevoteRequest extends Request {
71
- payload: {
72
- headers: HeaderData;
73
- prevote: Buffer;
74
- };
75
- }
76
- export type PostPrevoteResponse = Response;
69
+ export type PostMessageResponse = Response;
77
70
  export interface PostProposalRequest extends Request {
78
71
  payload: {
79
72
  headers: HeaderData;
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../source/contracts/p2p/endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAEnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,WAAW,OAAQ,SAAQ,IAAI,CAAC,OAAO;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACR,OAAO,EAAE,UAAU,CAAC;KACpB,CAAC;CACF;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,aAAa;IACpE,IAAI,EAAE,CAAC,CAAC;CACR;AAED,MAAM,WAAW,QAAQ;IACxB,OAAO,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAChD,OAAO,EAAE;QACR,OAAO,EAAE,UAAU,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;CACF;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IAClD,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IAClD,OAAO,EAAE;QACR,OAAO,EAAE,UAAU,CAAC;KACpB,CAAC;CACF;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACpD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IACjD,KAAK,EAAE,aAAa,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IAClD,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IAClD,OAAO,EAAE;QACR,OAAO,EAAE,UAAU,CAAC;KACpB,CAAC;CACF;AAED,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IAClD,OAAO,EAAE;QACR,OAAO,EAAE,UAAU,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;CACF;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACpD,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACpD,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACpD,OAAO,EAAE;QACR,OAAO,EAAE,UAAU,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;CACF;AAED,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;AAE7C,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IAClD,OAAO,EAAE;QACR,OAAO,EAAE,UAAU,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;CACF;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAE3C,MAAM,WAAW,mBAAoB,SAAQ,OAAO;IACnD,OAAO,EAAE;QACR,OAAO,EAAE,UAAU,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KACjB,CAAC;CACF;AAED,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../source/contracts/p2p/endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAEnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,WAAW,OAAQ,SAAQ,IAAI,CAAC,OAAO;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACR,OAAO,EAAE,UAAU,CAAC;KACpB,CAAC;CACF;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,aAAa;IACpE,IAAI,EAAE,CAAC,CAAC;CACR;AAED,MAAM,WAAW,QAAQ;IACxB,OAAO,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAChD,OAAO,EAAE;QACR,OAAO,EAAE,UAAU,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;CACF;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IAClD,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IAClD,OAAO,EAAE;QACR,OAAO,EAAE,UAAU,CAAC;KACpB,CAAC;CACF;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACpD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IACjD,KAAK,EAAE,aAAa,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IAClD,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IAClD,OAAO,EAAE;QACR,OAAO,EAAE,UAAU,CAAC;KACpB,CAAC;CACF;AAED,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IAClD,OAAO,EAAE;QACR,OAAO,EAAE,UAAU,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;CACF;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACpD,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACpD,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IAClD,OAAO,EAAE;QACR,OAAO,EAAE,UAAU,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;CACF;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAE3C,MAAM,WAAW,mBAAoB,SAAQ,OAAO;IACnD,OAAO,EAAE;QACR,OAAO,EAAE,UAAU,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KACjB,CAAC;CACF;AAED,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Proposal } from "../crypto/messages.js";
1
+ import type { Proposal } from "../crypto/proposal.js";
2
2
  export type HeaderData = {
3
3
  version: string;
4
4
  blockNumber: number;
@@ -5,8 +5,7 @@ export type EmitOptions = {
5
5
  };
6
6
  export interface PeerCommunicator {
7
7
  postProposal(peer: Peer, proposal: Buffer): Promise<void>;
8
- postPrevote(peer: Peer, prevote: Buffer): Promise<void>;
9
- postPrecommit(peer: Peer, prevote: Buffer): Promise<void>;
8
+ postMessage(peer: Peer, message: Buffer): Promise<void>;
10
9
  pingPorts(peer: Peer): Promise<void>;
11
10
  getPeers(peer: Peer): Promise<GetPeersResponse>;
12
11
  getApiNodes(peer: Peer): Promise<GetApiNodesResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"peer-communicator.d.ts","sourceRoot":"","sources":["../../../source/contracts/p2p/peer-communicator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAChC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChD,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtD,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtD,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtD,SAAS,CACR,IAAI,EAAE,IAAI,EACV,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EACvE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAClF"}
1
+ {"version":3,"file":"peer-communicator.d.ts","sourceRoot":"","sources":["../../../source/contracts/p2p/peer-communicator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAChC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChD,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtD,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtD,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtD,SAAS,CACR,IAAI,EAAE,IAAI,EACV,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EACvE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAClF"}
@@ -1,4 +1,4 @@
1
- import type { AggregatedSignature, Block, KeyPair, Precommit, Prevote, Proposal } from "./crypto/index.js";
1
+ import type { AggregatedSignature, Block, KeyPair, Message, Proposal } from "./crypto/index.js";
2
2
  export interface ValidatorKeyPair {
3
3
  readonly publicKey: string;
4
4
  getKeyPair(): Promise<KeyPair>;
@@ -8,8 +8,8 @@ export interface Validator {
8
8
  getConsensusPublicKey(): string;
9
9
  prepareBlock(generatorAddress: string, round: number, timestamp: number): Promise<Block>;
10
10
  propose(validatorIndex: number, round: number, validRound: number | undefined, block: Block, lockProof?: AggregatedSignature): Promise<Proposal>;
11
- prevote(validatorIndex: number, blockHeight: number, round: number, blockHash: string | undefined): Promise<Prevote>;
12
- precommit(validatorIndex: number, blockHeight: number, round: number, blockHash: string | undefined): Promise<Precommit>;
11
+ prevote(validatorIndex: number, blockHeight: number, round: number, blockHash: string | undefined): Promise<Message>;
12
+ precommit(validatorIndex: number, blockHeight: number, round: number, blockHash: string | undefined): Promise<Message>;
13
13
  }
14
14
  export interface ValidatorRepository {
15
15
  getValidator(publicKey: string): Validator | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../source/contracts/validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE3G,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACzB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAChD,qBAAqB,IAAI,MAAM,CAAC;IAChC,YAAY,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzF,OAAO,CACN,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,KAAK,EAAE,KAAK,EACZ,SAAS,CAAC,EAAE,mBAAmB,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB,OAAO,CACN,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,SAAS,CACR,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,SAAS,CAAC,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IACnC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACvD,qBAAqB,IAAI,IAAI,CAAC;CAC9B"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../source/contracts/validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEhG,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACzB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAChD,qBAAqB,IAAI,MAAM,CAAC;IAChC,YAAY,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzF,OAAO,CACN,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,KAAK,EAAE,KAAK,EACZ,SAAS,CAAC,EAAE,mBAAmB,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB,OAAO,CACN,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,SAAS,CACR,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,OAAO,CAAC,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IACnC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACvD,qBAAqB,IAAI,IAAI,CAAC;CAC9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mainsail/contracts",
3
- "version": "0.0.1-evm.41",
3
+ "version": "0.0.1-evm.43",
4
4
  "description": "Contracts for the Mainsail blockchain",
5
5
  "license": "GPL-3.0-only",
6
6
  "contributors": [],
@@ -18,8 +18,8 @@
18
18
  "joi": "18.0.0",
19
19
  "type-fest": "4.41.0",
20
20
  "viem": "2.33.1",
21
- "@mainsail/constants": "0.0.1-evm.41",
22
- "@mainsail/utils": "0.0.1-evm.41"
21
+ "@mainsail/constants": "0.0.1-evm.43",
22
+ "@mainsail/utils": "0.0.1-evm.43"
23
23
  },
24
24
  "devDependencies": {
25
25
  "uvu": "0.5.6"