@mainsail/contracts 0.0.1-evm.40 → 0.0.1-evm.42
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/distribution/contracts/api/rpc.d.ts +1 -0
- package/distribution/contracts/api/rpc.d.ts.map +1 -1
- package/distribution/contracts/api-sync.d.ts +5 -0
- package/distribution/contracts/api-sync.d.ts.map +1 -1
- package/distribution/contracts/consensus/consensus.d.ts +11 -7
- package/distribution/contracts/consensus/consensus.d.ts.map +1 -1
- package/distribution/contracts/consensus/processor.d.ts +3 -6
- package/distribution/contracts/consensus/processor.d.ts.map +1 -1
- package/distribution/contracts/consensus-storage.d.ts +4 -6
- package/distribution/contracts/consensus-storage.d.ts.map +1 -1
- package/distribution/contracts/crypto/index.d.ts +1 -0
- package/distribution/contracts/crypto/index.d.ts.map +1 -1
- package/distribution/contracts/crypto/messages.d.ts +11 -84
- package/distribution/contracts/crypto/messages.d.ts.map +1 -1
- package/distribution/contracts/crypto/proposal.d.ts +60 -0
- package/distribution/contracts/crypto/proposal.d.ts.map +1 -0
- package/distribution/contracts/p2p/broadcaster.d.ts +2 -3
- package/distribution/contracts/p2p/broadcaster.d.ts.map +1 -1
- package/distribution/contracts/p2p/endpoints.d.ts +3 -10
- package/distribution/contracts/p2p/endpoints.d.ts.map +1 -1
- package/distribution/contracts/p2p/header.d.ts +1 -1
- package/distribution/contracts/p2p/peer-communicator.d.ts +1 -2
- package/distribution/contracts/p2p/peer-communicator.d.ts.map +1 -1
- package/distribution/contracts/validator.d.ts +3 -3
- package/distribution/contracts/validator.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../source/contracts/api/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAExC,MAAM,MAAM,SAAS,GAAG;IACvB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,GAAG,KAAK,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;CAChF,CAAC;AAEF,MAAM,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAExC,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACxB,EAAE,EAAE,EAAE,CAAC;IACP,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACtB,EAAE,EAAE,EAAE,CAAC;IACP,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IACnB,EAAE,EAAE,EAAE,CAAC;IACP,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../source/contracts/api/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAExC,MAAM,MAAM,SAAS,GAAG;IACvB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,GAAG,KAAK,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;CAChF,CAAC;AAEF,MAAM,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAExC,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACxB,EAAE,EAAE,EAAE,CAAC;IACP,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACtB,EAAE,EAAE,EAAE,CAAC;IACP,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IACnB,EAAE,EAAE,EAAE,CAAC;IACP,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACF,CAAC;AAEF,MAAM,WAAW,MAAM,CAAC,WAAW,SAAS,OAAO,EAAE,GAAG,EAAE;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC"}
|
|
@@ -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;
|
|
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,
|
|
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:
|
|
14
|
-
addPrecommit(precommit:
|
|
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):
|
|
22
|
-
getPrecommit(validatorIndex: number):
|
|
23
|
-
getPrevotes():
|
|
24
|
-
getPrecommits():
|
|
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":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,
|
|
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,
|
|
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
|
|
8
|
-
process(
|
|
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,
|
|
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 {
|
|
2
|
+
import type { Message, Proposal } from "./crypto/index.js";
|
|
3
3
|
export interface Service {
|
|
4
|
-
persist({ state, proposals,
|
|
4
|
+
persist({ state, proposals, messages, }: {
|
|
5
5
|
state: State;
|
|
6
6
|
proposals: Proposal[];
|
|
7
|
-
|
|
8
|
-
precommits: Precommit[];
|
|
7
|
+
messages: Message[];
|
|
9
8
|
}): Promise<void>;
|
|
10
9
|
getState(): Promise<StateData | undefined>;
|
|
11
10
|
getProposals(): Promise<Proposal[]>;
|
|
12
|
-
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
23
|
+
export interface Message extends MessageData {
|
|
57
24
|
readonly serialized: Buffer;
|
|
58
|
-
toSignatureData():
|
|
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
|
|
89
|
-
export type MakePrevoteData = WithoutSignature<PrevoteData>;
|
|
90
|
-
export type MakePrecommitData = WithoutSignature<PrecommitData>;
|
|
33
|
+
export type MakeMessageData = WithoutSignature<MessageData>;
|
|
91
34
|
export interface MessageFactory {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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
|
-
|
|
105
|
-
|
|
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
|
-
|
|
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":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,KAAK,EAAE,
|
|
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":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,KAAK,gBAAgB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;AAE1E,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAEzE,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC;IAC3D,kBAAkB,EAAE,OAAO,CAAC;IAE5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,IAAI,YAAY,CAAC;IAExB,kBAAkB,IAAI,wBAAwB,CAAC;IAC/C,MAAM,IAAI,YAAY,CAAC;IACvB,QAAQ,IAAI,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC/B,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1E,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvD,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5D,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,wBAAwB;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IAClC,iBAAiB,CAAC,QAAQ,EAAE,wBAAwB,EAAE,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1G,iBAAiB,CAAC,aAAa,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7E,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,oBAAoB;IACpC,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/D,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACvE"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Message, Proposal } from "../crypto/index.js";
|
|
2
2
|
export interface Broadcaster {
|
|
3
3
|
broadcastProposal(proposal: Proposal): Promise<void>;
|
|
4
|
-
|
|
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,
|
|
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
|
|
63
|
+
export interface PostMessageRequest extends Request {
|
|
64
64
|
payload: {
|
|
65
65
|
headers: HeaderData;
|
|
66
|
-
|
|
66
|
+
message: Buffer;
|
|
67
67
|
};
|
|
68
68
|
}
|
|
69
|
-
export type
|
|
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,
|
|
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"}
|
|
@@ -5,8 +5,7 @@ export type EmitOptions = {
|
|
|
5
5
|
};
|
|
6
6
|
export interface PeerCommunicator {
|
|
7
7
|
postProposal(peer: Peer, proposal: Buffer): Promise<void>;
|
|
8
|
-
|
|
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;
|
|
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,
|
|
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<
|
|
12
|
-
precommit(validatorIndex: number, blockHeight: number, round: number, blockHash: string | undefined): Promise<
|
|
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,
|
|
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.
|
|
3
|
+
"version": "0.0.1-evm.42",
|
|
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/utils": "0.0.1-evm.
|
|
22
|
-
"@mainsail/constants": "0.0.1-evm.
|
|
21
|
+
"@mainsail/utils": "0.0.1-evm.42",
|
|
22
|
+
"@mainsail/constants": "0.0.1-evm.42"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"uvu": "0.5.6"
|